DB2第一步 — 创建表
DB2第一步 — 创建表为即将创建的表建立表空间,先建立一个缓冲池,名字:BUFPOL01CREATEBUFFERPOOL BUFPOL01 IMMEDIATE –立即创建此缓冲池SIZE250 --大小为250(个4K)AUTOMATIC --自动管理PAGESIZE4 K ; --页大小为4K缓冲池是内存中的一段空间,用于存放数据库管理器从磁盘上读取的数据或修改即将写入磁盘的数据,一个临时的用于存放表或者索引缓存的内存段。缓冲池能够提高数据库的性能,较少磁盘IO;如果应用程序需要的数据存放于内存中,而不是去读取磁盘,那么性能其性能将会得到很大的改观;当然,缓冲池也会将最近很少使用的数据写回磁盘,腾出更多的空间。在DB2 V9.7 for LUW中,创建一个库的时候,默认会创建一个IBMDEFAULTBP的缓冲池,大小为250个4KB。查看数据库版本的方法:1. 连接数据库的时候,显示:db2 =>connect to sample数据库连接信息数据库服务器 = DB2/NT 9.7.5SQL 授权标识 = ADMINIST...本地数据库别名 = SAMPLE2. 命令查看db2 =>select * from sysibm.sysversionsVERSIONNUMBER VERSION_TIMESTAMP AUTHID VERSIONBUILDLEVEL-------------------------- ------------------------------- --------------------- ------------------------------9070500 2013-03-17-21.18.32.187000 SYSTEM special_27924修改一下缓冲池的大小,改为2M,还是自动存储:ALTERBUFFERPOOL BUFPOL01 IMMEDIATE SIZE 500 AUTOMATIC;创建表空间TBSPC01:CREATE REGULAR TABLESPACE TBSPC01 –-常规表空间,名称为TBSPC01PAGESIZE 4 K --页大小为4KMANAGED BY AUTOMATIC STORAGE --自动存储管理EXTENTSIZE 8 --扩展数据块为8(个4K)OVERHEAD 10.5 --开销PREFETCHSIZE 8 --预取大小为8(个4K)TRANSFERRATE 0.14BUFFERPOOL BUFPOL01 --指定缓冲池DROPPED TABLE RECOVERY ON; --打开的话,可以恢复已经删除的表,常规表空间可以使用COMMENT ON TABLESPACE TBSPC01 IS '表空间01'; -- 注释表空间是一个逻辑的概念,逻辑上表是存放在表空间中,实质上,表是存放在物理磁盘上;一个表空间可以存放多个表,但是一个表只能位于一个表空间中。在安装创建SAMPLE数据库实例的时候,默认创建了4个表空间:IBMDB2SAMPLEREL:常规表空间,IBMDB2SAMPLEXML:用于存放XML数据类型的表空间SYSCATSPACE:系统编目表空间,也就是数据字典存放的表空间SYSTOOLSPACE:接下来就创建表了:CREATE TABLE ADMINISTRATOR.TEST1 (CID CHARACTER (10) NOT NULL ,CNAME VARCHAR (20) WITH DEFAULT 'unknow' ,SEX CHARACTER (1) NOT NULL WITH DEFAULT 'M' ,AGE INTEGER ,CONSTRAINT IDX_TEST_CID PRIMARY KEY ( CID),CONSTRAINT CHK_SEX CHECK (check 易做图 in ('F','M'))ENFORCED --强制执行此约束ENABLE QUERY OPTIMIZATION --查询优化期间考虑此约束) IN TBSPC01 ;COMMENT ON TABLE ADMINISTRATOR.TEST1 IS '测试表1';COMMENT ON ADMINISTRATOR.TEST1 ( SEX IS '性别', CNAME IS'客户姓名', CID IS '客户ID', AGE IS '年龄' ) ;COMMENTON CONSTRAINT ADMINISTRATOR.TEST1.CHK_SEX IS '性别只能为F或者M';查看创建的表结构及其他信息:db2 => describe table test1数据类型 列列名 模式 数据类型名称 长 小数位 NULL------------------------------- ------------- ------------------- ---------- ----- ------CID SYSIBM CHARACTER 10 0 否CNAME SYSIBM VARCHAR 20 0 是SEX SYSIBM CHARACTER 1 0 否AGE SYSIBM INTEGER 4 0 是4 条记录已选择。向表中添加数据:1. 添加一行db2 =>insert into test1(cid , cname , 易做图 , age) values ('12082119','chenlb','M',24)DB20000I SQL 命令成功完成。db2 =>select * from test1CID CNAME SEX AGE------------------------------ --- -----------12082119 chenlb M 241 条记录已选择。2. 添加多行:在insert into tablename values之后指定多个值。db2=> insert into test1(cid , cname , 易做图 , age) values('12082111','albert','M',15),('12082011','ellen','F',10)DB20000I SQL 命令成功完成。db2 => select * from test1CID CNAME SEX AGE---------- -------------------- --------------12082011 ellen F 1012082111 albert M 1512082119 chenlb M 243 条记录已选择。3. 从其他表中获取数据db2 =&上一个:db2日期和时间常用汇总
下一个:DB2分区表增加分区
- 更多DB2疑问解答:
- sql语句 从DB2移动到其他数据库
- DB2 character类型更新报错
- db2 怎么查看执行的sql语句需要多少系统临时表空间?
- db2数据库的table表里,一money字段中的数据显示为:56000,00 本人想要用sql语句将它修改为56,000,000
- DB2导出表结构,能不能只导出指定的表结构。求大神指教,给出命令哈
- DB2数据库,增加数据表空间容量需要重启数据库吗?
- cognos连接db2,为什么启动不了服务啊, 连接Oracle可以启动服务。。
- PostgreSQL对比DB2
- db2如何查看编写好的存储过程?
- db2数值截取
- 谁知道关于DB2怎么看系统日志,归档日志的位置。并且怎么修改日志呢?
- db2怎样重组表结构?
- 求一本【牛新庄的DB2运维教程】?
- db2 的 SECADM权限 是干什么的
- DB2怎么删除表空间所以数据