| 
 | 
 
       数据库的一些常用知识_[SQL Server教程]                                           DROP VIEW   --从数据库中删除视图  CREATE INDEX  --为数据库表创建一个索引  DROP INDEX   --从数据库中删除索引   CREATE PROCEDURE  --创建一个存储过程   DROP PROCEDURE  --从数据库中删除存储过程  CREATE TRIGGER  --创建一个触发器   DROP TRIGGER  --从数据库中删除触发器  CREATE SCHEMA  --向数据库添加一个新模式  DROP SCHEMA   --从数据库中删除一个模式  CREATE DOMAIN  --创建一个数据值域  ALTER DOMAIN  --改变域定义  DROP DOMAIN   --从数据库中删除一个域  --数据控制   GRANT   --授予用户访问权限  DENY   --拒绝用户访问   REVOKE   --解除用户访问权限  --事务控制  COMMIT   --结束当前事务  ROLLBACK   --中止当前事务   SET TRANSACTION  --定义当前事务数据访问特征  --程序化SQL   DECLARE   --为查询设定游标   EXPLAN   --为查询描述数据访问计划  OPEN   --检索查询结果打开一个游标  FETCH   --检索一行查询结果   CLOSE   --关闭游标  PREPARE   --为动态执行准备SQL 语句   EXECUTE   --动态地执行SQL 语句  DESCRIBE   --描述准备好的查询   ---局部变量  declare @id char(10)   --set @id = ’10010001’   select @id = ’10010001’  ---全局变量   ---必须以@@开头 
  --IF ELSE  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’ 
  --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   --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   --WAITFOR   --例 等待1 小时2 分零3 秒后才执行SELECT 语句  waitfor delay ’01:02:03’  select * from employee  --例 等到晚上11 点零8 分后才执行SELECT 语句  waitfor time ’23:08:00’  select * from employee   ***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)      --------- 子查询 http://www.acnow.net/ oYIpsxSPAIC     --------- 除非能确保内层select只返回一个行的值,     --------- 否则应在外层where子句中用一个in限定符    select distinct column_name form table_name --------- distinct指定检索独有的列值,不重复   select stocknumber ,stocknumber + 10 = stocknumber + 10 from table_name   select stockname , stocknumber = count(*) from table_name group by stockname           --------- group by 将表按行分组,指定列中有相同的值        having count(*) = 2 --------- having选定指定的组   select * from table1, table2     where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示     table1.id =* table2.id -------- 右外部连接  
   select stockname from table1    union [all] ----- union合并查询结果集,all-保留重复行    select stockname from table2 
  ***insert*** 
   insert into table_name (Stock_name,Stock_number) value (xxx,xxxx)         value (select Stockname , Stocknumber from Stock_table2)---value为select语句 
  ***update*** 
   update table_name set Stockname = xxx [where Stockid = 3]       Stockname = default       Stockname = null       Stocknumber = Stockname + 4 
  ***delete***  
   delete from table_name where Stockid = 3    truncate table_name ----------- 删除表中所有行,仍保持表的完整性    drop table table_name --------------- 完全删除表 
  ***alter table*** --- 修改数据库表结构  
   alter table database.owner.table_name add column_name char(2) null .....    sp_help table_name ---- 显示表已有特征   create table table_name (name char(20), age smallint, lname varchar(30))   insert into table_name select ......... ----- 实现删除列的方法(创建新表)   alter table table_name drop constraint Stockname_default ---- 删除Stockname的default约束  ***function(/*常用函数*/)***                                         
 
 
 
 |