db2表
表是由數(shù)據(jù)庫(kù)管理器維護(hù)的邏輯結(jié)構(gòu)。在表中,每個(gè)垂直塊稱(chēng)為列(元組),每個(gè)水平塊稱(chēng)為行(實(shí)體)。存儲(chǔ)在列和行的形式數(shù)據(jù)的集合稱(chēng)為一個(gè)表。在表中,每一列具有不同的數(shù)據(jù)類(lèi)型。表被用來(lái)存儲(chǔ)持久數(shù)據(jù)。
表類(lèi)型
創(chuàng)建表
以下是創(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ì)信息列表
以下用于列出表的詳細(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ù)類(lèi)型]
db2 describe table <table_name>
例如:[查看表'employee'的數(shù)據(jù)類(lèi)型和列]
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”查詢(xún),隱藏的列不在結(jié)果表中返回。當(dāng)將數(shù)據(jù)插入一個(gè)表格,一個(gè)“insert”沒(méi)有列列表語(yǔ)句,不指示值的任何隱式隱藏列。這些類(lèi)型的列在物化查詢(xún)表高度引用。這些類(lèi)型的列不支持創(chuàng)建臨時(shí)表。
隱藏列創(chuàng)建表
下面是使用隱藏列創(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)
插入數(shù)據(jù)值到表中
以下插入到表中的值的語(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 ----------- ------------------------ 100 ravi 101 krathi 102 gopal 3 record(s) selected.
從包括隱藏列的表中檢索值
以下從選定列檢索值的語(yǔ)法:
語(yǔ)法:[從表中檢索選擇隱藏的列的值]
db2 select col1,col2,col3 from <tab_name>
例如:[從表中檢索所選列的值的結(jié)果]
db2 select custid,fullname,phone from professional.customer
輸出:
custid fullname phone ------- --------- ------------ 100 ravi 9898989 101 krathi 87996659 102 gopal 768678687 3 record(s) selected.
如果想看到隱藏的列中的數(shù)據(jù),需要執(zhí)行“describe”命令。
語(yǔ)法:
db2 describe table <table_name> show detail
示例:
db2 describe table professional.customer show detail
輸出:
column name data type schema data type name column column partitionkey code length scale nulls number sequence page hidden default --------------- -------------------- --------------- -------- ---- ---- -------- ---------- ------------- -------- ----------- ------ --- custid sysibm integer 4 0 no 0 0 0 no fullname sysibm varchar 100 0 yes 1 0 1208 no phone sysibm character 10 0 yes 2 0 1208 implicitly 3 record(s) selected.
改變表列的類(lèi)型
可以使用“alter”命令,如下所示修改表結(jié)構(gòu):
語(yǔ)法
db2 alter table <tab_name> alter column <col_name> set data type <data_type>
示例:?jiǎn)T工表列“id”從“int”修改到“bigint”的數(shù)據(jù)類(lèi)型]
db2 alter table professional.employee alter column id set data type bigint
輸出:
db20000i the sql command completed successfully.
變更列名
可以更改列名,如下所示:
語(yǔ)法:[修改表的列名從舊名稱(chēng)到新名稱(chēng)]
db2 alter table <tab_name> rename column <old_name> to <new_name>
示例:為了“customers”表列名從“fullname”修改為“custname”]
db2 alter table professional.customer rename column fullname to custname
刪除表
要?jiǎng)h除任何表,則需要使用“drop”命令,如下所示:
語(yǔ)法
db2 drop table <tab_name>
示例:[從數(shù)據(jù)庫(kù)中刪除customer表]
db2 drop table professional.customers
要?jiǎng)h除表(包括觸發(fā)器和關(guān)系),需要使用“drop table hierarchy”命令刪除整個(gè)層次。
語(yǔ)法:
db2 drop table hierarchy <tab_name>
示例:[要?jiǎng)h除表'customer'的整個(gè)層次]
db2 drop table hierarchy professional.customers
- Oracle 11g安裝教程
- Oracle Where子句
- Oracle Fetch子句
- Oracle Between子句
- Oracle Like子句
- Oracle 怎么刪除外鍵
- Linux Memcached 安裝
- Memcached gets 命令
- PHP 連接 Memcached 服務(wù)
- DB2實(shí)例
- DB2緩沖池
- DB2 別名
- DB2索引
- DB2角色
- Oracle中的table()函數(shù)使用
- Oracle數(shù)據(jù)庫(kù)表空間超詳細(xì)介紹
- oracle數(shù)據(jù)庫(kù)id自增及生成uuid問(wèn)題
- Oracle導(dǎo)出文本文件的三種方法(spool,UTL_FILE,sqluldr2)
- Oracle試用到期如何刪除注冊(cè)表繼續(xù)試用30天
- Oracle?19c的參數(shù)sec_case_sensitive_logon與ORA-01017錯(cuò)誤問(wèn)題分析