当前位置:文档之家› DB2命令总汇+详解

DB2命令总汇+详解

DB2命令总汇+详解
DB2命令总汇+详解

DB2常用命令汇总之一

db2 -tvf my.sql

db2level 显示db2的版本号

显示SQL出错信息

db2 "? sql6031"

db2mtrk

管理DAS

产生:root运行-dascrt -u dasuser1

删除:root运行-dasdrop

启动:dasusr1运行-db2admin start

停止:dasusr1运行-db2admin stop

db2_kill

ipclean

db2start dbpartitionnum 9 restart

AIX启动控制中心:

db2cc

DB2用户管理:

db2 use os to manage users.You can use following steps to add a db2 user: 1,add a user on os.

2,grant rights to user.

GRANT CREATETAB,CONNECT ON DATABASE TO USER FUJIE;

grant select, update, delete on table employee to user john with grant option 一,实例

产生

db2icrt -a AuthType(SERVER,CLIENT,SERVER_ENCRYPT) -p PORT_NAME

表空间PREFETCHSIZE的设置,EXTENTSIZE的关系,缓冲池的监控,页清除程序的多少。

临时表空间页面大小与其他表空间页面大小的设置,临时表空间与缓冲池的设置。example:db2icrt db2 -s ese -p d:/db2 -u Administrator

注意:在UNIX 上产生实例时需要产生一个和实例名称相同的用户名,和fencedid 用户。如:db2icrt -s ese -u db2fenc2 db2inst2 将在db2inst2用户中产生实例db2inst2.

缺省创建32位实例,创建64位实例:db2icrt -s ese -w 64 -u db2fenc2 db2inst2

删除

db2idrop instance-name

启动

db2start

停止

db2stop force

连接

db2 attach to testdb2

db2 detach

列出实例

db2ilist

设置当前实例

set db2instance=

得到当前实例

db2 get instance

设置实例自动重启动UNIX

db2iauto -on

db2iauto -off

获取实例的配置参数

db2 get dbm cfg

修改配置参数

例如:db2 update dbm cfg using authentication server_encrypt

db2stop and db2start

二,声明注册表和环境变量

db2set 注意:设置完成后需要退出用户,再注册进入才能生效。

列出所有受支持的变量

db2set -lr

列出当前实例所有已定义的变量

db2set

要列出概要文件注册表中所有定义的注册表变量

db2set -all

列出单个变量

db2set registry_variable_name

更改变量

db2set registry_variable_name=new_value

变量复位为缺省值

db2set -r registry_variable_name

db2set DB2CODEPAGE=819

db2set DB2CODEPAGE=1386

db2 -tvf my_sql.sql

三,创建节点配置文件

db2nodes.cfg

UNIX 格式:dbpartitionnum(0-999) hostname [logical-port [netname]] WIN 格式:nodenumber hostname computername logical_port netname

四,管理服务器

<配置助手,控制中心,开发中心> 通过DAS来进行工作

创建DAS

db2admin create (windows)

dascrt -u 需要root权限

启动和停止

db2admin start

db2admin stop

列出

db2admin

配置DAS

db2 get admin cfg

db2 update admin cfg using

db2 reset admin cfg

最好stop再start

五,配置多个逻辑节点

可以用两个方法来配置多个逻辑节点:

* 在db2nodes.cfg文件中配置逻辑节点(数据库分区).然后,可使用db2start启动所有逻辑和远程节点.

对于windows nt,若系统中没有数据库,则必须使用db2ncrt来添加节点,否则,若一个或多个数据库,

则应使用db2start addnode 命令.在nt 中,不能手工编辑db2nodes.cfg文件.

db2ncrt /n:1 /u:administrator,yhnu0987 /m:fujie /p:1 /h:fujie

db2start addnode nodenum 1 hostname guosd port 1 computer GUOSD user

db2admin password db2admin

* 在另一个处理器上重新启动一个逻辑节点,其他逻辑数据库分区(节点)已在该处理器上运行.这允许覆盖

在db2nodes.cfg中为逻辑数据库分区指定的主机名和端口号.

在WIN中添加逻辑节点

db2ncrt /n:1 /u:Administrator, /i:db2 /m:FUJIE /p:1

#删除逻辑节点

db2ndrop

有数据库的时候使用db2stop drop nodenum

#改变逻辑节点

db2nchg

DB2常用命令汇总之二

六,创建数据库

创建数据库时,完成如下任务:

* 设置数据库所需的所有系统目录表

* 分配数据库恢复日志

* 创建数据库配置文件,设置缺省值

* 将数据库实用程序与数据库绑定

初始数据库分区组的定义

当最初创建数据库时,会为所有在db2nodes.cfg文件中指定的分区创建数据库分区.可以用add dbpartitionnum 和drop dbpartitionnum verify 命令来添加或除去其他分区.

定义了三个数据库分区组:

* 用于容纳syscatspace表空间的ibmcatgroup, 保存系统目录表

* 用于容纳tempspaces1表空间的ibmtempgroup,保存系统临时表

* 用于容纳userspace1表空间的ibmdefaultgroup,缺省保存用户表和索引

(创建新的数据库后最好重新启动db2clp)

EXAMPLE:

CREATE DATABASE PERSONL

CATALOG TABLESPACE

MANAGED BY SYSTEM USING (path 'D:/PCATALOG','E:/PCATALOG')

EXTENTSIZE 16 PREFETCHSIZE 32

USER TABLESPACE

MANAGED BY DATABASE USING (FILE 'D:/DB2DATA/PERSION1' 5000,

FILE 'D:/DB2DATA/PERSION2' 5000)

EXTENSIZE 32 PREFETCHSIZE 64

TEMPORARY TABLESPACE

MANAGED BY SYSTEM USING (path 'F:/DB2TEMP/PERSONL')

WITH "PERSONNEL DB FOR DSCHIEFER CO"

create database sccrm using codeset GBK territory CN

#删除数据库

DROP DATABASE

# 数据库目录的定义

*本地数据库目录(节点的目录中的文件SQLDBDIR)

本地数据库目录文件存在于定义了数据库的每条路径(或WIN中的"驱动器")

对于可以从该位置存取得每个数据库此目录都包含一个条目.包含信息:

数据库名称,数据库别名,数据库注释,数据库的根目录的名称,其他系统信息.

*系统数据库目录(实例中的目录中的文件SQLDBDIR)

对于数据库管理器的每个实例,都存在一个系统数据库目录文件,该文件对于针对

此实例编目的每个数据库都包含一个条目.使用CREATE DATABASE时隐式的编目数据库

每个数据库包含一条信息: 数据库名,数据库别名,数据库注释,本地数据库目录的位置, 指示该数据库是间接的指示符,表示它与系统数据库目录文件驻留在相同的机器上.

查看本地或系统数据库目录文件

LIST DATABASE DIRECTORY ON

LIST DATABASE DIRECTORY

*节点目录

数据库管理器在编目第一个数据库分区时会创建节点目录.要编目数据库分区,

使用CATALOG NODE命令.要显示本地节点目录的内容,使用LIST NODE DIRECTORY

.在每个数据库客户机上都创建并维护节点目录.对于具有客户机可以存取得一个或多个数据库的每个远程工作站,该目录都包含一个条目.db2客户机使用该节点目录中的通信端点信息.

catalog tcpip node my_node_name remote 10.10.10.10 server 54321

uncatalog node my_node_name

catalog database DB as my_data_alias at node my_node_name

# "轻量级目录访问协议" (LDAP)目录服务

目录服务是一个关于分布式环境中的多个系统和服务的资源信息的资源库;它

提供对这些资源的客户机和服务器存取.客户机和服务器将使用目录服务来找出

如何存取其他资源.

LDAP是业界标准的存取目录服务的方法.每个数据库服务器实例都会将它的存在情况发布给LDAP,

并在创建数据库时向LDAP目录提供数据库信息.当客户机与数据库连接后,可从LDAP

目录检索

服务器的目录信息.不再要求每个客户机将目录信息以本地方式存储在每台机器上.

# 创建数据库分区组

可以使用CREATE DATABASE PARTITION GROUP语句创建数据库分区组.此语句指定表空间

容器和表数据将驻留其上的一组数据库分区.

*为数据库分区组创建分区映象.

*生成分区映象标识

*将记录插入下列目录表:

SYSCAT.DBPARTITONGROUPS,SYSCAT.PARTITIONMAPS,SYSCAT.DBPARTIT IONGROUPDEF

CREATE DATABASE PARTITION GROUP ON DBPARTITIONNUMS

(,)

#创建表空间

表空间建立数据库系统使用的物理存储设备与用来存储数据的逻辑容器或表的关系

CREATE TABLESPACE

MANAGED BY SYSTEM

USING ('')

CREATE TABLESPACE

MANAGED BY DATABASE

USING (FILE'' )

DEVICE

*指定分区组

CREATE TABLESPACE PLANS IN ODDNODEGROUP

MANAGED BY DATABASE

USING (DEVICE '/dev/HDISK0' 10000,DEVICE '/dev/n1hd01' 40000) on node 1 (DEVICE '/dev/HDISK0' 10000,DEVICE '/dev/n1hd03' 40000) on node 3

(DEVICE '/dev/HDISK0' 10000,DEVICE '/dev/n1hd05' 40000) on node 5

CREATE REGULAR TABLESPACE CUSTTBS IN DATABASE PARTITION GROUP CUSTOMER

PAGESIZE 4 K MANAGED BY DATABASE USING

( FILE 'D:/testdbtbs/custtbs0_1' 5120 ) ON DBPARTITIONNUM (0)

USING

( FILE 'D:/testdbtbs/custtbs1_1' 5120 ) ON DBPARTITIONNUM (1)

EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16

在多分区数据库中创建单分区组.

CREATE DATABASE PARTITION GROUP single_tbs_grp ON DBPARTITIONNUM(0) 在单分区组中创建单分区表空间.

CREATE TABLESPACE single_part_tbs IN DATABASE PARTITION GROUP

single_tbs_grp

MANAGED BY DATABASE USING (FILE 'd:/testdbtbs/single_part_tbs_1' 5120)

在UNIX中使用字符设备.

* 创建特定类型的表空间

创建系统临时表空间

CREATE SYSTEM TEMPORARY TABLESPACE tmp_tbsp

MANAGED BY SYSTEM

USING ('d:/tmp_tbsp','e:/tmp_tbsp')

在分区数据库中创建系统临时表空间只能在IBMTEMPGROUP中产生

CREATE SYSTEM TEMPORARY TABLESPACE TEMPSYS_TBSP1

IN DATABASE PARTITION GROUP IBMTEMPGROUP

PAGESIZE 4 K MANAGED BY SYSTEM

USING ('D:/testdbtbs/sys_temp_0' ) ON DBPARTITIONNUM (0)

USING ('d:/testdbtbs/sys_temp_1' ) ON DBPARTITIONNUM (1)

EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16

创建用户临时表空间

CREATE USER TEMPORARY TABLESPACE usr_tbsp

MANAGED BY DATABASE

USING (FILE 'd:/db2data/user_tZbsp' 5000,

FILE 'e:/db2data/user_tbsp' 5000)

在分区数据库中创建用户临时表空间可在除IBMTEMPGROUP中的其他分区组中产生.

CREATE USER TEMPORARY TABLESPACE USER_TEMP_TBSP

IN DATABASE PARTITION GROUP USER_TEMP_TBSGRP

PAGESIZE 4 K MANAGED BY SYSTEM

USING ('D:/testdbtbs/user_temp_0' ) ON DBPARTITIONNUM (0)

USING ('d:/testdbtbs/user_temp_1' ) ON DBPARTITIONNUM (1)

*指定物理设备

在WINDOWS上,指定物理硬盘驱动器,使用//./PhysicalDriveN (N-0,1,2..)

指定逻辑驱动器使用//./N: (N是系统中的逻辑盘符)

在UNIX中指定字符设备.

#SMS 当对象增大时,文件每次扩展一页。若需要提高插入性能,可以考虑启用多页分配,如MDC表。

运行db2empfa. 对于多分区数据库必须对每个分区运行此使用程序,一旦启用就不能禁止。#DMS

单分区表空间大小,4kb - 64gb;8kb-128gb;16kb-256gb;32kb-512gb

在缺省情况下,每个容器都保留一个数据块作为开销,表空间的最小大小是5个数据块。

三个保留给开销使用。两个用于用户表数据。

#在多个节点上产生表空间

CREATE TABLESPACE TS1 MANAGED BY DATABASE USING

(device '/dev/rcont $N' 20000)

CREATE TABLESPACE TS2 MANAGED BY DATABASE USING

(file '/DB2/containers/TS2/container $N+100' 10000)

CREATE TABLESPACE TS3 MANAGED BY SYSTEM USING

('/TS3/cont $N%2', '/TS3/cont $N%2+2')

#增加表空间的空间

ALTER TABLESPACE RESOURCE

ADD (DEVICE '/dev/rhd9' 10000,

DEVICE '/dev/rhd10' 10000)

#改变表空间状态

DB2 ALTER TABLESPACE SWITCH ONLINE

#删除表空间

DROP TABLESPACE

可以先增加一个系统临时表空间,然后删除老的.

#获取表空间使用信息

get snapshot for tablespaces on sample

#获取表空间的CONTAINER

LIST TABLESPACE CONTAINERS FOR 0(TABLESPACE_ID) SHOW DETAIL # 创建和填充表

列出表:

list tables -列出当前用户的表

list tables for all -列出数据库中所定义的所有表

list tables for schema schemaname -列出具有指定模式的表

describe table tablename -显示指定表的结构

产生表和主键

CREATE TABLE DEPARTMENT

(DEPTNO CHAR(3) NOT NULL,

DEPTNAME VARCHAR(29) NOT NULL,

MGRNO CHAR(6),

ADMRDEPT CHAR(3) NOT NULL,

LOCATION CHAR(16),

PRIMARY KEY (DEPTNO))

IN RESOURCE

产生外键

CREATE TABLE EMPLOYEE

(EMPNO CHAR(3) NOT NULL PRIMARY KEY,

FIRSTNME VARCHAR(12) NOT NULL,

LASTNAME VARCHAR(15) NOT NULL,

WORKDEPT CHAR(3),

PHONENO CHAR(4),

PHOTO BLOB(10m) NOT NULL,

FOREIGN KEY DEPT (WORKDEPT)

REFERENCES DEPARTMENT ON DELETE NO ACTION)

IN RESOURCE

ON DELETE NO ACTION 表示如果该部门有任何雇员则该部门不能被删除.

定义表检查约束

在创建或改变表时,通过将检查约束定义与表关联来对该表创建表检查约束.

当INSERT或UPDATE语句修改该表中的数据时,就自动激活此约束.表检查约束对DELETE或SELECT没有影响.检查约束不能与类型表相关.

约束名不能与在同一个CREATE TABLE语句内指定的任何其他约束相同.若不

指定约束名,系统会自动生成18个字符的唯一标识符.

表检查约束用于实现键唯一性或引用完整性约束所未涵盖的数据完整性规则.

如:

CREATE TABLE EMP_ACT

(EMPNO CHAR(6) NOT NULL,

PROJNO CHAR(6) NOT NULL,

ACTNO SMALLINT NOT NULL,

EMPTIME DECIMAL(5,2),

EMSTDATE DATE,

EMENDATE DATE,

CONSTRAINT ACTDATES CHECK(EMSTDATE <= EMENDATE) )

IN RESOURCE

约束EMSTDATE必须小于EMENDATE

定义信息性约束

信息性约束是一个规则,可由SQL编译器使用,但数据库管理器不会强制使用它.

SQL编译器包括一个重写查询阶段,它将SQL语句变换为可能是优化的格式并改进所需数据的存取路径.目的是改进查询性能.

对新表定义生成列

生成列在基本表中定义,在这些列中,存储的值是使用表达式计算得出的,而不是

通过插入或更新操作指定.可以改善查询性能,特别是计算很复杂或在查询时要进行

多次表达式求值.

CREATE TABLE t1 (c1 INT,

c2 DOUBLE,

c3 DOUBLE GENERATED ALWAYS AS (c1 + c2)

c4 GENERATED ALWAYS AS

(CASE WHEN c1 > c2 THEN 1 ELSE NULL END))

创建用户定义临时表

临时表不出现在系统目录中,不能共享此表

DECLARE GLOBAL TEMPORARY TABLE gb1_temp

LIKE tmpltab1

ON COMMIT DELETE ROES

NOT LOGGED

IN usr_tbsp

定义此用户临时表所使用的列的名称和描述与empltabl的列的名称和描述完全相同.

隐式定义只包括列名,数据类型,可空性特征和列缺省值属性.未定义其他列属性,包括

唯一约束,外键约束,触发器和索引.

对新表定义身份列

为插入表的每一行自动生成保证唯一数字值的方法.

只在单分区数据库中支持.

CREATE TABLE test_table ( col1 int,

col2 double,

col3 int not null generated always as identity

(start with 100,increment by 5))

创建序列

序列是一个数据库对象,它允许自动生成值.序列特别适合于生成唯一键值.

与身份列属性不同,未使序列与特定表列相关,也未将它绑定至唯一列,只是仅可通过该表

列存取.只在单分区数据库中才受支持.

在多分区环境中的单分区数据库也不行.

CREATE SEQUENCE order_seq

START WITH 1

INCREMENT BY 1

NOMAXVALUE

NOCYCLE

CACHE 24

使用序列

insert into order (orderno,custno)

values (nextval for order_seq,123456);

insert into line_item (orderno,partno,quantity)

values (prevval for order_seq,987654,1)

使用NEXTVAL,PREVVAL可以在两个不同的表中使用相同的序列号.

对表定义维

引用完整性约束第13 页(共17 页)

引用完整性约束是在创建表时定义的,或者是在之后使用alter table 语句定义的。建立引用完整性的子句有:

primary key 子句

unique constraint 子句

foreign key 子句

references 子句

例如:

create table artists (artno INT, ... primary key (artno) foreign key dept (workdept) references department on delete no action)

让我们了解一下各种引用完整性规则:

插入规则:

有一个隐式规则,在没有找到父项时取消插入。

删除规则:

Restrict:如果有从属行就不能删除父行。

Cascade:删除父表中的行会自动删除其从属表中的任何相关行。

No Action(缺省值):在应用了所有其它引用约束之后强制每个子行的父行都存在。Set Null:外键字段设置成null;其它列保持不变。

更新规则:

Restrict:如果从属表中的行与键的初始值相匹配,则不更新父键。

No Action(缺省值):如果从属表中没有任何行与父键相匹配,则不更新父键。

增加表中的列

ALTER TABLE EMPLOYEE

ADD

增加唯一性约束

ALTER TABLE EMPLOYEE

ADD CONSTRAINT NEWID UNIQUE(EMPNO,HIREDATE)

删除唯一性约束

ALTER TABLE EMPLOYEE

DROP UNIQUE NEWID

删除主键

ALTER TABLE

DROP PRIMARY KEY

增加主键

ALTER TABLE ADD PRIMARY KEY (COL1,COL2,..)

删除外键

ALTER TABLE

DROP FOREIGN KEY

删除表检查约束

ALTER TABLE

DROP CHECK

添加表的外键

ALTER TABLE

ADD CONSTRAINT

FOREIGN KEY

references table_name

ON DELETE

ON UPDATE

在多个表空间中创建表

表数据,表索引及与表相关联的任何长型列数据可以存储在同一表空间中,也可以放在不同的表空间中.只能使用DMS.

CREATE TABLE

( )

IN

INDEX IN

LONG IN

在分区数据库中创建表

必须小心的选择适当的分区建,以后不能跟改.再者,必须将任何唯一索引定义为分区键的一个超集.

表的大小是(分区数*分区大小(4K是64GB).

CREATE TABLE MIXREC (MIX_CNTL INTEGER NOT NULL,

MIX_DESC CHAR(20) NOT NULL,

MIX_INT INTEGER NOT NULL)

IN MIXTS12

PARTITIONING KEY (MIX_INT) USING HASHING

产生触发器

用途:

验证输入的数据

为新插入的行生成值

为交叉引用而从其他表中进行读取

为审计跟踪而向其他表写入

CREATE TRIGGER

ON

创建用户定义函数(UDF)或方法

UDF扩展并添加了SQL的内置函数提供的支持,且可在可使用内置函数的任何

地方使用.可使用两种方式创建UDF:

外部函数,用一种编程语言编写

有源函数,从另一个现有函数继承产生.

三种UDF:标量,返回一个单值答案.

列,从一组相似(一列)的值中返回单值答案,如AVG()只能定义有源函数.

表,将一个表返回至引用它的SQL,只能在select语句的from子句中引用表函数.

UDF 记录在SYSCAT.FUNCTIONS AND SYSCAT.FUNCPARMS目录视图中.

用户定义类UDT

UDT是由用户在数据库中创建的命名的数据类型.UDT可以是单值类型,它与内部数据类型或

结构化类型共享一个公共的表示法,结构化类型具有一个命名属性序列,其中每个属性都有一个类型.

结构化类型可以是另一个定义类型层次结构的结构化类型的子类型.

创建视图

CREATE VIEW (,,)

SELECT FROM

WITH CHECK OPTION

WITH CHECK OPTION 子句指示必须根据该视图定义检查该视图的任何更新的行或插入的行,

如它不符合,则拒绝它,增加了数据完整性.

CREATE VIEW EMP_VIEW

SELECT LASTNAME AS DA00NAME,

EMPNO AS DA00NUM,

PHONENO

FROM EMPLOYEE

WHERE WORKDEPT = 'A00'

WITH CHECK OPTION

创建具体查询表

具体查询表是以查询结果为基础所定义的一种表.因此,具体查询表通常包含预先计算的结果,

这些结果是根据表定义中引用的一个或多个表中的现有数据计算而得.若SQL编译器确定查询

在针对具体查询表运行时比对一个或多个基本表运行时效率更高,将对具体查询表执行该查询.

创建别名

别名是引用表,别名或视图的间接方法,这样SQL语句可与该表或视图的限定名无关.

CREATE ALIAS WORKERS FOR EMPLOYEE

索引,索引扩展或索引规范

索引是行位置的列表,按一个或多个指定列的内容来排序.

索引扩展是一个索引对象,它配合带有结构化类型或单值类型列的索引使用.

索引规范是一个元数据结构.它告诉优化器别名所引用的数据源对象(表或视图) 是否存在索引.只是索引的描述.

索引顾问,,db2advis

索引得最大列数是16,最大长度是1024字节.

CREATE INDEX ON ()

重命名表或索引

要重命名的表或索引不能是目录表或索引,总结表或索引,类型表,已声明

全局临时表以及昵称的名称.

并且不能在下列任何一个对象中引用现有表或索引:

视图,触发器,引用约束,总结表,现有引用列的作用域

表中不能有检查约束,不能有除身份列以外的其他生成列.

RENAME TABLE . TO RENAME INDEX . TO

索引可以:

是升序或是降序(如果没有指定,缺省值是升序)

是唯一的,也可以是不唯一的(如果没有指定,缺省值是不唯一的)

是复合的

用来执行群集

是双向的(这由allow 或disallow reverse scans 控制的)

包括其它列(这只适用于唯一索引)。

删除表

DROP TABLE

删除索引

DROP INDEX

通过命令行处理器调用"性能配置向导"

使用AUTOCONFIGURE

终止所有应用程序与数据库的连接

db2 force applicaitons all

#给用户授权

GRANT privilege ON object-type object-name

TO [{USER | GROUP | PUBLIC}] authorization-name

[WITH GRANT OPTION]

GRANT INSERT,DELETE ON TABLE staff TO USER rosita WITH GRANT OPTION

#撤消用户权利

REVOKE privilege ON object-type object-name

FROM [{USER | GROUP | PUBLIC}] authorization-name

REVOKE ALL PRIVILEGES ON TABLE staff FROM joanna

DB2常用命令汇总之三

#声明临时表

DECLARE GLOBAL TEMPORARY TABLE session.temp1

LIKE employee

ON COMMIT PRESERVE ROWS

NOT LOGGED

IN mytempspace

#ALTER

可以修改:缓冲池,表,表空间,视图

#DROP

可以删除:缓冲池,事件监控程序,函数,索引,模式,存储过程,表,表空间,触发器,视图. #产生数据备份

CREATE TABLE pers LIKE staff

INSERT INTO pers

SELECT id, name, dept, job, years, salary, comm

FROM staff

WHERE dept = 38

#唯一性约束

CREATE TABLE BOOKS (BOOKID INTEGER NOT NULL PRIMARY KEY, BOOKNAME VARCHAR(100),

ISBN CHAR(10) NOT NULL CONSTRAINT BOOKSISBN UNIQUE) ALTER TABLE BOOKS ADD CONSTRAINT UNIQUE (BOOKID)

#参照完整性约束

CREATE TABLE AUTHORS (AUTHORID INTEGER NOT NULL PRIMARY KEY, LNAME VARCHAR(100),

FNAME VARCHAR(100))

CREATE TABLE BOOKS (BOOKID INTEGER NOT NULL PRIMARY KEY, BOOKNAME VARCHAR(100),

ISBN CHAR(10),

AUTHORID INTEGER REFERENCES AUTHORS)

#表检查约束

ALTER TABLE BOOKS ADD BOOKTYPE CHAR(1) CHECK (BOOKTYPE IN ('F','N') )

#创建索引

CREATE INDEX I2BOOKNAME ON BOOKS (AUTHOID DESC, BOOKNAME ASC)

#设置概要文件注册表

设置后实例要重新启动

列出所有的变量: db2set -lr

设置变量:db2set variable_name=value

设置为缺省值:db2set variable_name=

显示设置的变量:db2set -all

# 设置数据库管理器和数据库的参数

获取当前参数:

db2 get database manager configuration

db2 get database configuration for database_name

db2 get database manager configuration show detail

设置参数:

db2 update database manager configuration using parameter new_value

db2 update database configuration for database_name using parameter new_value

#准备数据库服务端口

db2set DB2COMM=TCPIP,NETBIOS

在services文件中包含服务和端口号,

如:db2icdb2 50000/tcp

db2 update database manager configuration using svcename db2icdb2

重新启动数据库.

#查看连接的应用程序

db2 list applications [for database db-name] [show detail]

#断开应用程序

db2 force application (6,5)

SQL常用命令汇总

SQL常用命令汇总 SQL是结果化查询语言(Structured Query Language)的缩写,其功能包括数据查询、数据定义、数据操纵和数据控制四个部分。SQL简洁、功能齐全,已成为目前应用最广的关系数据库语言。 一、SQL的发展及标准化 1.SQL的发展 SQL是当前最为成功、应用最为广泛的关系数据库语言,其发展主要经历了以下几个阶段; (1)1974年,由Chamberlin和Boyce提出,当时称为SEQUEL(Structured English Query Language); (2)1976年,IBM公司对SEQUEL进行了修改,并将其用于本公司的SYSTEM R关系数据库系统中; (3)1981年,推出了商用关系数据库SQL/DS,并将其名字改为SQL,由于SQL功能强大,简洁易用,因此得到了广泛的应用; (4)今天,SQL广泛应用于各种大型数据库,如Sybase,INFORMIX,SQL Server,Oracle,DB2,INGRES等,也用于各种小型数据库,如FoxPro,Access等。 2.SQL标准化 随着关系数据库系统和日益广泛,SQL的标准化工作也在紧张地进行着,二十多年来已制订了多个SQL标准:SQL-86,SQL-89,SQLL2和SQL-99。 二、SQL的基本概念 1.基本表——一个关系对应一个表。基本表是独立存在的表,不是由其他的表导出的 表。 2.视图——是一个或几个基本表导出的表,是一个虚拟的表。它本身不独立存在于数 据中,数据库中只存放视图对应的数据,这些数据仍存放在导出视图的基本表中。 当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。 三、SQL的主要特点 SQL有如下几个特点。 (1)SQL是类似于英语的自然语言,简洁易用。 (2)SQL是一种非过程语言。 (3)SQL是一种面向集合的语言。 (4)SQL既是自含式语言,又是嵌入式语言;可独立使用,也可以嵌入到宿主语言中。 (5)SQL是数据库查询(Query)、数据定义(Definition)、数据操纵(Manipulation)和数据控制(Control)四种功能。 创建数据表 语法格式:CREA TE TABLE<表名>(<列定义>[{,<列定义>|<表约束>}]) 例:create table s(xingm c(8),xueh c(8),chengj c(3)) 结果:

常用命令

服务器开始加电,等待片刻会自动引导操作系统,操作系统初始化完毕后会出现登录界面,输入正确的用户名:root和密码:zclroot就可以进入X 图形桌面环境了。 1.启动应用,数据库和数据交换 1).在数据库(SDB)机器上启动数据交换,在#号切到db2inst1用户: su –db2inst1 dbstart (启动数据库) 2)启动websphere:点击屏幕左下角的终端程序(贝壳状图标),然后在#后面输入 /opt/IBM/WebSphere/AppServer/bin/startServer.sh server1 提示进程号则表示启动成功,大约需要五分钟,注意:最后面是数字1不是字母l,server1前面有个空格,注意大小写字母 注:相应的停止websphere的命令为: #/opt/IBM/WebSphere/AppServer/bin/stopServer.sh server1 注意:如果在启动websphere的时候提示: ADMUO116I:正在文件 /opt/IBM/WebSphere/AppServer/bin/startServer.log 中记录工具信息 ADMUO128I:正在启动具有default概要文件的工具 ADMU3100I:正在从服务器读取配置:server1 ADMU3028I:在端口8880上检测到冲突。可能的原因:a) 已经有一个服务器server1的实例在运行b) 一些其他程序在使用端口8880 ADMU3027E:可能已经有一个服务器的实例在运行:server1

ADMU0111E:由于错误 Com.ibm.websphere.management.exception.AdminExcetption: ADMU3027E: 可能已经有一个服务器的实例在运行:server1 ,程序推出。 ADMU1211I:要获取故障的全部跟踪,使用–trace选项。 此时表示应用W ebsphere已经启动了,不需要再进行启动。 注意:如果在停止websphere的时候提示: ADMUO116I:正在文件 /opt/IBM/WebSphere/AppServer/bin/startServer.log 中记录工具信息 ADMUO128I:正在启动具有default概要文件的工具 ADMU3100I:正在从服务器读取配置:server1 ADMUO509I:无法到达 server “server1”.服务器看上去已经停止。 ADMUO211I:在文件 /opt/IBM/WebSphere/AppServer/bin/stopServer.log 中可以看到错误的信息 表示此时:应用W ebsphere现在处在停止状态,需要启动。 3)在数据库(SDB)机器上启动数据交换,在#号切到db2inst1用户: su –db2inst1 >cd server >showsjjh (查看数据交换,如果有四行表示数据交换已经启动。) > stopsjjh (停止数据交换) >showsjjh (查看数据交换,到没有命令行显示为止) >loadsjjh (启动数据交换) >showsjjh (查看数据交换信息) 出现如上四条信息为正常启动了数据交换 2.重启及开关机命令 #reboot重新启动计算机 #shutdown -r now 重新启动计算机,停止服务后重新启动计算机 #shutdown -h now 关闭计算机,停止服务后再关闭系统 #halt 关闭计算机,强制关闭 一般用shutdown -r now,在重启系统是关闭相关服务,shutdown -h now也是如此。 3.备份 #su –db2inst1 >db2 force applications all (切断目前所有与数据库的连接,可以多执行几次) >db2 backup db sino to /db2log (备份目录) 若备份成功会返回提示,并生成一个时间戳,所谓时间戳就是一串记录当前“年月日时分秒”的数字,形如20070212152930,也包含在新生成的备份文件的文件名里。 压缩命令 tar -cvfz sino20070317(压缩后的文件名).tar.gz 被压缩的文件名

DB2常用SQL语句集

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常见考试命令应用考试题

一选择题(每题1.5分,共45分) 1) 下面的哪个数据库版本可以访问OS/390 上的DB2 UDB 数据库? a) DB2 Connect Personal Edition b) DB2 Universal Database Workgroup Edition c) DB2 Personal Developer's Edition d) DB2 Universal Developer's Edition 2) 下面的哪个工具可以编目一个数据库信息? a) Journal 日志工具 b) Alert Center 警告中心 c) License Center 许可证中心 d) Client Configuration Assistant 客户端配置助手 3) 下面的哪个工具可以重组数据回收表中被删除的行所占有的资源? a)reorg b) db2look c) db2move d) runstats 4) USE这个特权的用途是? a) query data in a table. b) load data into a table. c) create tables within a table space. d) create table spaces within a database. 5) 如果创建数据库则需要下面的哪两个权限? a) DBADM b) SYSADM c) DBCTRL d) SYSCTRL e) SYSMAINT 6) 编目一个远程数据库是指: a) 在PC或者Unix 机器上执行编目,目的是为了识别DB2数据库管理器所在的服务器 b) 在PC或者Unix机器上编目,目的是为了让用户和应用程序可以识别DB2数据库 c) 从不在DB2中编目,仅当每个节点上的数据库被允许编目时编目,所以自动编目那个节点就可以自动编目数据库N d) 在PC或者UNIX机器上编目是为了打开在DB2数据库中的目录表,这样当前的用户可以访问这个数据库中的一组可以被访问的数据表。 7) 给出下面的语句

db2 实战常用命令

db2 force application all –断开所有链接数据库的应用 db2 list application-查看连接数据库的应用 db2 bakup db ksdbs 备份数据库 db2start db2stop启停数据库 db2 connect reset断开所有链接 scp get trans.ini -r back@10.10.9.160/home/back/bccbin \ scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@remote_ip:remote_file scp -r ip:/db/dbhome/dbguard 【1】 db2top –d ksdbs db2pd -d ksdbs -stat >stat.log 查看数据库状态(数据超大超详细) 【1】find -type f | xargs dos2unix 遍历格式转换 【1】 find . -name [A-Z]* -print 查找当前目录下以大写字母命名的文件 【1】 >db2ckbkp 检查数据库的完整性 >tee 命令 用途--显示程序的输出并将其复制到一个文件中。 【1】db2 connect reset db2 list directory db2 list active databases db2 get db cfg db2 get db cfg 【1】归档日志 db2 update db cfg for db_name using LOGRETAIN ON 更改归档目录: db2 update db cfg for db_name using LOGARCHMETH1 "disk:/archive/db_name_db_log" 在我重新连接数据库的时候提示: db2 connect to t_1 to mydb SQL1116N A connection to or activation of database "T_1" cannot be made because of BACKUP PENDING. SQLSTATE=57019 网上找了n多最后才知道 若修改数据库LOGRETAIN参数,从循环日志模式改为归档日志模式,则会导致数据库backup pending状态。

DB2常用命令小结

1、打开命令行窗口 #db2cmd 2、打开控制中心 # db2cmd db2cc 3、打开命令编辑器 db2cmd db2ce =====操作数据库命令===== 4、启动数据库实例 #db2start 5、停止数据库实例 #db2stop 如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all 就可以了/db2stop force 6、创建数据库 #db2 create db [dbname] 7、连接到数据库 #db2 connect to [dbname] user [username] using [password]

8、断开数据库连接 #db2 connect reset 9、列出所有数据库 #db2 list db directory 10、列出所有激活的数据库 #db2 list active databases 11、列出所有数据库配置 #db2 get dbcfg 12、删除数据库 #db2 drop database [dbname] (执行此操作要小心) 如果不能删除,断开所有数据库连接或者重启db2 =========操作数据表命令========== 13、列出所有用户表 #db2 list tables 14、列出所有系统表 #db2 list tables for system

15、列出所有表 #db2 list tables for all 16、列出系统表 #db2 list tables for system 17、列出用户表 #db2 list tables for user 18、列出特定用户表 #db2 list tables for schema [user] 19、创建一个与数据库中某个表(t2)结构相同的新表(t1) #db2 create table t1 like t2 20、将一个表t1的数据导入到另一个表t2 #db2 "insert into t1 select * from t2" 21、查询表 #db2 "select * from table name where ..." 22、显示表结构 #db2 describe table tablename 23、修改列

BD2常用命令

DB2 的常用命令: 1,列举出相应的schema下面的所有表。 db2 list tables for schema schemaname 举例:db2 list tables for schema db2admin 2, 列举出当前数据库的目录。 db2 list db directory 举例:db2 list db directory 3, DB2自动增长主键方法 generated always as identity(start with 1,increment by 1) 将一个字段指定为 自增长型字段,放在数据类型后。 举例:crate table students ( sno integer not null primary key generated always as identity (start with 1, increment by 1), sname char(20), sname char(30))

此时插入数据,然后查看结果,sno自动增长1. 4, 数据的导入导出: export to E:\name.txt of del select * from tableName 导出举例1: export to C:\stInfo.ixf of ixf select * from students 导出举例2: 导入举例1: db2 "import from E:\name.txt of del insert into tableName

导入举例2: db2 "import from E:\name.ixf of ixf commitcount 5000 insert /create/replace into tableName

DB2 简明运维手册

DB2 简明运维手册 数据库启动 数据库正常启动的流程包括两个步骤, 首先启动数据库实例,在root用户下切换到实例用户su - db2inst1,执行命令db2start 然后激活对应的数据库,执行命令: db2 activate db 数据库名。 直到出现: 则数据库成功启动。 数据库停止 停止数据库使用如下命令: 在root用户下切换到实例用户su - db2inst1,执行命令db2stop force, 直到出现: 则数据库停止成功。 数据库参数 DB2的参数分为实例级参数和数据库级参数,以及实例注册变量 实例级参数:

主要设置实例使用的TCP/IP端口,查看实例端口通过命令:db2 get dbm cfg 数据库实例注册变量: 确认设置了通信协议为TCPIP,命令如下: 如果没有设置则通过命令db2set DB2COMM=tcpip进行设置。 数据库参数 确认内存自动调整已经打开, 否则连接到数据库并执行db2 update db cfg for sample using SELF_TUNING_MEM ON设置 数据库的缺省日志参数为

如果需要修改日志参数,可以通过命令 db2 udpate db cfg for 数据库名using 参数名参数值 例如增大备用日志文件数量到50,则可以通过命令修改 创建数据库 在实例用户下,执行 db2 "create <数据库名> on <目标路径> using codeset UTF-8 territory cn" 这样创建的数据库缺省页面大小(pagesize)为4K(4096),字符集为UTF-8,如果要使用GBK字符集,则把UTF-8修改为GBK即可。 创建缓冲池(bufferpool) 为了使用与缺省页面大小不一致的表空间,例如缺省页面大小为4K,但是需要使用32K页的表空间,就必须先创建页面大小为32K的缓冲池,命令如下:db2 "create bufferpool bp32k pagesize 32768" bp32k为缓冲池的名字,通常每种页面大小创建一个缓冲池即可,例如8K页面的缓冲池可以命名为bp8k。缓冲池缺省为自动调整大小,如果需要限定使用内存,则使用alter命令,如下: db2 "alter bufferpool bp32k size <页面数量> " <页面数量>为目标内存大小/页面大小,例如要为32K的bufferpool分配2GB内存,则: <页面数量>=2 * 1024 * 1024 / 32 = 65536 创建表空间 如果创建数据库默认页面大小的表空间,并且选择系统自动管理的模式,则使用命令: db2 "create tablespace <表空间名>"

LVM常用命令汇总

【术语解释】 ?物理卷physical volumes(PV):物理卷处于逻辑卷管理器中的底层,任何的逻辑卷和卷组都必需依靠物理卷来建立;物理卷可以是一个完整的硬盘,也可以是硬盘中的一个分区 ?逻辑卷logical volumes(LV):逻辑卷建立在卷组之上,卷组中的空间可以建立多个逻辑卷,并且逻辑卷可以随意在卷组的空闲空间中增减,逻辑卷可以属于一个卷组,也可以属于不同的多个卷组。LV 是位于PV 上的信息的组合,在LV 上的数据可以连续或者不连续地出现在PV。 ?卷组logical volume group(VG):卷组是建立在物理卷之上,一个卷组中可以包含一个物理卷组或者多个物理卷。所有的物理卷属于一个称作rootvg 的卷组。 ?卷组描述区域Volume Group Descriptor Area (VGDA):用于描述物理卷、卷组、逻辑卷分配的所由信息。逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的VGDA( 卷组描述符区域) 中。 1、查看lvm状态: [root@LOCALHOST ~]# pvs --partial [root@LOCALHOST ~]# vgs --partial [root@LOCALHOST ~]# lvs --partial 2、查看pv、vg、lv是否异常 [root@LOCALHOST ~]# pvs [root@LOCALHOST ~]# vgs [root@LOCALHOST ~]# lvs [root@LOCALHOST ~]# lsblk #列出所有可用块设备的信息 3、PV (物理卷) 命令: pvcreate(创建)pvmove(移动)pvdisplay(显示)pvremove(移除)pvs(显示)

DB2数据库基础入门

IBM DB2数据库基础 基本命令集合 1. 建立数据库DB2_GCB CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32 2. 连接数据库 connect to sample1 user db2admin using 8301206 3. 建立别名 create alias db2admin.tables for sysstat.tables; CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS create alias db2admin.columns for syscat.columns; create alias guest.columns for syscat.columns; 4. 建立表 create table zjt_tables as (select * from tables) definition only; create table zjt_views as (select * from views) definition only; 5. 插入记录 insert into zjt_tables select * from tables; insert into zjt_views select * from views;

6. 建立视图 create view V_zjt_tables as select tabschema,tabname from zjt_tables; 7. 建立触发器 CREATE TRIGGER zjt_tables_del AFTER DELETE ON zjt_tables REFERENCING OLD AS O FOR EACH ROW MODE DB2SQL Insert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10)) 8. 建立唯一性索引 CREATE UNIQUE INDEX I_ztables_tabname ON zjt_tables(tabname); 9. 查看表 select tabname from tables where tabname='ZJT_TABLES'; 10. 查看列 select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 类型,LENGTH as 长度 from columns where tabname='ZJT_TABLES'; 11. 查看表结构 db2 describe table user1.department db2 describe select * from user.tables

MSSQL常用命令汇总

首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 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 only 5、说明:删除新表drop table tabname 6、说明:增加一个列 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 viewname 10、说明:几个简单的基本的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 table1 11、说明:几个高级查询运算词 A:UNION 运算符 UNION 运算符通过组合其他两个结果表(例如TABLE1 和TABLE2)并消去表中任何重复行而派生出一个结果表。当ALL 随UNION 一起使用时(即UNION ALL),不消除重

DB2日常维护手册

DB2 日常维护手册

目录 DB2日常维护手册 ............................................................................................................... - 1 - 一、DB2日常维护操作 ............................................................................................ - 1 - 1.检查管理服务器是否启动.................................................................................... - 1 - 2.检查DB2实例是否已经启动 ............................................................................... - 1 - 3.查看表空间状态是否正常.................................................................................... - 1 - 4.查看表的状态........................................................................................................ - 2 - 5.查看磁盘空间........................................................................................................ - 2 - 6.检查存储管理软件是否正常................................................................................ - 2 - 7.检查数据库备份是否正常.................................................................................... - 2 - 8.检查归档日志是否正确归档了............................................................................ - 3 - 9.查看缓冲池的命中率............................................................................................ - 3 - 10.查看当前运行最频繁的SQL,其命中率是否正常 ......................................... - 3 - 11.查看当前连接的应用程序,有没有非法连接 ................................................ - 3 - 12.检查有没有死锁 ................................................................................................ - 3 - 13.对表和索引进行runstats .................................................................................. - 3 - 14.检查表是否需要重组 ........................................................................................ - 4 - 15.对需要重组的表进行重组 ................................................................................ - 4 - 二、DB2日常维护月操作 ........................................................................................ - 4 - 1.查看DB2日志 ....................................................................................................... - 4 - 2.检查备份和日志是否都保存好了........................................................................ - 4 - 三、DB2日常维护季度操作 .................................................................................... - 5 - 1.通过快照监控器,查看系统性能如何 ................................................................ - 5 - 2.数据库补丁级别.................................................................................................... - 5 - 四、注意事项............................................................................................................ - 5 - 1.不要删除活动日志文件........................................................................................ - 5 - 2.注意交易日志存储空间........................................................................................ - 5 - 3.按照系统的实际工作量配置日志空间 ................................................................ - 5 - 4.设置正确数据库代码页........................................................................................ - 6 -

db2中的常用命令及使用方法

db2中的常用命令及使用方法 一高(重要度) 1 启动一个db 2实例使用: net start instanceName 2 停止一个db 2实例使用: net stop instanceName 3 启动配置助手: db2=>!db2ca 4 手工配置连接: db2=>catalog node/db 5 删除视图: db2=>drop view view_name 6 创建表: db2=>create table tablename 7 列出活动的数据库和连接数: db2=>list active databases 8 断开所有应用程序与数据库的连接: db2=> force application all 9 以用户 通过使用密码 与标识为 的远程实例连接: db2=> attach to user using 10 创建名为 的数据库: db2=> create database 11 显式地使数据库失效: db2=> deactivate database 12 根据需要,显式地以用户 和密码 与数据库 连接:db2=> connect to [ [user ] using ] 13 断开与当前数据库的连接: db2=> connect reset 14 列出数据库中的表。如果没有指定任何参数,则缺省情况是列出当前用户的表:db2=> list tables[for {user | all | system | schema }][show detail] 15 显示一个表或视图的列信息: db2=> describe table 16确定是否需要对表进行重组。这对于对所有表自动执行runstats 很有用 db2=> reorgchk on table all 17通过重构行来消除“碎片”数据并压缩信息,对表进行重组 db2=> reorg table 18将数据库数据抽取到一个平面文件中 db2=> export 19通过使用IMPORT 实用程序,将数据导入到数据库 db2=> import 20返回LOAD 实用程序的进度 db2=> load query table [to local-message-file][nosummary | summaryonly] [showdelta] 21 创建索引:

DB2操作指南及命令大全

DB2操作指南及命令大全 1.启动实例(db2inst1): db2start 2.停止实例(db2inst1): db2stop 3.列出所有实例(db2inst1) db2ilist 4.列出当前实例: db2 get instance 5.设置当前实例 set db2instance=db2 6.察看示例配置文件: db2 get dbm cfg|more 7.更新数据库管理器参数信息: db2 update dbm cfg using para_name para_value 8.创建数据库: db2 create db test 9.察看数据库配置参数信息 db2 get db cfg for test|more 10.更新数据库参数配置信息 db2 update db cfg for test using para_name para_value 11.删除数据库: db2 drop db test 12.连接数据库 db2 connect to test 13.列出所有表空间的详细信息。 db2 list tablespaces show detail 14.列出容器的信息 db2 list tablespace containers for tbs_id show detail

15.创建表: db2 ceate table tb1(id integer not null,name char(10)) 16.列出所有表 db2 list tables 7.插入数据: db2 insert into tb1 values(1,’sam’); db2 insert into tb2 values(2,’smitty’); 18.查询数据: db2 select * from tb1 9.数据: db2 delete from tb1 where id=1 0.创建索引: db2 create index idx1 on tb1(id); 1.创建视图: db2 create view view1 as select id from tb1 2.查询视图: db2 select * from view1 3.节点编目 db2 catalog tcp node node_name remote server_ip server server_port 4.察看端口号 db2 get dbm cfg|grep SVCENAME 5.测试节点的附接 db2 attach to node_name 6.察看本地节点 db2 list node direcotry 7.节点反编目 db2 uncatalog node node_name 8.数据库编目 db2 catalog db db_name as db_alias at node node_name

SQL常用命令概述

1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 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 only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 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 viewname 10、说明:几个简单的基本的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 table1 11、说明:几个高级查询运算词 A: UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B: EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一 个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 C: INTERSECT 运算符

相关主题
文本预览
相关文档 最新文档