SQL Server之增删改操作
Posted 青红造了个白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server之增删改操作相关的知识,希望对你有一定的参考价值。
-------添加约束、增删改
1 use StudentDB2 2 go 3 --------创建学生表--------- 4 create table StudentInfo( 5 --studentId int primary key not null identity(1,1),---设置为主键,并自增长 6 studentId int not null identity(1,1), 7 studentNum varchar(16) not null, 8 studentName nvarchar(16) not null, 9 studentMobile int null, 10 classNo int null 11 ) 12 --------添加约束---------- 13 --主键约束 14 alter table StudentInfo 15 add constraint PK_StudentInfo_StudentId primary key (studentId) 16 go 17 --唯一约束 18 alter table StudentInfo 19 add constraint UQ_StudentInfo_studentNum unique (studentNum) 20 go 21 --默认约束 22 alter table StudentInfo 23 add constraint DF_StudentInfo_studentMobile default ‘号码不详‘ for studentMobile 24 go 25 --检查约束 26 alter table studentInfo 27 --check (len(studentMobile)=11):检查电话号码的长度是否为11位 28 --check后的括号中的表达式可以是and或者or连接的多个简单逻辑表达式组成的复合型逻辑表达式 29 add constraint CK_StudentInfo_studentMobile check (len(studentMobile)=11) 30 go 31 --======为了避免重复书写的麻烦,可使用如下方式添加约束 32 alter table studentInfo 33 add constraint DF_StudentInfo_studentMobile default ‘号码不详‘ for studentMobile, 34 constraint CK_StudentInfo_studentMobile check (len(studentMobile)=11) 35 go 36 --删除约束 37 alter table studentInfo 38 drop constraint DF_StudentInfo_studentMobile --constraint关键字是可选的,可写可不写 39 go 40 ------------修改数据表----------- 41 --添加列 42 alter table StudentInfo 43 add remark1 varchar(20) null, 44 remark2 varchar(20) null 45 go 46 --删除列 47 alter table StudentInfo 48 drop column ramark1 49 go 50 --------修改列 51 alter table classNo 52 --修改了数据类型、长度和可空性 53 alter column classId varchar(20) not null 54 go 55 --修改列名 56 exec sp_rename ‘studentInfo.classNo‘,‘classNum‘ 57 go 58 --------------删除数据表-------------------- 59 --再删除之前要先进行判断数据表是否存在,否则会发生错误 60 --判断方法1 61 if exists (select * from sys.sysobjects where [name]=‘studentinfo‘) 62 drop table StudentInfo 63 go 64 --判断方法2 65 if OBJECT_ID(‘studentinfo‘) is not null 66 drop table studentinfo 67 go
-------外键约束
1 Use StudentDB2 2 go 3 --创建表 4 create table Score( 5 studentId int not null identity(1,1), 6 score int 7 ) 8 --添加外键约束 9 alter table score 10 add constraint FK_score_studentinfo_stuId foreign key (studentId) references studentinfo(studentId) 11 go
--------插入、更新、删除
Use StudentDB2 go --全部列均插入数据,提供所有列的数据值,并按照表中各列的顺序列出这些值,故不必指定列名 insert into StudentInfo values( 1,‘000001‘,‘大壮‘,124565689,10086,‘01‘,‘001‘ ); go --按照顺序提供了所有的列,并且相应的给出了所有的值(推荐写法) insert into StudentInfo(studentId,studentNum,studentName,classNo,remark1,remark2) values (1,‘000001‘,‘大壮‘,124565689,10086,‘01‘,‘001‘); go --也可以不按照表中的顺序来插入数据(但是提供了所有的列) insert into StudentInfo(studentId,classNo,studentNum,remark1,studentName,remark2) values(1,2,‘000002‘,‘02‘,‘二狗‘,‘003‘); go --插入部分列值(插入值的个数小于列的个数),必须要声明是哪一列 insert into StudentInfo(studentId,classNo,studentNum) values(3,03,‘000003‘); go ---------------更新数据-------------- --简单的update语句 update studentinfo set remark1=000; go --带where条件的update语句 update studentinfo set studentnum=0101,studentname=‘王二麻子‘ where classno=222; go -----------删除数据------------- --删除整个表格 delete from studentinfo; go --删除某一行 delete from studentinfo where studentid=001; go
以上是关于SQL Server之增删改操作的主要内容,如果未能解决你的问题,请参考以下文章