SQLServer数据库操作总结(sql语法的使用) -电脑资料最新5篇

网友 分享 时间:

【导言】此例“SQLServer数据库操作总结(sql语法的使用) -电脑资料最新5篇”的文档资料由阿拉题库网友为您分享整理,以供您学习参考之用,希望这篇资料对您有所帮助,喜欢就复制下载支持吧!

sqlserver的特点【第一篇】

1.真正的客户机/服务器体系结构。

2.图形化用户界面,使系统管理和数据库管理更加直观、简单。

3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。

Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。

5.具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。

6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。

Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。

SQL Server 2000与以前版本相比较,又具有以下新特性 :

1.支持XML(Extensive Markup Language,扩展标记语言)

2.强大的基于Web的分析

3.支持OLE DB和多种查询

4.支持分布式的分区视图

.4 创建基本表【第二篇】

表约束

类型:

主键(PRIMARY KEY)约束

惟一(UNIQUE)约束

外键(FOREIGN KEY)约束

检查(CHECK)约束

说明:非空和默认值也可看成是约束。

创建表约束的方法:新建表时,在单列后创建约束或者在所有列之后,再创建约束;如果表已存在,只能通过修改表,添加约束。

语法:

create table 表名

(字段名 类型[(长度)] [,……n])

操作:

CREATE TABLE Student(SNOCHAR(7)PRIMATY KEY,SNAMENCHAR(5)NOT NULL,SIDCHAR(18)UNIQUE,SEXNCHAR(1)DEFAULT 'MAN',SAGETINYINTCHECK (SAGE >= 15 AND SAGE <= 40)SDEPTNVARCHAR(20))CREATE TABLE Courseo CHAR(6)PRIMARY KEYameNVARCHAR(20) NOT NULL,creditNUMRIC(3,1)CHECK (credit > 0),senesterTINYINT)CREATE TABLE SC(sno CHAR(7) NOT NULLoCHAR(9)NOT NULL,gradeTINYINT,PRIMARY KEY (sno,o)FOREIGN KEY (sno) REFERENCES Student (SNO)FOREIGN KEY o) REFERENCES Course o))PRIMARY KEY

主键约束的作用:

1.不允许输入重复的值

2.不能取空值 (当主键是由多个属性组成时:某一属性上的数据可以重复,但其组合必须是惟一的;每个属性的值都不能为空。)

3.一个表上只能有一个主键。

UNIQUE惟一性约束的作用:保证列中不会出现重复的数据。

主键约束与惟一性约束的区别:

1.一个表中只能定义一个主键约束,但可以定义多个惟一约束。 2.定义了惟一约束的列数据可以为空值,而定义了主键约束的列数据不能为空值。 FOREIGN KEY外间约束的作用:用于建立和强制两个表间的关联,限制外键的取值必须是主表的主键值。 CHECK检查约束的作用: 1.用来限制列上可以接受的数据值 2.使用逻辑表达式来判断数据合法性 DEFAULT默认约束的作用:当列值未确定且该列又不能为空时,可由系统自动为该列添加一个值

添加主键约束操作:在学生情况表student中,添加“sno”的主键约束,主键约束命名为pk_student

如果表不存在

create table student ( sno char (6), sname char (8), ssex bit , sphone char(11) constraint pk_student primary key (sno))

如果表已存在

alter table studentadd constraint pk_studentprimary key (sno)创建唯一性约束

操作:在student表中,创建“sphone”字段惟一性约束,并且将约束命名为uq_sphone

alter table student add constraint uq_sphone unique (sphone)创建外键约束

create table sc( sno char ( 6 ) not null references student ( sno ), o char ( 3 ), grade tinyint primary key (snoo), foreign key (o ) references course (o ))创建检查约束

操作1:在student表中,设置名为ck_student的检查约束,该约束限制“性别”为man或woman

alter table student add constraint ck_student check (sex=man or sex=woman)操作2:在学生与课程表sc中,添加名ck_sc j的检查约束,该约束限制“成绩”在0到100之间

alter table scadd constraint ck_sccheck (grade>=0 and grade<=100)设置默认约束

操作1:新建表时添加

create table student(name char(6) not null,age int(10) null,sex char(5) default 'man')操作2:修改已有的表

alter table student add constraint df_student default 'man' for sex创建约束小结

create table student (sno char (6) not null , sname char (8) not null , ssex bit , 电话 char(11) )alter table xsqk add constraint pk_xsqk_xh primary key (学号), constraint df_xsqk_xb default 1 for 性别, constraint ck_xsqk_xb check (性别=1 or 性别=0 ), constraint uq_xsqk_dh unique (电话)

create table student ( sno char (6) primary key (学号) check (学号 like '[0-9] [0-9] [0-9] [0-9] [0-9] [0-9]'), sname char (8) not null , ssex bit default 1 check (ssex=0 or ssex=1) , sphone char(11) unique (sphone) )删除约束

alter table student drop constraint pk_xsqk_xhalter table student drop constraint uq_xsqk_dhalter table student drop constraint ck_xsqk _xbalter table student drop constraint ck_xsqk _xhalter table student drop constraint df_xsqk_xb

.3 删除架构【第三篇】

DROP SCHEMA T2

.2 创建视图【第四篇】

触发器就是是一种表或视图执行insert、 delete、update操作时,被系统自动执行的特殊的存储过程。

创建触发器

语法:

create trigger 触发器名

on 表名| 视图名

for | after | instead of [ insert , update, delete ]

as SQL语句

注意:1个表上可有多个触发器。 每个触发器只能作用在一个表上。这是一个一对多的关系

创建insert触发器

操作:在xscj库的xs_kc表上创建1个名为tr_insert_cj的触发器,当向xs_kc表进行插入操作时激发该触发器,并给出提示信息“有新成绩插入到xs_kc表中!”

create trigger tr_insert_cj on xs_kc after insert as print ‘有新成绩信息插入到xs_kc表! ’go执行下面这条语句后会触发insert触发器

insert into xs_kc values( '020105', '101', 87, null )创建update触发器

操作:在student表上创建名为tr_update_xsqk2的触发器,当对该表的“姓名”列修改时激发该触发器,使用户不能修改“姓名”列。

create trigger tr_update_xsqk2 on student after updateas if update(姓名) begin rollback transaction -- 撤消修改操作 raiserror(‘不能修改学生姓名!’ , 16 ,1) endgo执行下面这条语句后会触发update触发器

update student set 姓名=‘小花’ where 姓名=‘杨颖’创建delete触发器

操作:在xscj库的xsqk表上创建1个名为tr_delete_xsqk的触发器,当要删除指定学号的行时,激发该触发器,撤消删除操作,并给出提示信息“不能删除xsqk表中的信息

create trigger tr_delete_xsqk on xsqk after deleteas rollback transaction print ‘不能删除xsqk表中的信息!’go

执行下面这条语句会触发delete触发器

delete xsqk where 学号= '020101'更新触发器

语法:

alter trigger 触发器名

删除触发器

语法:

drop trigger 触发器名[,…n]

on {database | all server}

参考资料

《数据库原理及应用》 课件

总结

不得不说,课件上有很多错误。起的名字还是拼音简写,⊙﹏⊙b汗!。改了一部分,还有部分没改。个人觉得课堂上学道的东西不会太多,还是自己多动手比较好。像我这样把课件给整理一遍,估计整个计算机系再也找不出来第二个这样的奇葩了~O(∩_∩)O哈哈~

.2 修改架构【第五篇】

ALTER SCHEMA T1 TRANSFER

35 779952
");