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