DB2 SQL 命令集錦

DB2 SQL 命令集錦
摘自:http://m.blog.csdn.net/article/details?id=7449035 若有侵權請留言刪除,謝謝!linux

 

一、數據操做語言(DML:select,delete,insert,update)
      <1>查詢數據庫目錄:
             db2 list db directory
    <2>查詢數據庫中表
           db2 list tables 當前用戶
           db2 list tables for all 全部表
         db2 list tables for schema schemaname 指定模式的表
    <3>顯示錶結構
           db2 describe table tablename
    <4>插入數據
           db2 insert into tablename(字段名,字段名...) values (與字段名一一對應的值)
           db2 insert into tablename1(字段1,字段2,字段3...) 
         select 字段1,字段2,字段3...from tablename2 + 查詢條件
    <5>更改表或視圖數據
           db2 update tablename/viewname set 字段名1='',字段2='',...+查詢條件
    <6>刪除數據
             db2 delete from tablename where + 條件   
   <7>導入數據
          db2 "import from E:\name.txt of del insert into tableName"
          db2 "import from E:\name.ixf of ixf commitcount 5000 insert /create/replace into tableName"
          db2 "load client from D:\xx.txt of del insert/replace into tabName"(不須要寫日誌,但插入前表必須存在;不能create table)
          db2 "load client from D:\xx.txt of del restart/terminate into tabName" 當導入數據出現問題被強行中斷時,此表會被加鎖,經過此命令能夠解鎖
    <8>導出數據
             db2 "export to E:\name.txt of del select * from tableName"
             db2 "export to E:\name.txt of del MODIFIED BY NOCHARDEL select * from tableName"(導出不帶分號的數據)
         導出表結構和數據
             db2 "export to E:\name.ixf of ixf MODIFIED BY NOCHARDEL select * from tableName"
             db2 "export to E:\name.ixf of ixf MODIFIED BY NOCHARDEL select * from tableName fetch first (取數+UNM) rows only"(取固定條數)
         導出表結構
             db2look -d dbName -e -t tableName -o D:\xxx.sql(path) -i userName -w password
             db2look -d dbName -z tabSchema -e -c -i userName -w password -o + 路徑名
         導出存儲過程結構
             db2 "export to xxx.sql of del select text from syscat.procedures where procname='大寫存儲過程名'"
      <9>查詢表狀態
          db2 load query table + tableName
      <10>查詢當前表數據量(數據入庫時)
          db2 select count(1) from tab with ur
      <11>修改當前表名、模式名
          db2 rename table tab1 to tab2
    二、數據定義語言(DDL:create,alter)
       <1>建立或刪除實例
       db2icrt instance_name/db2idrop -f instance_name
       linux:db2icrt -u user_id instance_name
       <2>建立視圖、表、模式
     db2 create view/table/schema
     建立指定用戶的模式
     db2 create schema schName AUTHORIZATION userName
     db2 create schema AUTHORIZATION userName(沒有指定模式名時,模式名隱含爲用戶名userName)
      定義含有缺省值的表
     db2 create table tableName(column1 數據類型,column2 數據類型 default '缺省值')
     基於已存在的表
     db2 create table clone_tablename like tablename 
     db2 create table clone_tablename as (select * from tablename) definition only
     建立物化查詢表(MQT) 
     create table new_table_name as (select * from table_name) data initially deferred refresh deferred;
     refresh table new_table_name; 
     注意:物化表相似一個查詢,沒有真正造成表,類型顯示爲Query。但它徹底能夠當表來用。
                  建立表並指定其索引表空間
                         db2 create table(.....) in userspace1 INDEX in userspace2
                         (userspace1是表所在空間,userspace2是表上索引所在空間) 
    <3>建立視圖
           db2 create view viewname 
                as select 字段名1,字段名2...from table where + 條件
         with check option 規定一種約束:經過視圖插入或更新的每一行都必須符合視圖的定義,如:
         create view emp_view2(empno,empname,deptno) as (select id,name,dept from employee where dept=10)with check option
         當此視圖用於更新數據或插入新值時,with check option 限制了dept列的輸入值
    <4>修改表(列,主鍵,惟一約束,檢查約束)
   1)添加新列 alter table tablename ADD COLUMN columnname 數據類型
   2)添加約束 
   3)修改表中字段 alter table tablename alter columnname set data type 數據類型
   4) 添加主鍵 alter table tablename add primary key(c1,c2)
   <5>刪除模式、表、視圖
      drop schema schName <CASCADE|RESTRICT>
      CASCADE(級聯)表示刪除模式的同時刪除該模式中全部的數據庫對象
      RESTRICT(限制)表示該模式下定義了數據庫對象時,限制刪除;沒有任何數據庫對象時才能刪除
   <6>從新組織表及其索引
      重組表數據  reorg table tableName index indexName(根據索引)
      重組表索引  reorg indexes all for table tableName
   <7>從新收集表及其索引統計信息
      runstats on table tableName for indexes all(跑批前從新收集所用表信息能夠提升效率)
   <8>DB2自動增加主鍵方法
      IDENTITY列
        generated always as identity(start with 1,increment by 1)將一個字段指定爲自增加型字段,放在數據類型後。
      SEQUENCE對象(序列)
    三、數據控制語言(DCL:grant,revoke)
sql

    將表的特權授予用戶
    grant select,update,delete on table tableName to user userName with grant option
    將包特權授予同組
    grant control on package packageName on group groupName with grant option
數據庫

相關文章
相關標籤/搜索