表是由數(shù)據(jù)庫(kù)管理器維護(hù)的邏輯結(jié)構(gòu)。在表中,每個(gè)垂直塊稱為列(元組),每個(gè)水平塊稱為行(實(shí)體)。存儲(chǔ)在列和行的形式數(shù)據(jù)的集合稱為一個(gè)表。在表中,每一列具有不同的數(shù)據(jù)類型。表被用來(lái)存儲(chǔ)持久數(shù)據(jù)。
以下是創(chuàng)建表的語(yǔ)法:
語(yǔ)法:[創(chuàng)建一個(gè)新表]
db2 create table <schema_name>.<table_name> (column_name column_type....) in <tablespace_name>
比如:我們創(chuàng)建一個(gè)表來(lái)存儲(chǔ)“employee”的詳細(xì)信息在“professional”的模式。此表有“id, name, jobrole, joindate, salary”字段和本表數(shù)據(jù)將被存儲(chǔ)在表空間“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.
以下用于列出表的詳細(xì)信息的語(yǔ)法:
語(yǔ)法:[查看含有模式創(chuàng)建的表的列表]
db2 select tabname, tabschema, tbspace from syscat.tables
例如:[查看當(dāng)前數(shù)據(jù)庫(kù)表的列表]
db2 select tabname, tabschema, tbspace from syscat.tables
輸出:
TABNAME TABSCHEMA TBSPACE ------------ ------------- -------- EMPLOYEE PROFESSIONAL TS1 1 record(s) selected.
以下列出一個(gè)表中的列的語(yǔ)法:
語(yǔ)法:[查看表的列和數(shù)據(jù)類型]
db2 describe table <table_name>
例如:[查看表'employee'的數(shù)據(jù)類型和列]
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.
可以隱藏表的整個(gè)列。如果使用“select * from”查詢,隱藏的列不在結(jié)果表中返回。當(dāng)將數(shù)據(jù)插入一個(gè)表格,一個(gè)“INSERT”沒(méi)有列列表語(yǔ)句,不指示值的任何隱式隱藏列。這些類型的列在物化查詢表高度引用。這些類型的列不支持創(chuàng)建臨時(shí)表。
下面是使用隱藏列創(chuàng)建表的語(yǔ)法:
語(yǔ)法:[創(chuàng)建具有隱藏列的表]
db2 create table <tab_name> (col1 datatype,col2 datatype implicitly hidden)
例如:要?jiǎng)?chuàng)建一個(gè)“customer”表中隱藏列“phone”]
db2 create table professional.customer(custid integer not null, fullname varchar(100), phone char(10) implicitly hidden)
以下插入到表中的值的語(yǔ)法:
語(yǔ)法:[插入值到一個(gè)表]
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.
以下從表中檢索值的語(yǔ)法:
語(yǔ)法:[從表中檢索值]
db2 select * from <tab_name>
例如:[檢索“customer”表中的值]
db2 select * from professional.customer
輸出
CUSTID FULLNAME -----------上一篇:DB2角色下一篇:DB2別名/alias