SQL分类:
DDL——数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML——数据操作语言(SELECT,DELETE,UPDATE,INSERT)
DCL——数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
DDL—数据库定义语言:直接提交的。
CREATE:用于创建数据库对象。
DECLARE:除了是创建只在过程中使用的临时表外,DECLARE语句和CREATE语句非常相似。唯一可以被声明的对象是表。并且必须放入用户临时表空间。
DROP:可以删除任何用CREATE(数据库对象)和DECLARE(表)创建的对象。
ALTER:允许修改某些数据库对象的信息。不能修改索引。
DCL—数据控制语言:用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等
1.COMMIT : 提交
2.SAVEPOINT : 保存点
3.ROLLBACK:回滚
4.SET TRANSACTION: 设置当前事务的特性,它对后面的事务没有影响.
下面对一些常用的编程语句进行介绍
1、IF…ELSE语句
declare @i as int, @myVar as int ;--声明变量
set @i = 1;
set @myVar = 0;
if @i > 0
set @myVar = 100;
else
set @myVar = 10;
print convert(char(12), @myVar);--输出变量的值
2、BEGIN…END
使用begin…end让 set @myVar = 10;和print语句都属于else部分
if @i > 0
set @myVar = 100;
else
begin
set @myVar = 10;
print convert(char(12), @myVar);--输出@myVar的变量
end
3、WHILE循环
首先声明3g变量,@myVar1用于累加1-100之间的奇数值,@myVar2用于累加1-100之间的偶数值
declare @i as int, @myVar1 as int, @myVar2 as int;--声明变量
set @myVar1 = 0; --设置变量值
set @myVar2 = 0;
while @i < 100 --开始循环
begin --指定包含在循环的语句
if @i % 2 <> 0 --判断是否为奇树,<>:不等于
set @myVar1 = @myVar1 + @i;--累加奇数
else
set @myVar2 = @myVar2 + @i;--累加偶数
set @i = @i + 1;--递增@i
end --结束循环
select @myVar1, @myVar2, @i;--显示变量值
4、GOTO语句和标签
GOTO语句用于将执行流更改到标签处,下面使用GOTO语句代替上面的WHILE循环,功能相同
declare @i as int,@myVar1 as int,@myVar2 as int;
set @myVar1 = 0;
set @myVar2 = 0;
set @i =1;
table_loop:--指定标签
if @i % 2 <> 0 --判断是否为奇树
set @myVar1 = @myVar1 + @i;--累加奇数
else
set @myVar2 = @myVar2 + @i;--累加偶数
set @i = @i + 1;--递增@i
if(@i < 100) goto table_loop;--跳到到标签处
select @myVar1, @myVar2, @i;--显示变量值
5、使用WAITFOR语句
WAITFOR语句用于延迟后面的语句的执行,可以指定延迟的时间长度或者是具体时间
waitfor delay '00:1:15';--指定延迟的时间长度
print N'到时间了';
--另一种形式
waitfor time '10:02:10'--延迟具体时间
print N'到时间了';
此语句通常用于并发测试,例如,可以指定在同一个时间执行多个相同的SQL语句