DB2 SQL命令小集
1、資料操作語言(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
2、資料定義語言(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(限制)表示該模式下定義了資料庫物件時,限制刪除;沒有任何資料庫物件時才能刪除
<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物件(序列)
3、資料控制語言(DCL:grant,revoke)
將表的特權授予使用者
grant select,update,delete on table tableName to user userName with grant option
將包特權授予同組
grant control on package packageName on group groupName with grant option
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23577591/viewspace-687699/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 常用的DB2命令DB2
- db2 create database 命令DB2Database
- db2編目命令DB2
- DB2命令介紹DB2
- DB2 SQL改寫DB2SQL
- DB2常用命令DB2
- db2 命令列安裝DB2命令列
- 常用的DB2管理命令DB2
- db2 常用命令DB2
- DB2 PL/SQL Example: RunstatsDB2SQL
- DB2實用命令總結DB2
- db2常用命令大全DB2
- 前端面試題小集前端面試題
- DB2 PL/SQL Example: Sleep ProcedureDB2SQL
- DB2常用命令彙總DB2
- DB2 入門命令練習(二)DB2
- DB2 入門命令練習(一)DB2
- 如何寫出更快的 SQL (db2)SQLDB2
- DB2 SQL之行合併(連線)DB2SQL
- DB2 SQL複製知識點DB2SQL
- DB2 PL/SQL Example: bonus_increaseDB2SQL
- DB2 用到的基本SQL語句DB2SQL
- ORACLE和SQL SERVER,DB2對比OracleSQLServerDB2
- DB2檢視鎖等待的SQLDB2SQL
- DB2一些SQL的用法DB2SQL
- Linux 知識小集合Linux
- db2 命令列備份和恢復DB2命令列
- DB2中export命令詳解<<轉載>>DB2Export
- DB2 和SQL Server自增列比較DB2SQLServer
- SQL*PLUS命令, set命令大全SQL
- iOS 開發知識小集(1)iOS
- [DB2]使用recover命令找回刪除的表DB2
- db2 sql輸出帶有單引號DB2SQL
- 資料庫對比SQL SERVER 、 ORACLE、DB2資料庫SQLServerOracleDB2
- DB2開發系列之二——SQL過程DB2SQL
- db2資料庫下幾條有用的命令DB2資料庫
- 在sql*plus裡編輯SQL命令SQL
- DB2 HADR takeover 問題 SQL1387WDB2SQL