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
posted @ 2008-09-03 11:26  玉玉  阅读(1008)  评论(1编辑  收藏  举报