| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2736 人关注过本帖
标题:主要SQL语句详解
只看楼主 加入收藏
风中情子
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2005-1-11
收藏
 问题点数:0 回复次数:10 
主要SQL语句详解

  1. CREATE DATABASE database_name [WITH LOG IN “pathname”]

    创建数据库。

    database_name:数据库名称。

    pathname:事务处理日志文件。

    创建一database_name.dbs目录,存取权限由GRANT设定,无日志文件就不能使用

    BEGIN WORK等事务语句(可用START DATABASE语句来改变)。

    可选定当前数据库的日志文件。

    如:select dirpath form systables where tabtype = “L”;

    例:create databse customerdb with log in “/usr/john/log/customer.log”;

  2. DATABASE databse-name [EXCLUSIVE]

    选择数据库。

    database_name:数据库名称。

    EXCLUSIVE:独占状态。

    存取当前目录和DBPATH中指定的目录下的数据库,事务中处理过程中不要使用此语句。

    例:dtabase customerdb;

  3. CLOSE DATABASE

    关闭当前数据库。

    database_name:数据库名称。

搜索更多相关主题的帖子: SQL 语句 详解 
2005-03-06 10:10
风中情子
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2005-1-11
收藏
得分:0 

此语句之后,只有下列语句合法:

CREATE DATABASE DATABASE DROP DATABSE ROLLFORWARD DATABASE

删除数据库前必须使用此语句。

例:close database;

  • DROP DATABASE database_name

    删除指定数据库。

    database_name:数据库名称。

    用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK WORK 也不可将数据库恢复。

    例:drop databse customerdb;

  • CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …)

    [IN “pathname”]

    创建表或临时表。

    table-name :表名称。

    column_name:字段名称。

    data-type:字段数据类型。

    path-name:指定表的存放位置

    TEMP用于指定建立临时表;表名要唯一,字段要唯一;有CONNECT权限的用户可建立临时表;创建的表缺省允许CONNECT用户存取,但不可以ALTER

  • 2005-03-06 10:11
    风中情子
    Rank: 1
    等 级:新手上路
    帖 子:61
    专家分:0
    注 册:2005-1-11
    收藏
    得分:0 

    例:create table user

    ( c0 serial not null, c1 char (10),

    c2 char(2),

    c3 smallint,

    c4 decimal(6,3),

    c5 date

    ) in “usr/john/customer.dbs/user;

  • ALTER TABLE

    ALTER TABLE table-name

    {ADD (newcol_name newcol_type [BEFORE oldcol_name], …) | DROP (oldcol_name, …)

    | MODIFY (oldcol_name newcol_type [NOT NULL], … )}, …

    修改表结构。

    table-name:表名称。

    newcol_name:新字段名称

    newcol_type:新字段类型

    oldcol_name:老字段名称

    可以使用单个或多个ADD子句、DROP子句、MODIFY子句,但某个字句失败,操作即中止;原字段是NULL,不允许MODIFYNOT NULL,除非所有NULL字段中均非空,反之可以;ALTER使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。

  • 2005-03-06 10:11
    风中情子
    Rank: 1
    等 级:新手上路
    帖 子:61
    专家分:0
    注 册:2005-1-11
    收藏
    得分:0 

    例:alter table user

    add ( c6 char(20) before c5);

  • RENAME TABLE oldname TO newname

    修改表名。

    oldname:原名称。

    newname:新名称。

    RENAME使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。

    例:rename user to bbb;

  • DROP TABLE table-name

    删除表。

    table-name:表名称。

    删除表意味着删除其中所有数据、各字段上的索引及对表的赋权、视图等;用户不能删除任何系统目录表;语句使用者是表拥有者或拥有DBA权限,事务中处理过程中不要使用此语句。

  • RENAME COLUMN table.oldcolumn TO newcolumn

    修改字段名。

    table.oldcolumn:表名及原字段名称

    newcolumn:新字段名称。

    语句使用者是表的拥有者或拥有DBA权限或有ALTER权限的用户,事务中处理过程中不要使用此语句。

    例:rename column user.c6 to c7;

  • 2005-03-06 10:11
    风中情子
    Rank: 1
    等 级:新手上路
    帖 子:61
    专家分:0
    注 册:2005-1-11
    收藏
    得分:0 
  • CREATE VIEW view-name column-list

    CREATE VIEW view-name column-list AS select_statement [WITH CHECK OPTION]

    创建视图。

    view-name:视图名称。

    column-list:字段列表。

    select_statementSELECT语句。

    以下语句不使用视图:ALTER TABLEDROP INDEXALTER INDEXLOCK TABLECREATE INDEX RENAME TABLE;视图将延用基表的字段名,对表达式等虚字段和多表间字段重名必须指明标识其字段名;若对视图中某些字段命名,则所有字段都必须命名;视图中数据类型延用基表中的数据类型,虚字段起诀于表达式;不能使用ORDER BYUNION子句;对视图中所有的字段要有SELECT权限;事务中处理过程中使用此语句,即使事务回滚,视图也将建立,不能恢复。

    例:create view v_user as select * from user where c1 = “B1”;

  • DROP VIEW view-name

    删除视图。

    view-name:视图名称。

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

    例:drop view v_user;

  • 2005-03-06 10:12
    风中情子
    Rank: 1
    等 级:新手上路
    帖 子:61
    专家分:0
    注 册:2005-1-11
    收藏
    得分:0 
  • 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);

  • ALTER INDEX index-name TO [NOT] CLUSTER

    修改索引性质。

    index-name:索引名称。

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

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

    例:alter index ix_user to not cluster;

  • 2005-03-06 10:12
    风中情子
    Rank: 1
    等 级:新手上路
    帖 子:61
    专家分:0
    注 册:2005-1-11
    收藏
    得分:0 
  • DROP INDEX index-name

    删除索引。

    index-name:索引名称。

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

    例:drop index ix_user;

  • CREATE SYNONYM synonym FOR table-name

    创建同义名。

    synonym:同义名

    table-name:表名称

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

    例:create synonym user_alias for user;

  • DROP SYNONYM synonym

    删除同义名。

    synonym:同义名

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

    例:drop synonym user_alias;

  • UPDATE STATISTICS [FOR TABLE table-name]

    更新数据库的统计数字。

    table-name:表名称

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

  • 2005-03-06 10:13
    风中情子
    Rank: 1
    等 级:新手上路
    帖 子:61
    专家分:0
    注 册:2005-1-11
    收藏
    得分:0 

    例:update statistics for table user;

    1. 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权限:允许对数据库表中的数据进行存取,建立永久性表以及索引。

      2005-03-06 10:13
      风中情子
      Rank: 1
      等 级:新手上路
      帖 子:61
      专家分:0
      注 册:2005-1-11
      收藏
      得分:0 

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

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

        ALTER:更改权限

        DELETE:删除权限

        INDEX:索引权限

        INSERT:插入权限

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

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

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

        1. 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:全部或指定的用户。

        2005-03-06 10:13
        风中情子
        Rank: 1
        等 级:新手上路
        帖 子:61
        专家分:0
        注 册:2005-1-11
        收藏
        得分:0 

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

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

        例;revoke update on user from dick;

      1. LOCK TABLE table-name IN {SHARE|EXCLUSIVE} MODE

        记录级加锁和表级加锁或文件加锁。

        table-name:表名称。

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

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

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

        例:lock table user in exclusive mode;

      2. UNLOCK TABLE table-name

        取消记录级加锁和表级加锁或文件加锁。

        table-name:表名称。

        例:unlock user;

      3. 2005-03-06 10:13
        快速回复:主要SQL语句详解
        数据加载中...
         
           



        关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

        编程中国 版权所有,并保留所有权利。
        Powered by Discuz, Processed in 0.023195 second(s), 7 queries.
        Copyright©2004-2024, BCCN.NET, All Rights Reserved