SQL Server插入数据和删除数据基础语句使用
Posted Brambling
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 (触发器)。
以上是关于SQL Server插入数据和删除数据基础语句使用的主要内容,如果未能解决你的问题,请参考以下文章