SQL Server插入数据和删除数据
首先在我的Student表中插入几条数据,由于我的表已经创建完成了,所以就没有创建表的 sql 语句了,不过可以看我的上一篇文章:
http://www.cnblogs.com/Brambling/p/6649350.html
插入数据sql语句:
1 insert into Student(S_StuNo,S_Name,S_Sex,S_Height) 2 select '001','项羽','男','190' union 3 select '002','刘邦','男','170' union 4 select '003','貂蝉','女','180' union 5 select '004','天明','男','155' union 6 select '005','少司命','女','175'
当然,也可以像下面这样写,不过我个人习惯用上面这种方法。
1 insert into Student(S_StuNo,S_Name,S_Sex,S_Height) values ('001','项羽','男','190') 2 insert into Student(S_StuNo,S_Name,S_Sex,S_Height) values ('002','刘邦','男','170') 3 insert into Student(S_StuNo,S_Name,S_Sex,S_Height) values ('003','貂蝉','女','180') 4 insert into Student(S_StuNo,S_Name,S_Sex,S_Height) values ('004','天明','男','155') 5 insert into Student(S_StuNo,S_Name,S_Sex,S_Height) values ('005','少司命','女','175')
SQL Server语句把一个表的数据插入到另一个表,有以下两种方法:
第一种,当要插入的表(Student_back)不存在时
1 --把表 Student 中性别为 '男' 的学生信息 插入到表 Student_back(不存在) 中 2 select * into Student_back from Student where S_Sex='男'
未指定具体列,就会自动创建一个跟(Student)一样的表并把数据插入
指定具体要插入的列就会根据指定的列创建一个表,并把数据插入
第二种,当要插入的表本身便存在时
1 --把表 Student 中性别为 '女' 的学生信息 插入到表 Student_back(存在)中 2 insert into Student_back(S_StuNo,S_Name,S_Sex,S_Height) 3 select S_StuNo,S_Name,S_Sex,S_Height from Student 4 where S_Sex='女'
因为字段 S_Id 是标识列,不能有显示插入的值,所以这里必须指定要插入的列。
前面说了创建表的sql语句,下面说说删除表的sql语句:
确切的说删除表的方式有 drop:
1 drop table Student_back
这样就删除表了,这样的删除不仅会删除表中的数据,还包括表结构、字段、视图、索引、触发器和依赖的约束等等。此方法慎用!!!
truncate:
1 truncate table Student_back
这样只是删除表中的所有数据,会保留表结构、字段、约束、索引等等,但是不能加 where 条件限制。
如果表存在 FOREIGN KEY (外键约束),则不能使用此方法,应使用不带 where 条件的 delete 语句,但 truncate 语句比 delete 语句执行要快。
delete:
1 delete from Student_back where S_StuNo='001'
这样的删除同样是删除表中的数据,并且可以添加 where 条件限制,还可以激活 trigger (触发器)。