一、=========================增删改查表方面=============================

1、创建表:CREATE  TABLE  <TABLE_NAME>(COLUMN1  TYPE1,COLUMN2   TYPE2,......);

2、增加一列:CREATE  TABLE  <TABLE_NAME>   ADD  COLUMN  <COLUMN_NAME>           COL_TYPE;        

3、删除一列:ALTER  TABLE  <TABLE_NAME>   DROP  COLUMN   COLUMN_TYPE

4、删除语句的区别:ALTER   TABLE  ......ACTIVATE  NOT   LOGGED INITIALLY

WITH  EMPTY  TABLE;---删除行的内容(不删除日志)而且表的定义不会被删除,这个命令在删除大表并且不要求日志效率时更有效

DROP  TABLE  ; -----彻底删除一张表,包括表的定义

TRANCATE TABLE <TABLE_NAME> IMMEDIATE

5、修改表名:ALTER  TABLE  <OLD_TABLE_NAME>    RENAME   TO   <NEW_TABLE_NAME> ;

6、修改列名:ALTER   TABLE  <TABLE_NAME>   ALTER  COLUMN  <OLD_COLUMN_NAME >  TO   <NEW_COLUMN_NAME>

7、修改表的表字段类型:ALTER TABLE <TABLE_NAME  ALTER> ALTER  COLUMN   <COL_NAME> SET DATA TYPE  <TYPE_NAME> ;

8、为字段添加默认值:alter table [表名] alter column [字段名] set default [value]

注意:更改字段类型是有限制的,如果字段类型改为比原来表的大的是可以的,如果要改小或者修改小数点长度,必须先drop 原来的column,然后再重新添加3

9、重组表:REORG TABLE <TABLE_NAME>;

10、复制表结构:CREATE TABLE  <TBA>  LIKE <TBC>

11、添加数据:INSERT INTO  <TBA>   (SELECT  * FROM  <TBC>) --其中TBA是和TBC一样的表结构,否则无法添加

12、--设置字段默认时间为当前时间:alter table [表名] alter column [字段名] set default current date

13、列转行:replace(replace(replace(xml2clob(xmlagg(xmlelement(name a,nbjgh || ','))),'<a>',''),'<a>',''),'<a>','')   --实现多行转一行      --nbjgh为字段

14、乘方算法:select powier(3,2) from dual 或者用values()

其中:3--表示任意数字类型字段  2--表示乘方值

15、substr用法:substr(string string ,int a,int b):表示string字符串从字符串本身a的位置开始截取,截取b位数

注意:a表示的是字符串本身的位置,不是下标

16、substr(string string ,int a):表示string 字符串从字符串本身位置a位开始截取,一直到最后

17、清空表数据:TRUNCATE TABLE TABLENAME IMMEDIATE

二、=========================数据库方面===================================

1、查询表结构:select * from sysibm.syscolumns where tbname = '<proc_east_column_check>'

2、备份数据库:db2 backup db <db name>   备注:在执行命令之前需要断开数据库连接

3、恢复数据库:db2 restore db <db name>

4、启动/ 停止数据库实例:db2 start / db2 stop

备注:如果你不能停止数据库是因为激活的连接,在运行db2  stop 前运行db2 force application all / db2 stop force 

5、 创建数据库:db2 create to <db name>  

6、连接到数据库:db2 connect to <db name> user <user_name>  using <password>

7、断开数据库连接:db2 connect reset 

8、列出所有数据库:db2 list  db  directory

9、列出所有激活的数据库:db2 list active  databases

10、列出所有数据库配置: db2  get  db  cfg

11、删除数据库:db2 drop database <db name>   --这个操作要小心,如果删除不了就先断开所有数据库连接或者重启db2

12、数据库(表、文件按)备份:db2look -d <table1、file1>  -e  -a  -o  <table2、file2>

13、查看文件大小:du -sg *

14、db2 数据库导入导出步骤:

        导入数据:db2move databasename export -u  username -p password

        导出数据:db2move  databasename import -u usernsme -p password

============================操作所有数据表命令=============================

1、列出所有用户表:db2 list tables    --要先连接数据库

2、列出所有系统表:db2 list tables for system

3、列出所有表:db2 list tables for all

4、列出用户表:db2 list tables for user

5、列出所有特殊用户表:db2 list tables for schema <user>

        导出单表表结构:db2look -d <table> -u <user> -t <table1><table2> -e -o <脚本名称>.sql

        到处单表表数据:db2move <dbtable> export - tn tablename1,tablename2     /

                        db2 export to <table1> of del select * from  <table2>

6、创建一个和数据库中某个表结构相同的新表:db2  create  table  t1  like  t2

7、将t1表中的数据导入到t2表中:db2 "insert into t1 select * from t2"

8、查询表:db2 "select * from  table_name where ..."

9、显示表结构:db2 describe  table  tablename

10、修改列:db2 alter table <tablename>  alter column <column_name>  set  data type  <type_name>

11、打包:tar -cvf -name | gzip > name.gz 

12、列出表空间:db2  list  tablespaces

==========================脚本文件操作命令=================================

1、执行脚本文件:db2 -tvf  *.sql

2、从一个数据库把一个文件导入到另一个数据库:

        现在我一般用ftp取文件,

        步骤是:①、ftp ip    -----先连上对应的数据库

                      ②、输入用户名与密码

                      ③、bin

                      ④、prompt 

                      ⑤、mget  <file>

                      ⑥、bye  

3、单表数据的导入导出:

        导出:db2move dbname  export -tn tablename -u  db2user -p password

        导入:db2move dbname  import -tn  tablename -u db2user -p password