sql 的基本命令
SELECT --从数据库表中检索数据行和列
select col1,col2,col3.....from table
INSERT --向数据库表添加新数据行
insert into table(col1,col2....) values(value1,value2...)
insert into table(col1,col2....) select col1,col2...from table
DELETE --从数据库表中删除数据行
delete from table
UPDATE --更新数据库表中的数据
update table set col1=value,......
--数据定义
CREATE TABLE --创建一个数据库表
create table tbame (col1 int,col2 char(20))
DROP TABLE --从数据库中删除表
drop table tbname
ALTER TABLE --修改数据库表结构
--增加列
alter table #a add col3 int
--删除列
alter table #a drop column col3
--增加列的默认值
alter table tbname add CONSTRAINT tf_name default 'a' for col2
CREATE VIEW --创建一个视图
create view view_name as
select * from tbname where ....
DROP VIEW --从数据库中删除视图
drop view view_name
CREATE INDEX --为数据库表创建一个索引
--创建简单的非聚集索引
CREATE INDEX index_name
ON tbname (VendorID);
--创建简单的唯一非聚集索引
CREATE UNIQUE INDEX index_name
ON tbname (VendorID);
DROP INDEX --从数据库中删除索引drop index index_name on tbname
CREATE PROCEDURE --创建一个存储过程create procedure name as
begin
......
end
DROP PROCEDURE --从数据库中删除存储过程drop procedure name
CREATE TRIGGER --创建一个触发器create trigger name on tbname
FOR INSERT,UPDATE
AS.......
DROP TRIGGER --从数据库中删除触发器drop trigger name
CREATE SCHEMA --向数据库添加一个新模式
DROP SCHEMA --从数据库中删除一个模式 <br />
CREATE DOMAIN --创建一个数据值域 <br />
ALTER DOMAIN --改变域定义 <br />
DROP DOMAIN --从数据库中删除一个域 <br />
--数据控制 <br />
GRANT --授予用户访问权限 <br />
DENY --拒绝用户访问 <br />
REVOKE --解除用户访问权限 <br />
--事务控制 <br />
COMMIT --结束当前事务 <br />
ROLLBACK --中止当前事务 <br />
SET TRANSACTION --定义当前事务数据访问特征 <br />
--程序化SQL <br />
DECLARE --为查询设定游标 <br />
EXPLAN --为查询描述数据访问计划 <br />
OPEN --检索查询结果打开一个游标 <br />
FETCH --检索一行查询结果 <br />
CLOSE --关闭游标 <br />
PREPARE --为动态执行准备SQL 语句 <br />
EXECUTE --动态地执行SQL 语句 <br />
DESCRIBE --描述准备好的查询 <br />
---局部变量 <br />
declare @id char(10) <br />
--set @id = '10010001' <br />
select @id = '10010001' <br />
---全局变量 <br />
---必须以@@开头 <br />
--IF ELSE <br />
declare @x int @y int @z int <br />
select @x = 1 @y = 2 @z=3 <br />
if @x > @y <br />
print 'x > y' --打印字符串'x > y' <br />
else if @y > @z <br />
print 'y > z' <br />
else print 'z > y' <br />
--CASE <br />
use pangu <br />
update employee <br />
set e_wage = <br />
case <br />
when job_level = '1' then e_wage*1.08 <br />
when job_level = '2' then e_wage*1.07 <br />
when job_level = '3' then e_wage*1.06 <br />
else e_wage*1.05 <br />
end <br />
--WHILE CONTINUE BREAK <br />
declare @x int @y int @c int <br />
select @x = 1 @y=1 <br />
while @x < 3 <br />
begin <br />
print @x --打印变量x 的值 <br />
while @y < 3 <br />
begin <br />
select @c = <a href="mailto:100*@x">100*@x</a> + @y <br />
print @c --打印变量c 的值 <br />
select @y = @y + 1
end
select @x = @x + 1
select @y = 1 end
--WAITFOR
--例 等待1 小时2 分零3 秒后才执行SELECT 语句
waitfor delay '01:02:03'
select * from employee