数据插入
•向表中插入一行(该行的每一列都有数据)
•Insert into 表
values(值1,值2)
•插入数据时,只向某些列插入数据:如果插入的行中有些字段的值不确定,那么Insert的时候不指定那些列即可。
–Insert into 表(列1) values(值1)
•自动编号列不需要手动插入。【SET IDENTITY_INSERT 表名ON】
•注意:主键不能有重复值。
•插入数据时的单引号问题。
•Insert into 表(列)select列1,列2
union --可一次性插入多行记录
•Insert into 表(列)select列1,列2
from表
•Select列 into新表名from旧表
•N前缀:N’字符串’,在服务器上执行的代码中(例如在存储过程和触发器中)显示的Unicode字符串常量必须以大写字母N为前缀。即使所引用的列已定义为Unicode类型,也应如此。如果不使用N前缀,字符串将转换为数据库的默认代码页。这可能导致不识别某些字符。
把一个表中的数据备份到另一个表中(新表)
select * into newtable from oldtable
把一个表中的数据备份到另一个表中(表已经存在)
insert into newtable (列1,列2) select 列1,列2 from oldtable
修改某列的数据类型
alter table tablename alter column UserName char(50)
更新数据
删除数据
把一个表中的数据备份到另一个表中(新表)
select * into newtable from oldtable
把一个表中的数据备份到另一个表中(表已经存在)
insert into newtable (列1,列2) select 列1,列2 from oldtable
修改某列的数据类型
alter table tablename alter column UserName char(50)
更新数据
•更新一个列:update Student set
sSex= ‘男’
注意where条件后面的优先级 not——>and——> or删除数据
•删除表中全部数据:DELETE
FROM Student。
•Delete只是删除数据,表还在,和Drop Table不同。
•Delete也可以带where子句来删除一部分数据:DELETE FROM Student WHERE
sAge> 20
•truncatetable student 的作用与deletefrom student一样,都是删除student表中的全部数据,区别在于:
–1.truncate语句非常高效。由于truncate操作采用按最小方式来记录日志,所以效率非常高。对于数百万条数据使用truncate删除只要几秒钟,而使用delete则可能耗费几小时。
–2.truncate语句会把表中的自动编号重置为默认值。
–3.truncate语句不触发delete触发器。