SQLServer查询语句收集

常用的SQLServer查询语句,有空可以多练习一下,增加记忆,可以提高工作效率!

1、数据操作 
Select      --从数据库表中检索数据行和列
Insert      --向数据库表添加新数据行 
Delete      --从数据库表中删除数据行
Update      --更新数据库表中的数据 

2、数据定义
Create TABLE    --创建一个数据库表
Drop TABLE     --从数据库中删除表
Alter TABLE     --修改数据库表结构
Create VIEW     --创建一个视图
Drop VIEW     --从数据库中删除视图
Create INDEX    --为数据库表创建一个索引
Drop INDEX     --从数据库中删除索引
Create PROCEDURE   --创建一个存储过程
Drop PROCEDURE    --从数据库中删除存储过程
Create TRIGGER    --创建一个触发器
Drop TRIGGER    --从数据库中删除触发器
Create SCHEMA    --向数据库添加一个新模式
Drop SCHEMA     --从数据库中删除一个模式
Create DOMAIN    --创建一个数据值域
Alter DOMAIN    --改变域定义
Drop DOMAIN     --从数据库中删除一个域

3、数据控制
GRANT      --授予用户访问权限
DENY      --拒绝用户访问
REVOKE      --解除用户访问权限

4、事务控制
COMMIT      --结束当前事务
ROLLBACK     --中止当前事务
SET TRANSACTION    --定义当前事务数据访问特征

5、程序化SQL
DECLARE      --为查询设定游标
EXPLAN      --为查询描述数据访问计划
OPEN      --检索查询结果打开一个游标
FETCH      --检索一行查询结果
CLOSE      --关闭游标
PREPARE      --为动态执行准备SQL 语句
EXECUTE      --动态地执行SQL 语句
DESCRIBE     --描述准备好的查询

6、局部变量
declare @id char(10)
--set @id = '10010001'
select @id = '10010001'

7、全局变量
---必须以@@开头

8、IF 语句
declare @x int @y int @z int
select @x = 1 @y = 2 @z=3
if @x > @y
print 'x > y' --打印字符串'x > y'
else if @y > @z
print 'y > z'
else print 'z > y'

9、CASE 语句
use pangu
update employee
set e_wage =
case
when job_level = ’1’ then e_wage*1.08
when job_level = ’2’ then e_wage*1.07
when job_level = ’3’ then e_wage*1.06
else e_wage*1.05
end

10、WHILE CONTINUE BREAK 语句
declare @x int @y int @c int
select @x = 1 @y=1
while @x < 3
begin
print @x --打印变量x 的值
while @y < 3
   begin
    select @c =100*@x+ @y
    print @c --打印变量c 的值
    select @y = @y + 1
   end
select @x = @x + 1
select @y = 1
end

11、WAITFOR语句
--例 等待1 小时2 分零3 秒后才执行Select 语句
waitfor delay ’01:02:03’
select * from employee
--例 等到晚上11 点零8 分后才执行Select 语句
waitfor time ’23:08:00’
select * from employee

12、Select语句
   select *(列名) from table_name(表名) where column_name operator value
   ex:(宿主)
select * from stock_information where stockid   = str(nid)
     stockname = 'str_name'
     stockname like '% find this %'
     stockname like '[a-zA-Z]%' --------- ([]指定值的范围)
     stockname like '[^F-M]%'   --------- (^排除指定范围)
     --------- 只能在使用like关键字的where子句中使用通配符)
     or stockpath = 'stock_path'
     or stocknumber < 1000
     and stockindex = 24
     not stocksex = 'man'
     stocknumber between 20 and 100
     stocknumber in(10,20,30)
     order by stockid desc(asc) --------- 排序,desc-降序,asc-升序
     order by 1,2 --------- by列号
     stockname = (select stockname from stock_information where stockid = 4)
     --------- 子查询
     --------- 除非能确保内层select只返回一个行的值,
     --------- 否则应在外层where子句中用一个in限定符
select distinct column_name form table_name --------- distinct指定检索独有的列值,不重复
select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name
select stockname , "stocknumber&

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值