数据库插入、修改、删除语句

来源:互联网 发布:双人無心内事无人知 编辑:程序博客网 时间:2024/05/21 22:54

数据插入

向表中插入一行(该行的每一列都有数据)
Insert into values(1,值2)
插入数据时,只向某些列插入数据:如果插入的行中有些字段的值不确定,那么Insert的时候不指定那些列即可。
Insert into (1) values(1)
自动编号列不需要手动插入。【SET  IDENTITY_INSERT  表名ON
注意:主键不能有重复值。
插入数据时的单引号问题。
Insert into 表(列)select1,列2 union  --可一次性插入多行记录
Insert into 表(列)select1,列2 from
Selectinto新表名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)

更新数据
更新一个列:update Student set sSex= ‘男’
注意where条件后面的优先级 not——>and——> or

删除数据
删除表中全部数据:DELETE FROM Student
Delete只是删除数据,表还在,和Drop Table不同。
Delete也可以带where子句来删除一部分数据:DELETE FROM Student WHEREsAge> 20 

truncatetable student 的作用与deletefrom student一样,都是删除student表中的全部数据,区别在于:
1.truncate语句非常高效。由于truncate操作采用按最小方式来记录日志,所以效率非常高。对于数百万条数据使用truncate删除只要几秒钟,而使用delete则可能耗费几小时。
2.truncate语句会把表中的自动编号重置为默认值。
3.truncate语句不触发delete触发器。