一、=========================增删改查表方面=============================
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