### DB2基本操作详解 #### 一、表操作 **创建表** ```sql DB2 CREATE TABLE tb1 (id INTEGER NOT NULL, name CHAR(10)); ``` 此命令用于创建一个名为`tb1`的新表,包含两个字段:`id`(整型,不可为空)和`name`(字符型,长度为10个字符)。 **查看表** ```sql DB2 SELECT * FROM tb1; ``` 该命令用于显示表`tb1`中的所有数据记录。 **查看表结构** ```sql DB2 DESCRIBE TABLE tb1; ``` 或者 ```sql DB2 DESCRIBE SELECT * FROM tb1; ``` 这两个命令都可以用来查看表`tb1`的结构信息,包括字段名称、数据类型等。 **修改表结构** ```sql DB2 ALTER TABLE yhdab ALTER kh SET DATA TYPE varchar(13); ``` 这条命令用于修改表`yhdab`中的字段`kh`的数据类型为`varchar(13)`。注意,这里使用了非标准字段名和表名,实际使用时应替换为具体的表名和字段名。 **列出所有表** ```sql DB2 LIST TABLES; ``` 此命令列出当前数据库中所有的表。 **列出所有的系统表** ```sql DB2 LIST TABLES FOR SYSTEM; ``` 这个命令用于列出所有系统表,这些表通常由DB2自身维护,用于存储元数据。 **查看列** ```sql DB2 SELECT * FROM SYSIBM.SYSCOLUMNS WHERE TBNAME = 'TB1'; ``` 这条命令可以从系统表`SYSIBM.SYSCOLUMNS`中获取表`TB1`的所有列的信息。 **重组表** ```sql DB2 REORG TABLE tb1; ``` 此命令用于对表`tb1`进行重组操作,有助于优化表的空间使用和性能。 #### 二、数据操作 **插入数据** ```sql DB2 INSERT INTO tb1 VALUES (1, 'sam'); ``` 此命令将一条新记录插入到表`tb1`中。 **查询数据** ```sql DB2 SELECT * FROM tb1; ``` 此命令用于查询表`tb1`中的所有记录。 **修改数据** ```sql DB2 UPDATE tb1 SET name = 'bbs' WHERE id = 1; ``` 这条命令用于修改表`tb1`中满足条件`id = 1`的记录的`name`字段值为`bbs`。 **删除数据** ```sql DB2 DELETE FROM tb1 WHERE id = 1; ``` 这条命令用于删除表`tb1`中满足条件`id = 1`的记录。 **导出数据** ```sql DB2 EXPORT TO backup01.txt OF FIX F MESSAGES outputResult.txt SELECT * FROM tb1; ``` 此命令将表`tb1`中的所有记录导出到文件`backup01.txt`中,并将执行过程中的消息写入到`outputResult.txt`文件。 **导入数据** ```sql DB2 IMPORT FROM backup01.txt OF FIX F MESSAGES inputResult.txt REPLACE INTO tb1; ``` 这条命令用于将文件`backup01.txt`中的数据导入到表`tb1`中,并将执行过程中的消息写入到`inputResult.txt`文件。 **导出数据库的所有表数据** ```sql DB2 MOVE sunvins EXPORT; ``` 此命令将整个数据库`sunvins`中的所有表数据导出。 **导入数据库所有的数据** ```sql DB2 MOVE sunvins IMPORT; ``` 这条命令用于将之前导出的数据库`sunvins`的数据重新导入。 #### 三、索引 **创建索引** ```sql DB2 CREATE INDEX idx1 ON tb1 (id); ``` 此命令用于在表`tb1`的`id`字段上创建一个索引`idx1`。 **建立唯一性索引** ```sql DB2 CREATE UNIQUE INDEX i_tb1_id ON tb1 (id); ``` 这条命令用于在表`tb1`的`id`字段上创建一个唯一性索引`i_tb1_id`。 **查看表的索引** ```sql DB2 DESCRIBE INDEXES FOR TABLE tb1; ``` 这条命令用于查看表`tb1`上的所有索引信息。 **查看索引** ```sql DB2 SELECT * FROM SYSCAT.INDEXES WHERE INDSCHMEA = 'SUNVINS'; ``` 此命令用于查看用户`SUNVINS`所拥有的所有索引信息。 **删除索引** ```sql DB2 DROP INDEX i_tb1_id; ``` 这条命令用于删除名为`i_tb1_id`的索引。 #### 四、视图 **创建视图** ```sql DB2 CREATE VIEW view1 AS SELECT id FROM tb1; ``` 此命令用于基于表`tb1`创建一个视图`view1`,该视图仅包含`id`字段。 **查询视图** ```sql DB2 SELECT * FROM view1; ``` 此命令用于查询视图`view1`中的所有记录。 **查看视图** ```sql DB2 SELECT * FROM SYSCAT.VIEWS WHERE VIEWSCHEMA = 'SUNVINS'; ``` 这条命令用于查看用户`SUNVINS`所拥有的所有视图信息。 #### 五、数据库实例 **启动实例** ```sql DB2 START; ``` 此命令用于启动DB2实例。 **停止实例** ```sql DB2 STOP; ``` 这条命令用于停止当前运行的DB2实例。 **列出当前实例** ```sql DB2 GET INSTANCE; ``` 这条命令用于列出当前正在运行的DB2实例信息。 **列出所有实例** ```sql DB2 I LIST; ``` 这条命令用于列出所有可用的DB2实例。 #### 六、配置 **察看示例配置文件** ```sql DB2 GET DBMCFG > me.txt; ``` 此命令用于获取DB2数据库管理器的配置信息,并将其保存到文件`me.txt`中。 **察看数据库配置参数信息** ```sql DB2 GET DBCFG FOR sunvins > you.txt; ``` 这条命令用于获取数据库`sunvins`的配置参数信息,并将其保存到文件`you.txt`中。 **更新数据库参数配置信息** ```sql DB2 UPDATE DBCFG FOR test USING para_name para_value; ``` 这条命令用于更新数据库`test`的配置参数`para_name`的值为`para_value`。 **更新数据库管理器参数信息** ```sql DB2 UPDATE DBMCFG USING para_name para_value; ``` 此命令用于更新DB2数据库管理器的配置参数`para_name`的值为`para_value`。 #### 七、数据库 **创建数据库** ```sql DB2 CREATE DB sunvins2; ``` 此命令用于创建一个新的数据库`sunvins2`。 **删除数据库** ```sql DB2 DROP DB sunvins2; ``` 这条命令用于删除数据库`sunvins2`。 **连接数据库** ```sql DB2 CONNECT TO sunvins2 USER myuser USING mypassword; ``` 这条命令用于连接到数据库`sunvins2`,并使用用户名`myuser`和密码`mypassword`。 **重新连接** ```sql DB2 CONNECT RESET; ``` 此命令用于断开当前的数据库连接,并重新建立连接。 **中断数据库连接** ```sql DB2 DISCONNECT DB2_GCB; ``` 这条命令用于中断与数据库`DB2_GCB`的连接。 **备份数据库** ```sql DB2 BACKUP DB sunvins TO d:\otest; ``` 此命令用于将数据库`sunvins`备份到指定路径`d:\otest`。 **还原数据库** ```sql DB2 RESTORE DB sunvins FROM d:\otest TO d:; ``` 这条命令用于从`d:\otest`恢复数据库`sunvins`到`d:`目录下。 **显示当前活动数据库** ```sql DB2 LIST ACTIVE DATABASES > me.txt; ``` 此命令用于显示当前所有活动数据库的信息,并将其保存到文件`me.txt`中。 **生成数据库的定义** ```sql DB2 LOOK -D sunvins -A -E -M -L -X -F -o db2look.sql; ``` 这条命令用于生成数据库`sunvins`的定义脚本,并将其保存到`db2look.sql`文件中。 **生成定义** ```sql DB2 -tvf db2look.sql; ``` 此命令用于执行`db2look.sql`脚本中的定义语句。 **建立别名** ```sql CREATE ALIAS myalias.tb1 FOR tb1; ``` 这条命令用于创建一个别名`myalias.tb1`,指向表`tb1`。 #### 八、编目 **节点编目** ```sql DB2 CATALOG TCP NODE node_name REMOTE SERVER ip server server_port; ``` 此命令用于编录一个TCP/IP节点,其中`node_name`是节点名,`ip`是服务器IP地址,`server_port`是服务器端口。 **测试节点的附接** ```sql DB2 ATTACH TO node_name; ``` 这条命令用于测试与节点`node_name`的连接。 **察看本地节点** ```sql DB2 LIST NODE DIRECTORY; ``` 此命令用于列出当前DB2环境中的所有已编目的节点。 **节点反编目** ```sql DB2 UNCATALOG NODE node_name; ``` 这条命令用于移除节点`node_name`的编目信息。 以上便是DB2中一些常用的基本操作命令及其使用方法的详细介绍。














- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- ISO-2000讲义-质量管理八项原则.doc
- 项目的销售宣传整体布置方案.docx
- 浅析机载气象雷达天线组的修理及维护.doc
- 工程建设招标投标合同(土地工程施工监理服务协议书).doc
- 山西某热电厂场地平整施工方案.doc
- [云南]水电站面板堆石坝坝体填筑施工工艺.docx
- 2022年食药监大数据平台建设方案(智慧食药监整体解决方案).pptx
- 紧邻地铁与高架的深大基坑工程支撑、降水和开挖施工技术.doc
- 地暖细石砼楼面施工技术(安全)交底记录.doc
- 3纤维复合材料粘贴加固工程.docx
- 利用步步紧加固地下室挡土墙混凝土模板(“五小”成果奖).doc
- 2008年注册岩土工程师基础考试真题下午卷.doc
- 培训师聘用合同书.doc
- 苯酐催化剂载体的研究.doc
- 架空线路的拉线.doc
- 合同造价部年终工作总结.doc


