服务器 频道

Informix SQL 语句详解

  11.  DROP  VIEW  view-name

  删除视图。

  view-name:视图名称。

  用户可删除自己建立的视图;视图的后代视图也被删除;事务中处理中不要使用此语句。

  例:drop  view  v_user;

  12.  CREATE  INDEX

  CREATE [UNIQUE/DISTINCT] [CLUSTER]  INDEX  index_name  ON  table_name

  ([column_name  ASC/DESC],…)

  创建索引。

  index_name:索引名称。

  table_name:表名称。

  column_name:字段名称。

  UNIQUE/DISTINCT:唯一索引。

  CLUSTER:使表的物理存放顺序按索引排列。

  ASC/DESC:升序或降序,缺省升序。

  语句执行时,将表的状态置为EXCLUSIVE;复合索引最多包含8个字段,所有字段长度和不得大于120字节;事务中处理过程中使用此语句,即使事务回滚,索引将建立,不能恢复。

  例:create  cluster  index  ix_user  on  user(c5);

  13.  ALTER  INDEX  index-name  TO [NOT]  CLUSTER

  修改索引性质。

  index-name:索引名称。

  TO [NOT]  CLUSTER:去掉或加上CLUSTER属性。

  语句执行时,将表的状态置为EXCLUSIVE;事务中处理过程中使用此语句,即使事务回滚,索引性质将改变,不能恢复。

  例:alter  index  ix_user  to  not  cluster;

  14.  DROP  INDEX  index-name

  删除索引。

  index-name:索引名称。

  语句使用者是索引的拥有者或拥有DBA权限,事务中处理过程中不要使用此语句,否则事务无法恢复。

  例:drop  index  ix_user;

  15.  CREATE  SYNONYM  synonym  FOR  table-name

  创建同义名。

  synonym:同义名

  table-name:表名称

  数据库的创建者可以使用同义名;没有赋予同义名权限的用户不能使用同义名;同义名不能和表名相同;事务中处理过程中不要使用此语句。

  例:create  synonym  user_alias  for  user;

  16.  DROP  SYNONYM  synonym

  删除同义名。

  synonym:同义名

  可以删除自己建立的同义名;事务中处理过程中不要使用此语句,否则无法恢复。

  例:drop  synonym  user_alias;

  17.  UPDATE  STATISTICS [FOR  TABLE  table-name]

  更新数据库的统计数字。

  table-name:表名称

  此语句仅作用于当前数据库;可提高查询效率;只有执行此语句,才改变统计数据。

  例:update  statistics  for  table  user; 
 
  GRANT {DBA|RESOURCE|CONNECT}  TO {PUBLIC|user-list} 
  授权命令。 

   PUBLIC|user-list:全部或指定的用户。 

  三种权限居且仅居其一,事务处理过程中不要执行GRANT语句。 

  例:grant  resource  to  pulbic; 

  GRANT  tab-privilege  ON  table-name  TO {PUBLIC|user-list} [WITH  GRANT  OPTION] 

  授表级权限。 

  tab-privilege:表级权限。 

  table-name:表名称。 

  PUBLIC|user-list:全部或指定的用户。 

  [WITH  GRANT  OPTION]:表示被授权用户有否权限进行二次授权。 

  用户可以在自己建立表达式或被[WITH  GRANT  OPTION]准许的表中进行赋权;限定越多的权限优先级越高。 

  例:grant  update(c1,c6)  on  user  to  dick  with  grant  option; 

    

  附(INFORMIX的权限) 

  (1) 数据库的权限(控制对数据库的访问以及数据库中表的创建和删除) 

  DBA权限:全部权利,修改系统表,建立和删除表与索引、增加和恢复表数据,以及授予其他用户数据库权限等; 

  RESOURCE权限:允许对数据库表中的数据进行存取,建立永久性表以及索引。 

  CONNECT权限:只允许对数据库表中的数据进行存取,建立和删除视图与临时表。 

  (2)表级权限(对表的建立、修改、检索和更新等权限) 

  ALTER:更改权限 

  DELETE:删除权限 

  INDEX:索引权限 

  INSERT:插入权限 

  SELECT [(cols)]:指定字段或所有字段上的查询权限,不指明字段缺省为所有字段。 

  UPDATE [(cols)] :指定字段或所有字段上的更新权限,不指明字段缺省为所有字段。 

  ALL [PRIVILEGES]:以上所有表级权限 

    

  19.  REVOKE {DBA|RESOURCE|CONNECT}  FROM {PUBLIC|user-list} 

  收权命令。 

  PUBLIC|user-list:全部或指定的用户。 

  三种权限居且仅居其一,事务处理过程中不要执行GRANT语句。 

  例:revoke  resource  from  john; 

  REVOKE  tab-privilege  ON  table-name  FROM {PUBLIC|user-list} 

  收表级权限。 

  tab-privilege:表级权限。 

  table-name:表名称。 

  PUBLIC|user-list:全部或指定的用户。 

  [WITH  GRANT  OPTION]:表示被授权用户有否权限进行二次授权。 

  用户只能取消由其本人赋予其他用户的表级存取权限;不能取消自己的权限,对SELECT和UPDATE作取消时,将取消所有表中字段的SELECT 和UPDATE权限。 

  例;revoke  update  on  user  from  dick; 

    

  LOCK  TABLE  table-name  IN {SHARE|EXCLUSIVE}  MODE 
  记录级加锁和表级加锁或文件加锁。 

  table-name:表名称。 

  SHARE:允许读表中数据,但不允许作任何修改 

  EXCLUSIVE:禁止其他任何形式访问表 

  每次只能对表琐定一次;事务处理过程中,BEGIN  WORK后立即执行LOCK  TABLE以取代记录级加锁,COMMIT  WORK和
ROLLBACK  WORK语句取消所有对表的加锁;若没有事务处理,锁将保持到用户退出或执行UNLOCK为止。 

  例:lock  table  user  in  exclusive  mode; 

    

  UNLOCK  TABLE  table-name 
  取消记录级加锁和表级加锁或文件加锁。 

  table-name:表名称。 

  例:unlock  user; 

    

  SET  LOCK  MODE  TO [NOT]  WAIT 
  改变锁定状态。 

  TO [NOT]:等待解锁,有可能被死锁或不等待并提示错误信息,表示此记录被锁,缺省值。 

  访问一个EXCLUSIVE状态下的记录,将返回一个错误。 

    

  START  DATABSE  db_name [WITH  LOG  IN “pathname”] 
  启动事务处理。 

  “pathname”:事务处理日志文件。 

  执行该语句前,需要先关闭当前数据库。 

  例;clost  database; 

  start  databse  customer  with  log  in “/usr/john/log/customer.log”; 

    

  BEGIN  WORK 
  开始事务。例:begin  work; 

    

  COMMIT  WORK  
  提交(正常结束)事务。例:commit  work; 

    

  ROLLBACK  WORK 
  回滚(非正常结束)事务。例:rollback  work; 

    

  SELECT 
  SELECT  select_list  FROM  tab_name|view_name 

  WHERE  condition 

  GROUP  BY  column_name 

  HAVING  condition 

  ORDER  BY  column_list 

  INTO  TEMP  table_name 

  查询语句。 

  select_list:选择表或* 

  tab_name:表名称 

  view_name:视图名称。 

  condition:查询条件,可使用BETWEEN、IN、LIKE、IS  NULL、LIKE、MATCHES、NOT、 

  AND、OR、=、!=或<>、>、 >= 、<=、<、ALL、ANY、SOME 

  column_name:分组字段名称 

  condition:群聚条件 

  column_list:排序字段列表,缺省ASC,可指定DSC;排序时,NULL值小于非零值。 

  table_name:临时表名称 

  例:略 

  附(常用函数) 

  (1)集合函数: 

  count(*)、 

  sum(数据项/表达式)、avg(数据项/表达式)、max(数据项/表达式)、min(数据项/表达式) 

  count(distinct 数据项/表达式)、sum(distinct数据项/表达式)、avg(distinct数据项/表达式) 

  (2)代数函数和三角函数 

  HEX(数据项/表达式)、ROUND(数据项/表达式)、TRUNC(数据项/表达式)、 

  TAN(数据项/表达式)、ABS(数据项/表达式)、MOD(被除数,除数) 

  (3)统计函数 

  标准差,stdev()、方差,variance()、范围,rang() 

  (4)时间函数 

  DAY(日期/时间表达式):返回数字型 

  MONTH(日期/时间表达式):返回整数 

  WEEKDAY(日期/时间表达式):0

0
相关文章