在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數據庫/ DB2表
DB2表空間
DB2序列
DB2數據類型
DB2教程
DB2 LDAP
DB2模式
DB2數據庫安全
DB2與XML
DB2角色
DB2表
DB2數據庫
DB2視圖
DB2實例
DB2服務器安裝
DB2緩沖池
DB2索引
DB2別名/alias
DB2備份和恢復
DB2約束
DB2觸發(fā)器
DB2存儲組

DB2表

表是由數據庫管理器維護的邏輯結構。在表中,每個垂直塊稱為列(元組),每個水平塊稱為行(實體)。存儲在列和行的形式數據的集合稱為一個表。在表中,每一列具有不同的數據類型。表被用來存儲持久數據。

表類型

  • 基本表:持有持久性數據。有不同種類的基表,其中包括:
    • 常規(guī)表:通用表,帶有索引常見表是通用表。
    • 多維聚類表(MDC):這種類型的表中的物理聚集在一個以上的鍵,它用來保持大量數據庫環(huán)境。未在DB2 pureScale的支持這些類型的表。
    • 插入時間集群表(ITC):類似于MDC表,行是由它們插入到表的時間聚集。它們可以被分區(qū)表。他們不支持pureScale環(huán)境。
    • 系列集群表表(RCT):這種類型的表提供數據的快速和直接訪問。這些被實現為連續(xù)簇。表中的每個記錄有一個記錄ID。這些類型的表的使用,其中的數據被緊密地與在表中的一個或多個列群集。這種類型的表也不會在DB2 pureScale的支持。
    • 分區(qū)表:這些類型的表中使用的數據組織模式,在這種表中的數據被劃分成多個存儲對象。數據分區(qū)可以被添加到,附著和脫離一個分區(qū)表??梢詮谋碇幸粋€表中存儲多個數據分區(qū)。
    • 時態(tài)表:在數據庫中的表的歷史被存儲在表中的時間,如先前所做的修改的細節(jié)。
  • 臨時表: 對于不同的數據庫操作的臨時工作,需要使用臨時表。臨時表(DGTTs)不會出現在系統目錄中,XML列不能在創(chuàng)建臨時表使用。
  • 實體化查詢表: MQT可用于提高查詢性能。這些類型的表是由一個查詢,它被用于確定表中的數據來定義。

創(chuàng)建表

以下是創(chuàng)建表的語法:

語法:[創(chuàng)建一個新表]

db2 create table <schema_name>.<table_name>
(column_name column_type....) in <tablespace_name>   

比如:我們創(chuàng)建一個表來存儲“employee”的詳細信息在“professional”的模式。此表有“id, name, jobrole, joindate, salary”字段和本表數據將被存儲在表空間“ts1”。

db2 create table professional.employee(id int, name 
varchar(50),jobrole varchar(30),joindate date, 
salary double) in ts1    

輸出:

DB20000I The SQL command completed successfully.    

表詳細信息列表

以下用于列出表的詳細信息的語法:

語法:[查看含有模式創(chuàng)建的表的列表]

db2 select tabname, tabschema, tbspace from syscat.tables    

例如:[查看當前數據庫表的列表]

db2 select tabname, tabschema, tbspace from syscat.tables     

輸出:

TABNAME      TABSCHEMA     TBSPACE 
------------ ------------- -------- 
EMPLOYEE     PROFESSIONAL    TS1  


 1 record(s) selected.     

表中的列的列表

以下列出一個表中的列的語法:

語法:[查看表的列和數據類型]

db2 describe table <table_name>    

例如:[查看表'employee'的數據類型和列]

db2 describe table professional.employee     

輸出

             Data type                   Column 
Column name  schema    Data type name    Length    Scale Nulls 
------ ----- --------- ----------------- --------- ----- ------ 
ID           SYSIBM    INTEGER             4         0     Yes 
NAME         SYSIBM    VARCHAR             50        0     Yes 
JOBROLE      SYSIBM    VARCHAR             30        0     Yes 
JOINDATE     SYSIBM    DATE                4         0     Yes 
SALARY       SYSIBM    DOUBLE              8         0     Yes  

  5 record(s) selected.   

隱藏列

可以隱藏表的整個列。如果使用“select * from”查詢,隱藏的列不在結果表中返回。當將數據插入一個表格,一個“INSERT”沒有列列表語句,不指示值的任何隱式隱藏列。這些類型的列在物化查詢表高度引用。這些類型的列不支持創(chuàng)建臨時表。

隱藏列創(chuàng)建表

下面是使用隱藏列創(chuàng)建表的語法:

語法:[創(chuàng)建具有隱藏列的表]

db2 create table <tab_name> (col1 datatype,col2 datatype 
implicitly hidden)    

例如:要創(chuàng)建一個“customer”表中隱藏列“phone”]

db2 create table professional.customer(custid integer not 
null, fullname varchar(100), phone char(10) 
implicitly hidden)     

插入數據值到表中

以下插入到表中的值的語法:

語法:[插入值到一個表]

db2 insert into <tab_name>(col1,col2,...)
 values(val1,val2,..)    

例如:[在“customer”表中插入值]

db2 insert into professional.customer(custid, fullname, phone) 
values(100,'ravi','9898989')


db2 insert into professional.customer(custid, fullname, phone) 
values(101,'krathi','87996659')


db2 insert into professional.customer(custid, fullname, phone) 
values(102,'gopal','768678687')

輸出

DB20000I  The SQL command completed successfully.

從表中檢索值

以下從表中檢索值的語法:

語法:[從表中檢索值]

db2 select * from <tab_name>    

例如:[檢索“customer”表中的值]

db2 select * from professional.customer 

輸出

CUSTID      FULLNAME 
-----------
            
上一篇:DB2角色下一篇:DB2別名/alias