1.Case When 语法
SELECT <myColumnSpec> =
CASE
WHEN <A> THEN <somethingA>
WHEN <B> THEN <somethingB>
ELSE <somethingE>
END
在上面的代码中需要用具体的参数代替尖括号中的内容。下面是一个简单的例子:
USE pubs
GO
SELECT
Title,
'Price Range' =
CASE
WHEN price IS NULL THEN 'Unpriced'
WHEN price < 10 THEN 'Bargain'
WHEN price BETWEEN 10 and 20 THEN 'Average'
ELSE 'Gift to impress relatives'
END
FROM titles
ORDER BY price
GO
2.select 用法
select top 100 * from 表名 //
select top 10 percent * 表名//查询前10%的记录
3.insert 用法
insert into 表名 vaules()所有字段都应该赋值
insert into 表名 (指定字段) values(对应字段值)
insert into 表名 查询的数据 --查询的数据插入到表中
insert into T_MY2
select 4,a.name,a.Memo from dbo.T_MY2 a where ID='3'
如果只插入查询到的前五条数据,insert into top (5) into T_MY2 查询数据集
查询部分字段,并插入到另一个表中
insert t_my3(id,name)
select a.ID,a.NAME from T_MY2 a
注意区别:没有into
给指定字段添加相同内容
insert t_my3(id,name,MEMO)
select a.ID,a.NAME,'AA' from T_MY2 a
insert中使用exec命令
insert 表(字段)
exec 存储过程名称
原理其实一样,比如 exec sp_who 得到一个结果集 ,得到结果集必须与指定字段对应,并且字段数相同
4.delete 用法
delete 表名 from数据源 条件
delete与truncate的区别:
a.delete 每删除一条记录都会记录事务日志,truncate不记录,truncate删除速度快,但是文件不能恢复
b.truncate删除表后,标识列重新开始编号,delete会按照上次的最大编号继续产生编号
c.如果删除记录的表是其他表的外键,不能用truncate
d.truncate不能删除参与索引视图的表
5.字段的增删改
修改字段:alter column 姓名 nvarchar(20) collate chinese_prc_ci_as not null
添加字段 add column 性别 nvarchar(2)
删除字段 drop column AA
6.添加约束
alter table t1
add constraint ck_aa check (aa>10 and aa<100)
注意:默认情况下,添加check 约束会检查数据表的数据是否满足check 约束,如果有数据不满足check约束,添加约束操作就会失败。如果想添加约束的时候不检出数据是否符合check约束,可是使用如下代码:
alter table t1
with nocheck add
constraint ck_aa check (aa>10 and aa<100)
7.禁用约束
alter table t1
nocheck constraint ck_1,ck_2
nocheck constraint all
8.启用约束
alter table t1
check constraint ck_1,ck_2
check constraint all
9.删除约束
alter table t1
drop ck_1
10.修改字段名和数据表名
exec sp_rename 't1.aa','bb','column'
exec sp_rename 't1','t2'
sp_rename '原对象名称','新对象名称'[,'对象类型']
对象类型:column, database ,index ,object(约束,表,视图,存储过程等) ,userdatatype
11.删除表
drop table t1