SQL Server 增删改
--use用来设置当前使用哪个数据库
use StudentDb
--go批处理
go
--T-SQL中不区分大小写,数据库表中的数据是区分大小写的
--例如:insert与INSERT不区分大小写,数据库表中的数据lisi与LiSi是区分大小写的
---------------------Insert操作-------------
--有标识列的情况(标识列不能进行操作,因为标识列有系统管理)
--1)写出字段名的方式
insert into DeptInfo(deptName,Remark) values('教质部','abc')
insert into DeptInfo(deptName,Remark) values('业务部','处理业务工作')
--2)省略字段名的方式
insert into DeptInfo values('学术部','教书的')
insert into DeptInfo values('教书的')--出错(数据值与表定义的字段不匹配)
--插入有默认值的列
--1)用default关键字
insert into DeptInfo values(default,'aaabbb')--default代表默认值
--2)不处理默认值
insert into DeptInfo(Remark) values('教书的')
--插入NULL值(SQL数据库表的数据使用NULL表示空)
--1)直接用NULL
insert into deptinfo values('外交部',null)
--2)不对可以为空的字段进行操作
insert into deptinfo(deptName) values('文体部')
--插入唯一值
insert into deptinfo values('学术部','aaaa')--出错(因为部门名称列已经存在'学术部'了)
--添加操作需要注意:
--1、添加的数据一定要和字段匹配(个数、顺序、数据类型..)
--2、要注意表中的相应特点(主键、非空、检查约束、默认值、外键...)
--一次性添加多行数据(不能使用default)
insert into deptinfo(deptName,Remark)
select '部门4','aaa' union all
select '部门5','bbb' union all
select '部门5','bbb'
--union不会将重复行添加,union all可以将重复行添加
-------------update操作----------------
--修改整个表中的数据
update DeptInfo set Remark='aaa'
--修改表中符合条件的数据
update DeptInfo set Remark='教学的' where deptID=6
update DeptInfo set Remark='教学的' where deptID>8
--修改表中多个字段的数据(多个字段用逗号隔开)
update DeptInfo set deptName='学术部',Remark='教学的' where deptID=1
--使用update需要注意的:
--一定要慎重考虑要不要加where条件,如果没有条件就会修改表中的所有行的数据
----------------delete操作----------
--根据条件删除数据
delete from DeptInfo where deptID=6
--删除整个表的数据
delete from DeptInfo
----------------delete与truncate-------
--共同点:都可以删除表中的数据
truncate table DeptInfo
--不同点:
--1、truncate效率比delete高
--2、truncate操作不会被记录到日志文件中,但delete操作会被记录到日志文件中
--3、truncate删除表中的数据后标识列会从1开始,delete删除表中数据后标识列的值会在之前的基础上继续递增
--4、truncate只能删除表中的所有数据,delete可以删除所有数据也可以根据条件删除符合条件的数据
insert into scoreinfo(stuName,subject,score) values('张伟','JAVA',80)
update scoreinfo set score=score+5 where socre<60