DB2常用SQL语句集
db2常用sql语句

授权
grant dbadm on database to user bb
24.
列出所有的系统表
list tables for system
25.
查看表结构
db2 describe select * from user.tables
27.
导出单个表结构到一个文件
db2look -d masa -e -u MASAMK -a -t PSC_MODE_SCORE_200503 -o aa.out
CONFIG PARTITIONING_DBPARTNUMS(0,1,2,3)
装载语句:(消息文件)
load client FROM /export/masaetl/work/data/org_data/cond.avl \
of DEL MODIFIED BY COLDEL0x09 MESSAGES /export/masaetl/111 \
db2 force application ID1,ID2,,,Idn MODE ASYNC
(db2 list application for db o_yd show detail)
16.
备份数据库
db2 force application all
db2 backup db o_yd to d:
10.
连接数据库
db2 connect to o_yd user db2 using pwd
11.
读数据库管理程序配置
db2 get dbm cfg
12.
写数据库管理程序配置
db2 update dbm cfg using 参数名 参数值
SQL基本常用语句大全

一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1. dat'--- 开始备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根据已有的表创建新表:A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only5、说明:删除新表drop table tabname6、说明:增加一个列Alter table tabname add column col type注:列增加后将不能删除。
DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键:Alter table tabname add primary key(col)说明:删除主键: Alter table tabname drop primary key(col)8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:create view viewname as select statement删除视图:drop view viewname10、说明:几个简单的基本的sql语句选择:select * from table1 where 范围插入:insert into table1(field1,field2) values(value1,value2)删除:delete from table1 where 范围更新:update table1 set field1=value1 where 范围查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!排序:select * from table1 order by field1,field2 [desc]总数:select count as totalcount from table1求和:select sum(field1) as sumvalue from table1平均:select avg(field1) as avgvalue from table1最大:select max(field1) as maxvalue from table1最小:select min(field1) as minvalue from table111、说明:几个高级查询运算词A:UNION 运算符UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。
db2常用SQL语句详解

常用SQL语句详解到今天为止,人们对关系数据库做了大量的研究,并开发出关系数据语言,为操作关系数据库提供了方便的用户接口。
关系数据语言目前有几十种,具有增加、删除、修改、查询、数据定义与控制等完整的数据库操作功能。
通常把它们分为两类:关系代数类和关系演算类。
在这些语言中,结构化查询语言SQL以其强大的数据库操作功能、口语化、易学易用等特点,受到广泛的应用,成为数据库应用程序开发的一柄利剑。
在数据库应用程序开发过程中,巧妙地使用SQL语句,可以简化编程,起到事半功倍的效果,本书中有些实例也大量使用了SQL语句。
它由两部分组成,数据定义语言(DDL)和数据操作语言(DML)。
(1) 数据定义语言(DDL)数据定义语言用来定义数据库的各级模式。
常用关键字有:Create(建立数据表)、Alter(更改数据表)、Drop(删除数据表)。
建立数据表CREATE TABLE table_name(column1 DATATYPE [NOT NULL] [NOT NULL PRIMARY KEY],column2 DATATYPE [NOT NULL],...)说明:上面的DATATYPE 指的是字段的类型,NUT NULL 指是否为空,PRIMARY KEY 指本表的主键。
建立索引CREATE INDEX index_name ON table_name (column_name)说明:为数据表格的某个字段建立索引以增加查询时的速度。
更改数据表ALTER TABLE table_name ADD COLUMN column_name DATATYPE说明:增加一个字段。
ALTER TABLE table_name ADD PRIMARY KEY (column_name)说明:将某个字段设为主键。
ALTER TABLE table_name DROP PRIMARY KEY (column_name)说明:将某个字段的主键定义取消。
db2 sql 教程

Alter table tabname add primary key(col)
删除主键:
Alter table tabname drop primary key(col)
删除表:drop table tabname
3、表空间:
创建表空间:create tablespace tbsname pagesize 4k managed by database using (file ‘file’ size)
语法格式:
Rollback [work]
高级sql简单介绍
一、查询间使用运算词
A: UNION 运算符
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
删除表空间:drop tablespace tbsname
4、索引:
创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
[color=blue:b36c9124a3]注:索引是不可更改的,想更改必须删除重新建。[/color:b36c9124a3]
表空间加入容器:alter tablespace tablespace_name add(file 'filename' size)
db2批量插入sql写法 -回复

db2批量插入sql写法-回复【db2批量插入SQL写法】在DB2数据库中,批量插入数据是一种高效的操作方式,可以减少数据库的负载和提高插入数据的效率。
本文将从以下几个方面介绍DB2数据库的批量插入SQL写法。
一、什么是批量插入?批量插入是将一批数据一次性插入到数据库中的操作。
相对于一条一条逐条插入的方式,批量插入可以大大减少网络传输开销和插入操作的次数,从而提高数据库的性能。
二、批量插入SQL的写法DB2数据库提供了批量插入数据的功能,可以通过INSERT语句的VALUES子句和SELECT子句来实现批量插入。
下面是批量插入SQL的写法示例:1. 使用INSERT的VALUES子句进行批量插入:INSERT INTO 表名(列1, 列2, 列3)VALUES(值1, 值2, 值3),(值4, 值5, 值6),...通过在INSERT语句的VALUES子句中指定多个VALUE行,可以实现对多条数据的一次插入。
2. 使用INSERT的SELECT子句进行批量插入:INSERT INTO 表名(列1, 列2, 列3)SELECT 值1, 值2, 值3UNION ALLSELECT 值4, 值5, 值6UNION ALL...通过使用INSERT的SELECT子句,可以从其他表中选择数据并插入到目标表中。
三、批量插入SQL的性能优化虽然批量插入可以提高数据库的性能,但在实际应用中,还可以通过以下几个方面来进一步优化性能:1. 使用预编译语句:使用预编译语句可以减少SQL解析和优化的开销,提高插入操作的效率。
2. 设置适当的事务大小:将批量插入操作分为多个事务,可以减小每个事务的大小,避免单个事务过大导致的性能问题。
3. 使用合适的数据导入方法:如果插入的数据量非常大,可以考虑使用DB2数据库提供的LOAD命令或者IMPORT命令来进行数据导入,这些命令可以进一步提高数据插入的速度。
4. 合理设置数据库参数:在进行批量插入操作之前,可以根据具体的需求,对DB2数据库的参数进行调整,以满足批量插入操作的需求。
db2数据库运维常用命令集

db2数据库运维常用命令集在执行如下命令时,需要首先在客户端运行中输入db2cmd进行初始化或者su到db2的实例下操作。
一、常识性命令1、db2 connect to <数据库名> --连接到本地数据库名db2 connect to <数据库名> user <用户名> using <密码> --连接到远端数据库2、 db2 force application all --强迫所有应用断开数据库连接3、db2 backup db db2name<数据库名称> --备份整个数据库数据db2 restore db --还原数据库4、db2 list application --查看所有连接(需要连接到具体数据库才能查看)5、db2stop --停止数据库 db2start --启动数据库6、create database <数据库名> using codeset utf-8 territory CN --创建数据库使用utf-8编码7、db2 catalog 命令db2 catalog tcpip node <接点名称> remote <远程数据库地址> server <端口号> --把远程数据库映射到本地接点一般为50000db2 catalog db <远程数据库名称> as <接点名称> at node PUB11 --远程数据库名称到本地接点db2 CONNECT TO <接点名称> user <用户名> using <密码> --连接本地接点访问远程数据库8、数据库导出db2look -d <数据库名> -u <用户> -e -o <脚本名称>.sql --导出数据库的表结构,其中用户空间一般为db2admin/db2inst2db2look -d <数据库名> -u <用户> -t <表1> <表2> -e -o <脚本名称>.sql --导出数据库中表1和表2的表结构db2move <数据库名> export --导出数据库数据db2move <数据库名> export -tn <表1>,<表2> --导出数据库中表和表数据9、数据库导入db2 -tvf <脚本名称>.sql --把上述导出的表结构导入到数据库表结构db2move <数据库名> load -lo replace --把上述“db2move <数据库名> export “导出的数据导入到数据库中并把相同的数据替换掉在实际使用过程中,如果用到db2自增主键,需要使用by default,而不是always,功能是一样的,但这样在数据移植时候会很方便!10、db2 connect reset 或 db2 terminate --断开与数据库的连接11、db2set db2codepage=1208 --修改页编码为120812、db2 describe table <表名> --查看表结构13、db2 list tables --查看数据库中所有表结构db2 list tables for system --列出所有系统表14、db2 list tablespaces --列出表空间15、fetch first 10 rows only --列出表中前10条数据例如:select * from <表名> fetch first 10 rows only16、coalesce(字段名,转换后的值) --对是null的字段进行值转换例如:select coalesce(id,1) from <表名> --对表中id如果为null转换成1二、导入数据:1、以默认分隔符加载,默认为“,”号db2 "import from btpoper.txt of del insert into btpoper"2、以指定分隔符“|”加载db2 "import from btpoper.txt of del modified by coldel| insert into btpoper"三、卸载数据:1、卸载一个表中全部数据db2 "export to btpoper.txt of del select * from btpoper"db2 "export to btpoper.txt of del modified by coldel| select * from btpoper"2、带条件卸载一个表中数据db2 "export to btpoper.txt of del select * from btpoper wherebrhid='907020000'"db2 "export to cmmcode.txt of del select * from cmmcode where codtp='01'"db2 "export to cmmcode.txt of del modified by coldel| select * from cmmcode where codtp='01'"四、查询数据结构及数据:db2 "select * from btpoper"db2 "select * from btpoper where brhid='907020000' and oprid='0001'"db2 "select oprid,oprnm,brhid,passwd from btpoper"五、删除表中数据:db2 "delete from btpoper"db2 "delete from btpoper where brhid='907020000' or brhid='907010000'"六、修改表中数据:db2 "update svmmst set prtlines=0 where brhid='907010000' and jobtp='02'"db2 "update svmmst set prtlines=0 where jobtp='02' or jobtp='03'"七、联接数据库db2 connect to btpdbs八、清除数据库联接db2 connect reset 断开数据库连接db2 terminate 断开数据库连接db2 force applications all 断开所有数据库连接九、备份数据库1、 db2 backup db btpdbs2、 db2move btpdbs exportdb2look -d btpdbs -e -x [-a] -o crttbl.sql十、恢复数据库1、 db2 restore db btpdbs without rolling forward2、 db2 -tvf crtdb.sqlcrtdb.sql文件内容:create db btpdbs on /db2catalogdb2 -stvf crttbl.sqldb2move btpdbs import十一、DB2帮助命令:db2 ?db2 ? restroedb2 ? sqlcode (例:db2 ? sql0803) 注:code必须为4位数,不够4位,前面补0十二、bind命令:将应用程序与数据库作一捆绑,每次恢复数据库后,建议都要做一次bind(1) db2 bind br8200.bnd(2) /btp/bin/bndall /btp/bnd/btp/bin/bndall /btp/tran/bnd十三、查看数据库参数:db2 get dbm cfgdb2 get db cfg for btpdbs十四、修改数据库参数:db2 update db cfg for btpdbs using LOGBUFSZ 20db2 update db cfg for btpdbs using LOGFILSIZ 5120改完后,应执行以下命令使其生效:db2 stopdb2 start其他常用命令还有:db2 set schema btp 修改当前模式为"btp"db2 list tablespaces show detail 查看当前数据库表空间分配状况db2 list tablespace containers for 2 show detail 查看tablespace id=2使用容器所在目录db2 list applicationdb2 list db directory 列出所有数据库db2 list active databases 列出所有活动的数据库db2 list tables for all 列出当前数据库下所有的表db2 list tables for schema btp 列出当前数据库中schema为btp的表db2 list tablespaces show detail 显示数据库空间使用情况删除一个实例:# cd /usr/lpp/db2_07_01/instance# ./db2idrop InstName列出所有DB2实例:# ./db2ilist为数据库建立编目$ db2 catalog db btpdbs on /db2catalog取消已编目的数据库btpdbs$ db2 uncatalog db btpdbs查看版本# db2level显示当前数据库管理实例$ db2 get instance设置实例系统启动时是否自动启动。
DB2_SQL语言

– WHERE子句:指定查询条件
– GROUP BY子句:对查询结果按指定列的值 分组,该属性列值相等的元组为一个组。通常 会在每组中作用集函数。
– HAVING短语:筛选出只有满足指定条件的组
– ORDER BY子句:对查询结果表按指定列值的 升序或降序排序
• SELECT WORKDEPT, MAX(SALARY) AS MAXIMUM
• FROM EMPLOYEE • WHERE HIREDATE > '1979-01-01' • GROUP BY WORKDEPT • ORDER BY WORKDEPT DESC
• GROUP BY子句的作用对象是查询的中间 结果表
逻辑操作符
• AND • OR • NOT
• SELECT DEPT, NAME, JOB • FROM STAFF • WHERE JOB = 'Clerk' • AND DEPT = 20
3 排序
• 带ORDER BY从句
SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式>] …
20000.00
• SELECT EMPNO, SALARY • FROM EMPLOYEES • WHERE SALARY NOT BETWEEN 10000.00
AND 30000.00
LIKE 模糊匹配
• 通配符: • _ 任意一个字符 • % 0或者若干个字符
• SELECT EMPNO, LASTNAME • FROM EMPLOYEE • WHERE LASTNAME LIKE 'S%'
常用经典SQL语句大全完整版

常用经典SQL语句大全完整版--详解+实例下列语句部分是Mssql语句,不可以在access中使用。
SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句:1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建备份数据的deviceUSE masterEXECsp_addumpdevice ’disk’, ’testBack’, ’c:\mssql7backup\MyNwind_1.d at’--- 开始备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根据已有的表创建新表:A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only5、说明:删除新表:drop table tabname6、说明:增加一个列:Alter table tabname add column col type注:列增加后将不能删除。
DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键:Alter table tabname add primary key(col)说明:删除主键:Alter table tabname drop primary key(col)8、说明:创建索引:create [unique] index idxname on tabname(col….)删除索引:drop index idxname注:索引是不可更改的,想更改必须删除重新建。
db2数据库 sql常用命令

DB2数据库 SQL常用命令一、连接数据库1. 从命令行连接数据库- 语法: db2 connect to <database_name> user <username> using <password>- 示例: db2 connect to sample user db2inst1 using passw0rd2. 从命令行断开数据库连接- 语法: db2 connect reset- 示例: db2 connect reset3. 显示当前连接的数据库- 语法: db2 list database directory- 示例: db2 list database directory二、管理数据库对象4. 创建数据库- 语法: db2 create database <database_name>- 示例: db2 create database sample5. 删除数据库- 语法: db2 drop database <database_name>- 示例: db2 drop database sample6. 创建表- 语法: db2 create table <table_name> (<column1_name> <data_type>, <column2_name> <data_type>, ...)- 示例: db2 create table employee (id int, name varchar(50), age int)7. 删除表- 语法: db2 drop table <table_name>- 示例: db2 drop table employee8. 插入数据- 语法: db2 insert into <table_name> values (<value1>,<value2>, ...)- 示例: db2 insert into employee values (1, 'John', 25)9. 删除数据- 语法: db2 delete from <table_name> where <condition> - 示例: db2 delete from employee where id = 110. 更新数据- 语法: db2 update <table_name> set <column_name> =<new_value> where <condition>- 示例: db2 update employee set age = 30 where id = 111. 查询数据- 语法: db2 select <column1_name>, <column2_name>, ... from <table_name> where <condition>- 示例: db2 select * from employee三、管理数据库事务12. 启动事务- 语法: db2 autmit off- 示例: db2 autmit off13. 提交事务- 语法: db2mit- 示例: db2mit14. 回滚事务- 语法: db2 rollback- 示例: db2 rollback四、管理数据库权限15. 创建用户- 语法: db2 create user <username> password <password> - 示例: db2 create user testuser password testpass16. 授权- 语法: db2 grant <privilege> on <object> to <user>- 示例: db2 grant select, insert, update on employee to testuser17. 撤销授权- 语法: db2 revoke <privilege> on <object> from <user> - 示例: db2 revoke select, insert, update on employee from testuser五、管理数据库性能18. 优化SQL查询- 语法: db2expln -d <database_name> -t <sql_statement> - 示例: db2expln -d sample -t "select * from employee"19. 查看数据库锁- 语法: db2 list applications show det本人l- 示例: db2 list applications show det本人l20. 查看数据库表空间使用情况- 语法: db2pd -d <database_name> -tablespaces- 示例: db2pd -d sample -tablespaces六、其他常用命令21. 导出数据- 语法: db2 export to <file_name> of del select * from<table_name>- 示例: db2 export to employee.csv of del select * from employee22. 导入数据- 语法: db2 import from <file_name> of del insert into<table_name>- 示例: db2 import from employee.csv of del insert into employee23. 查看数据库配置参数- 语法: db2 get db cfg for <database_name>- 示例: db2 get db cfg for sample结语以上就是DB2数据库SQL常用命令的介绍,通过掌握这些命令,可以更方便地管理和使用DB2数据库。
db2sql消息(6)

db2 sql消息(6) 2011年11月29日SQL1000N别名是无效的数据库别名。
SQL1001N名称是无效的数据库名称。
SQL1002N驱动器是无效的驱动器。
SQL1003N密码无效,因为语法不正确或者密码与指定的数据库的密码不匹配。
SQL1004C文件系统没有足够的存储器用来处理命令。
SQL1005N数据库别名名称已存在于本地数据库目录或系统数据库目录中。
SQL1006N应用程序的代码页代码页与数据库的代码页代码页不匹配。
SQL1007N在表空间中查找对象页时出错。
SQL1008N表空间标识无效。
SQL1009N命令无效。
SQL1010N类型是无效的类型参数。
SQL1011N在CA TALOG DA TABASE 命令中没有为间接条目指定驱动器。
SQL1012N在CA TALOG DA TABASE 命令中没有为远程条目指定节点名。
SQL1013N找不到数据库别名或数据库名称名称。
SQL1014W在正在扫描的目录、文件或列表中没有更多的条目。
SQL1015N数据库处于不一致状态。
SQL1016NCA TALOG NODE 命令中指定的local_lu 别名名称无效。
SQL1017NCA TALOG NODE 命令中指定的方式参数方式无效。
SQL1018NCA TALOG NODE 命令中指定的节点名名称已存在。
SQL1019N命令中指定的节点名名称无效。
SQL1020C节点目录已满。
SQL1021N找不到UNCA TALOG NODE 命令中指定的节点名名称。
SQL1022C没有足够的内存用来处理该命令。
SQL1023C通信对话失败。
SQL1024N不存在数据库连接。
SQL1025N未停止数据库,因为数据库仍是活动的。
SQL1026N数据库管理器已活动。
SQL1027N找不到节点目录。
SQL1029NCA TALOG NODE 命令中指定的partner_lu 别名名称无效。
SQL1030C数据库目录已满。
db2sql语句执行顺序

db2sq l语句执行顺序篇一:D B2常用SQ L语句集D B2常用SQ L语句集1、查看表结构:de sc ri bet ab let ab le na med es cr ib ese le ct*f ro mta bl en am e2、列出系统数据库目录的内容:li std at ab as edi re ct or y3、查看数据库配置文件的内容:ge tda ta ba sec on fi gu ra ti onf orD BN AM E4、启动数据库:r es ta rtd at ab as eDB NA ME5、关闭表的日志al te rta bl eTB LN AM Eac ti ven otl og ge din ia ll y6、重命名表r en am eTB LN AM E1t oTB LN AM E27、取当前时间s el ec tcu rr en tti mes ta mpf ro msy si bm.s ys du mm y18、创建别名cr ea tea li asA LI AS NA MEf orP RO NA ME(t ab le、vi ew、a li as、n ic kn am e)9、查询前几条记录s el ec t*fr omT BL NA MEf et chf ir stNr ow s10、联接数据库d b2c on ne ctt oDBu se rdb2us in gPW D11、绑定存储过程命令db2bi ndB ND.b nd12、整理优化表db2re or gc hko nta bl eTB LN AM Edb2re or gta bl eTB LN AM Edb2ru ns ta tso nta bl eTB NA MEw it hdi st ri bu ti on a ndi nd ex esa ll13、导出表db2ex po rtt oTB L.tx tofd els el ec t*fr omT BL NA MEd b2e xp or ttoT BL.i xfo fix fse le ct*f ro mTB LN AM E以指定分隔符‘|’下载数据:d b2e xp or ttoc mm co de.t xto fde lmo di fi edb yco ld el|se le ct*f ro mcm mc od e”14、导入表db2im po rtf ro mTB L.tx tofd eli ns er tin toT BL NA MEd b2i mp or tfr omT BL.t xto fde lmi tc ou nt5000in se rti nt oTB LN AM Edb2im po rtf ro mTB L.ix fofi xfm it co un t5000i ns er tin toT BL NA MEd b2i mp or tfr omT BL.i xfo fix fmi tc ou nt5000in se rt_u pd at ein toT BL NA MEd b2i mp or tfr omT BL.i xfo fix fmi tc ou nt5000re pl ac ein toT BL NA MEd b2i mp or tfr omT BL.i xfo fix fmi tc ou nt5000cr ea tei nt oTB LN AM E(仅IX F)d b2i mp or tfr omT BL.i xfo fix fmi tc ou nt5000re pl ac e_cr ea tei nt oTB LN AM E(仅IX F)以指定分隔符“|”加载:db2im po rtf ro mbt po pe r.tx tofd elm od if ie dbyc ol de l|i ns er tin tob tp op er15、显示当前用户所有表命令d b2“li stt ab le s”16、查看锁情况命令:d b2g ets na ps ho tfo rlo ck sonD BN AM Eli sta pp li ca ti on sfo rdbD BN AM Esh owd et ai l17、打开锁的监视开关命令db2up da tem on is ors wi tc he sus in glo cko n18、游标的使用:de cl ar ecu rs or Ncu rs orw it hho ldf ors el ec tCH ARf ro mTB NA MEf oru pd at e;f oru pd at e不能和GR OU PBY、DI ST IN CT、OR DE RBY、FO RRE ADO NL Y及UN IO N,E XC EP T,o rIN TE RS EC T(但UN IO NAL L除外)一起使用。
db2数据库常用命令

db2常用命令0.进入db2命令环境db2cmd1.启动db2db2start;2.关闭db2db2stop;db2stop force;3.创建数据库db2 create db ;db2 create db using codeset GBK territory CN;db2 Create database using codeset IBM-eucCN territory CN;这样可以支持中文。
4.删除数据库(执行此操作要小心)db2 drop db如果不能删除,断开所有数据库连接或者重启db2。
5.断开数据库连接db2 force application all6.连接数据库db2 connect to user using7.断开数据库连接断开当前数据库连接:db2 connect reset或者:db2 disconnect current断开所有数据库的连接:db2 disconnect all8.备份数据库db2 backup db备注:执行以上命令之前需要断开数据库连接9.恢复数据库db2 restore db10.导出数据文件db2move export [-sn <模式名称,一般为db2admin>] [-tn <表名,多个之间用逗号分隔>]; 更多时候用下面这种方式:db2 export to test.ixf of ixf select * from11.导入数据文件db2move importdb2 import from text.ixf of ixf create into ;(表不存在)db2 import from text.ixf of ixf insert into ;(表已经存在)12.建立映像:db2 catalog tcpip node nodename remote 10.0.2.3 server 50000db2 catalog db dbname at node nodename13.撤销映像:db2 uncatalog db dbname14.列出数据库中所有db:db2 list db directory15.获取建表脚本:db2look -d dbname -e -t tablename -a -x -i userId -w password -o filename.sql-d: 数据库名:这必须指定-e: 抽取复制数据库所需要的 DDL 文件-u: 创建程序标识:若 -u 和 -a 都未指定,则将使用 $USER-z: 模式名:如果同时指定了 -z 和 -a,则将忽略 -z-t: 生成指定表的统计信息-h: 更详细的帮助消息-o: 将输出重定向到给定的文件名-a: 为所有创建程序生成统计信息-m: 在模拟方式下运行 db2look 实用程序-c: 不要生成模拟的 COMMIT 语句-r: 不要生成模拟的 RUNSTATS 语句-l: 生成数据库布局:数据库分区组、缓冲池和表空间。
DB2 sqlcode大全

DB2错误信息sqlcode sqlstate 说明000 00000 SQL语句句成功完成01xxx SQL语句句成功完成,但是有警告+012 01545 未限定的列列名被解释为⼀一个有相互关系的引⽤用+098 01568 动态SQL语句句⽤用分号结束+100 02000 没有找到满⾜足SQL语句句的⾏行行+110 01561 ⽤用DATA CAPTURE定义的表的更更新操作不不能发送到原来的⼦子系统+111 01590 为2型索引设置了了SUBPAGES语句句+117 01525 要插⼊入的值的个数不不等于被插⼊入表的列列数+162 01514 指定的表空间被置为检查挂起状态+203 01552 使⽤用⾮非唯⼀一的名字来解决命名的限定列列+204 01532 命名的对象未在DB2中定义+206 01533 命名的列列不不在SQL语句句中指定的任何表中存在+218 01537 因为SQL语句句引⽤用⼀一个远程对象,不不能为该SQL语句句执⾏行行EXPLAIN+219 01532 命名的PLAN TABLE不不存在+220 01546 不不正确定义PLAN TABLE,检查命名列列的定义+236 01005 SQLDA中的SQLN的值⾄至少应于所描述的列列的个数⼀一样⼤大+237 01594 ⾄至少有⼀一个被描述的列列应该是单值类型,因此扩展的SQLVAR条⽬目需要另外的空间+238 01005 ⾄至少应有⼀一个被描述的列列是⼀一个LOB,因此扩展的SQLVAR条⽬目需要另外的空间+239 01005 ⾄至少应有⼀一个被描述的列列应是单值类型,因此扩展的SQLVAR条⽬目需要另外的空间+304 01515 该值不不能被分配给宿主变量量,因为该值不不再数据类型的范围之内+331 01520 不不能被翻译的字符串串,因此被设置为NULL+339 01569 由于与DB2 2.2版本的⼦子系统连接,所以可能存在字符转换问题+394 01629 使⽤用优化提示来选择访问路路径+395 01628 设置了了⽆无效的优化提示,原因代码指定了了为什什么,忽略略优化提示+402 01521 未知的位置+403 01522 本地不不存在CREAT ALIAS对象+434 01608 在DB2未来发布的版本中将不不⽀支持指定的特性,IBM建议你停⽌止使⽤用这些特性+445 01004 值被CAST函数截取+462 01Hxx 由⽤用户定义的函数或存储过程发出的警告+464 01609 命名的存储过程超出了了它可能返回的查询结果集的个数限制+466 01610 指定由命名的存储过程返回的查询结果集的个数。
SQL常用语句总结大全

一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack','c:\mssql7backup\MyNwind_1.dat'--- 开始备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根据已有的表创建新表:A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only5、说明:删除新表drop table tabname6、说明:增加一个列Alter table tabname add column col type注:列增加后将不能删除。
DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键:Alter table tabname add primary key(col)说明:删除主键: Alter table tabname drop primary key(col)8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:create view viewname as select statement删除视图:drop view viewname10、说明:几个简单的基本的sql语句选择:select * from table1 where 范围插入:insert into table1(field1,field2) values(value1,value2)删除:delete from table1 where 范围更新:update table1 set field1=value1 where 范围查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!排序:select * from table1 order by field1,field2 [desc]总数:select count as totalcount from table1求和:select sum(field1) as sumvalue from table1平均:select avg(field1) as avgvalue from table1最大:select max(field1) as maxvalue from table1最小:select min(field1) as minvalue from table111、说明:几个高级查询运算词A: UNION 运算符UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。
DB2SQLCODE大全

DB2SQLCODE⼤全DB2错误信息sqlcode sqlstate 说明000 00000 SQL语句成功完成01xxx SQL语句成功完成,但是有警告+012 01545 未限定的列名被解释为⼀个有相互关系的引⽤+098 01568 动态SQL语句⽤分号结束+100 02000 没有找到满⾜SQL语句的⾏+110 01561 ⽤DATA CAPTURE定义的表的更新操作不能发送到原来的⼦系统+111 01590 为2型索引设置了SUBPAGES语句+117 01525 要插⼊的值的个数不等于被插⼊表的列数+162 01514 指定的表空间被置为检查挂起状态+203 01552 使⽤⾮唯⼀的名字来解决命名的限定列+204 01532 命名的对象未在DB2中定义+206 01533 命名的列不在SQL语句中指定的任何表中存在+218 01537 因为SQL语句引⽤⼀个远程对象,不能为该SQL语句执⾏EXPLAIN+219 01532 命名的PLAN TABLE不存在+220 01546 不正确定义PLAN TABLE,检查命名列的定义+236 01005 SQLDA中的SQLN的值⾄少应于所描述的列的个数⼀样⼤+237 01594 ⾄少有⼀个被描述的列应该是单值类型,因此扩展的SQLVAR条⽬需要另外的空间+238 01005 ⾄少应有⼀个被描述的列是⼀个LOB,因此扩展的SQLVAR条⽬需要另外的空间+239 01005 ⾄少应有⼀个被描述的列应是单值类型,因此扩展的SQLVAR条⽬需要另外的空间+304 01515 该值不能被分配给宿主变量,因为该值不再数据类型的范围之内+331 01520 不能被翻译的字符串,因此被设置为NULL+339 01569 由于与DB2 2.2版本的⼦系统连接,所以可能存在字符转换问题+394 01629 使⽤优化提⽰来选择访问路径+395 01628 设置了⽆效的优化提⽰,原因代码指定了为什么,忽略优化提⽰+402 01521 未知的位置+403 01522 本地不存在CREAT ALIAS对象+434 01608 在DB2未来发布的版本中将不⽀持指定的特性,IBM建议你停⽌使⽤这些特性+445 01004 值被CAST函数截取+462 01Hxx 由⽤户定义的函数或存储过程发出的警告+464 01609 命名的存储过程超出了它可能返回的查询结果集的个数限制+466 01610 指定由命名的存储过程返回的查询结果集的个数。
sql常用语句大全

sql常用语句大全以下是SQL中常用的语句:1. 查询语句:用于从数据库中检索数据。
- SELECT语句:用于从表中选择数据。
- FROM语句:用于从表中选择数据。
- WHERE语句:用于筛选数据。
- ORDER BY语句:用于排序数据。
- BY语句:用于对查询结果进行分组和排序。
2. 更新语句:用于更新数据库中的数据。
- UPDATE语句:用于在表中更新数据。
- WHERE语句:用于指定更新条件。
- SET语句:用于更新数据。
3. 删除语句:用于在数据库中删除数据。
- DELETE语句:用于从表中删除数据。
- WHERE语句:用于指定删除条件。
4. 创建语句:用于创建数据库、表、索引等。
-CREATE TABLE语句:用于创建一个表。
- AS语句:用于为表命名并提供别名。
- CONSTRAINT语句:用于为表创建约束条件。
5. 插入语句:用于向数据库中插入数据。
-INSERT INTO语句:用于向表中插入数据。
- VALUES语句:用于指定插入的数据。
6. 数据定义语句:用于定义数据库中的数据模型。
- PRIMARY KEY语句:用于为表创建主键。
- FOREIGN KEY语句:用于为表创建外键。
- KEY语句:用于为表创建索引。
7. 查询优化语句:用于优化查询性能。
- ANSI JOIN语句:用于连接两个表。
- NOT NULL语句:用于指定字段是否为非空。
- UNIQUE KEY语句:用于指定字段是否唯一。
8. 视图语句:用于简化复杂的查询。
- 视图定义语句:用于定义视图。
- 视图查询语句:用于查询视图中的数据。
9. 存储过程语句:用于执行复杂的操作并将结果存储回数据库中。
- 存储过程定义语句:用于定义存储过程。
- 存储过程执行语句:用于执行存储过程。
以上是SQL中常用的语句列表,SQL语句的使用可以极大地提高数据库的性能和灵活性。
db2 在sql拼接时in的用法

db2 在sql拼接时in的用法在DB2中,可以使用IN运算符来将多个值组合成一个条件。
以下是使用IN运算符进行SQL拼接的例子:1. 选择满足给定条件的记录:```SELECT * FROM 表名 WHERE 列名 IN (值1, 值2, 值3, ...); ```示例:```SELECT * FROM Employees WHERE Department IN ('IT','Finance');```这将选择Department列的值为'IT'或'Finance'的所有记录。
2. 使用子查询拼接IN条件:```SELECT * FROM 表名 WHERE 列名 IN (SELECT 列名FROM 子查询);```示例:```SELECT * FROM Employees WHERE Department IN (SELECT Department FROM Departments WHERE Location ='New York');```这将选择位于'New York'的Departments表中的所有记录中的Department列值的Employees表记录。
3. 使用参数拼接IN条件(在应用程序中动态构建SQL语句):```SELECT * FROM 表名 WHERE 列名 IN (?, ?, ?, ...);```示例(使用JDBC的PreparedStatement):```String sql = "SELECT * FROM Employees WHERE Department IN (?, ?)";PreparedStatement ps = connection.prepareStatement(sql);ps.setString(1, "IT");ps.setString(2, "Finance");ResultSet rs = ps.executeQuery();```这将选择Department列值为'IT'或'Finance'的所有记录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DB2常用SQL语句集
1、查看表结构:
describe table tablename
describe select * from tablename
2、列出系统数据库目录的内容:
list database directory
3、查看数据库配置文件的内容:
get database configuration for DBNAME
4、启动数据库:
restart database DBNAME
5、关闭表的日志
alter table TBLNAME active not logged inially
6、重命名表
rename TBLNAME1 to TBLNAME2
7、取当前时间
select current time stamp from sysibm.sysdummy1
8、创建别名
create alias ALIASNAME for PRONAME(table、view、alias、nickname)
9、查询前几条记录
select * from TBLNAME fetch first N rows
10、联接数据库
db2 connect to DB user db2 using PWD
11、绑定存储过程命令
db2 bind BND.bnd
12、整理优化表
db2 reorgchk on table TBLNAME
db2 reorg table TBLNAME
db2 runstats on table TBNAME with distribution and indexes all
13、导出表
db2 export to TBL.txt of del select * from TBLNAME
db2 export to TBL.ixf of ixf select * from TBLNAME
以指定分隔符‘|’下载数据:
db2 "export to cmmcode.txt of del modified by coldel| select * from cmmcode”14、导入表
db2 import from TBL.txt of del insert into TBLNAME
db2 import from TBL.txt of del commitcount 5000 insert into TBLNAME
db2 import from TBL.ixf of ixf commitcount 5000 insert into TBLNAME
db2 import from TBL.ixf of ixf commitcount 5000 insert_update into TBLNAME
db2 import from TBL.ixf of ixf commitcount 5000 replace into TBLNAME
db2 import from TBL.ixf of ixf commitcount 5000 create into TBLNAME (仅IXF)
db2 import from TBL.ixf of ixf commitcount 5000 replace_create into TBLNAME (仅
IXF)
以指定分隔符“|”加载:
db2 "import from btpoper.txt of del modified by coldel| insert into btpoper"
15、显示当前用户所有表命令
db2 “list tables”
16、查看锁情况命令:
db2 get snapshot for locks on DBNAME
list applications for db DBNAME show detail
17、打开锁的监视开关命令
db2 update monisor switches using lock on
18、游标的使用:
declare cursorN cursor with hold for select CHAR from TBNAME for update;
for update不能和GROUP BY、 DISTINCT、 ORDER BY、 FOR READ ONLY及UNION, EXCEPT, or INTERSECT(但 UNION ALL除外)一起使用。
update TBNAME set CHAR='0' where current of cursorN;
19、decode的转码操作:
decode(A1,'1','n1','2','n2','n3') AA1 from TBNAME;
20、计算两个日期的相差天数:
days(date(‘2001-06-05’)) –days(date(‘2001-04-01’))
days 返回的是从 0001-01-01 开始计算的天数;
21、取得处理的记录数:
declare v_count int;
update tb_test set t1=‘0’where t2=‘2’;
--检查修改的行数,判断指定的记录是否存在
get diagnostics v_ count=ROW_COUNT;
只对update,insert,delete起作用。
22、DB2支持三种集合操作INTERSECT(交集)、EXCEPT(差集)、UNION(合集):
求交集:A交B 说明:INTERSECT和INTERSECT ALL是等效的。
SELECT * FROM AA_WEEK X WHERE X.CODE IN (1,2,3) -- 集合A
INTERSECT -- 集合B
SELECT * FROM AA_WEEK X WHERE X.CODE IN (2,3,4);
求差集:A减B 说明:EXCEPT和EXCEPT ALL是等效的。
SELECT * FROM AA_WEEK X WHERE X.CODE IN (1,2,3) -- 集合A
EXCEPT -- 集合B
SELECT * FROM AA_WEEK w WHERE w.CODE IN (2,3,4);
求合集:A+B(不消除重复行)
SELECT * FROM AA_WEEK X WHERE X.CODE IN (1,2,3) -- 集合A
UNION ALL -- 集合B
SELECT * FROM AA_WEEK X WHERE X.CODE IN (2,3,4);
求合集:A+B(消除重复行)
SELECT * FROM AA_WEEK X WHERE X.CODE IN (1,2,3) -- 集合A
UNION -- 集合B
SELECT * FROM AA_WEEK X WHERE X.CODE IN (2,3,4);
23、数据库备份和恢复:
备份DB2数据库的方法如下:
在db2inst1用户下操作.
在你要保存数据的当前目录执行以下命令:
$ db2stop force (停止数据库)
$ db2start (启动数据库)
*可不停止数据库,直接执行以下命令:
$ db2 connect to 数据库名 user 用户名 using 密码(连接数据库)
$ db2 backup db 数据库名
系统会自动备份生成一个时间戳的数据备份文件,
如:xxxx.0.db2inst1.NODE0000.CATN0000.20070814031212.001
恢复数据库
在你备份出数据的当前目录执行以下命令:
$ db2 restore db 数据库名 taken at 20070814031212(直接取数据备份生成的时间戳即可
24、
25、sql常用函数说明:
float(num):返回num的浮点表示;
mod(num1, num2):返回num1除以num2的余数;
char():返回日期时间型,字符串,整数,十进制或双精度浮点数的字符串表示;
注意事项:
1、只能修改V ARCHAR2类型的并且只能增加不能减少;
2、一个数据库至少包括一个目录表空间、一个或多个用户表空间、一个或多个临时表空间;
3、建临时表时最好加上with replace选项,这样就可以不显示的drop 临时表,建临时表
时如果不加该选项而该临时表在该session内已创建且没有drop,这时会发生错误。
4、定义游标使用with hold 选项,如果循环内有commit或rollback 而要保持该cursor不被
关闭,只能使用这种方式。
5、大数据的导表:export后再load性能(比select into)更好,因为load不写日志。
6、尽量使用大的复杂的SQL语句,将多而简单的语句组合成大的SQL语句对性能会有所改
善。
7、避免使用count(*) 及exists的方法:因为count(*)基本上要对表做全部扫描一遍,如果
使用很多会导致很慢;exists比count(*)要快,但总的来说也会对表做扫描,它只是碰到第一条符合的记录就停下来。
8、。