sql 语法

来源:互联网 发布:发现值得买网站源码 编辑:程序博客网 时间:2024/05/30 23:51

1.Case When 语法

SELECT <myColumnSpec> = 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
CASE 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
WHEN <A> THEN <somethingA> 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
WHEN <B> THEN <somethingB> 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
ELSE <somethingE> 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
END 


在上面的代码中需要用具体的参数代替尖括号中的内容。下面是一个简单的例子: 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
USE pubs 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
GO 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
SELECT 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁     Title, 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    
'Price Range' = 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    
CASE 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price IS NULL THEN 'Unpriced' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price < 10 THEN 'Bargain' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
WHEN price BETWEEN 10 and 20 THEN 'Average' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        
ELSE 'Gift to impress relatives' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    
END 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
FROM titles 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
ORDER BY price 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁
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


 



原创粉丝点击