数据插入
•
向表中插入一行(该行的每一列都有数据)
•
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
触发器。