db2表
表是由数据库管理器维护的逻辑结构。在表中,每个垂直块称为列(元组),每个水平块称为行(实体)。存储在列和行的形式数据的集合称为一个表。在表中,每一列具有不同的数据类型。表被用来存储持久数据。
表类型
创建表
以下是创建表的语法:
语法:[创建一个新表]
db2 create table <schema_name>.<table_name> (column_name column_type....) in <tablespace_name>
比如:我们创建一个表来存储“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.
表详细信息列表
以下用于列出表的详细信息的语法:
语法:[查看含有模式创建的表的列表]
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”没有列列表语句,不指示值的任何隐式隐藏列。这些类型的列在物化查询表高度引用。这些类型的列不支持创建临时表。
隐藏列创建表
下面是使用隐藏列创建表的语法:
语法:[创建具有隐藏列的表]
db2 create table <tab_name> (col1 datatype,col2 datatype implicitly hidden)
例如:要创建一个“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 ----------- ------------------------ 100 ravi 101 krathi 102 gopal 3 record(s) selected.
从包括隐藏列的表中检索值
以下从选定列检索值的语法:
语法:[从表中检索选择隐藏的列的值]
db2 select col1,col2,col3 from <tab_name>
例如:[从表中检索所选列的值的结果]
db2 select custid,fullname,phone from professional.customer
输出:
custid fullname phone ------- --------- ------------ 100 ravi 9898989 101 krathi 87996659 102 gopal 768678687 3 record(s) selected.
如果想看到隐藏的列中的数据,需要执行“describe”命令。
语法:
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.
改变表列的类型
可以使用“alter”命令,如下所示修改表结构:
语法
db2 alter table <tab_name> alter column <col_name> set data type <data_type>
示例:员工表列“id”从“int”修改到“bigint”的数据类型]
db2 alter table professional.employee alter column id set data type bigint
输出:
db20000i the sql command completed successfully.
变更列名
可以更改列名,如下所示:
语法:[修改表的列名从旧名称到新名称]
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
删除表
要删除任何表,则需要使用“drop”命令,如下所示:
语法
db2 drop table <tab_name>
示例:[从数据库中删除customer表]
db2 drop table professional.customers
要删除表(包括触发器和关系),需要使用“drop table hierarchy”命令删除整个层次。
语法:
db2 drop table hierarchy <tab_name>
示例:[要删除表'customer'的整个层次]
db2 drop table hierarchy professional.customers
- Oracle 11g安装教程
- Oracle Where子句
- Oracle Fetch子句
- Oracle Between子句
- Oracle Like子句
- Oracle 怎么删除外键
- Linux Memcached 安装
- Memcached gets 命令
- PHP 连接 Memcached 服务
- DB2实例
- DB2缓冲池
- DB2 别名
- DB2索引
- DB2角色
- Oracle中的table()函数使用
- Oracle数据库表空间超详细介绍
- oracle数据库id自增及生成uuid问题
- Oracle导出文本文件的三种方法(spool,UTL_FILE,sqluldr2)
- Oracle试用到期如何删除注册表继续试用30天
- Oracle 19c的参数sec_case_sensitive_logon与ORA-01017错误问题分析