安装IBM DB2可以参考我上篇博客:IBM Db2 & IBM Db2 Data Management Console(可视化管理工具)的下载与安装(简洁版)-CSDN博客
使用管理员权限打开cmd窗口
G:
cd G:\IBM\SQLLIB\BIN
db2cmd
首先,在服务端需要配置好服务名、监听端口、通信协议,并且需要创建一个数据库,供客户端连接
1.建库、连接数据库,建表、增删改查
1.建库
db2 create database <数据库名>
db2 connect to 数据库名
db2 connect to 数据库名 user 用户名 using 密码
db2 connect to CKK user db2admin using db2admin
1.1列出数据库中所有用户表
db2 list tables
1.2建表
【Tips:DB2数据库INT类型不能指定长度】
db2 "CREATE TABLE student ( stu_id INT NOT NULL PRIMARY KEY, stu_name VARCHAR(20) DEFAULT NULL, stu_id_card VARCHAR(18) DEFAULT NULL, stu_pwd VARCHAR(32) DEFAULT NULL, stu_mobile VARCHAR(11) DEFAULT NULL, stu_gender INT DEFAULT NULL, enrollment_date DATE DEFAULT NULL, remark VARCHAR(200) DEFAULT NULL, del_mark INT DEFAULT 1);"
1.3添加数据
db2 "INSERT INTO student(stu_id,stu_name,stu_id_card,stu_pwd,stu_mobile,stu_gender,enrollment_date,remark,del_mark) VALUES (1,'小明','610123200210202345','pwd123','13500001111',1,to_date('2025-02-03','yyyy-mm-dd'),'stu测试',1);"
1.4查询数据
db2 "select * from student"
1.4.1查看表student结构
db2 describe table student
1.5修改数据
db2 "UPDATE student SET stu_name = '蔡坤坤' WHERE stu_id = 1 AND stu_name = '小明';"
1.6删除数据
2.查看DB2所有实例
db2ilist
3.查看当前实例
db2 get instance
4.查看当前实例下的所有数据库
db2 list db directory
5.查看当前连接的数据库
db2 list active databases
6.查看所有对数据库的连接
db2 list applications
7.查看数据库死锁
db2 get snapshot for locks on CKK
8.查看当前连接的是哪个库
db2 get connection state
9.查看端口
netstat -n
netstat -an
netstat 命令当中的内部地址和外部地址:netstat 命令当中的内部地址和外部地址_netstat本地地址和外部地址-CSDN博客
10.查看指定端口
netstat -an | findstr 1024
11.查询tcpip服务对应的端口
find "db2c_DB2" c:\windows\system32\drivers\etc\services
12.查看实例所用的通讯协议
db2set -all
查看有没有这个协议DB2COMM=TCPIP ,没有的话按照下一步设置
13.设置实例所用通讯协议
db2set DB2COMM=TCPIP
14.查看db2的tcpip服务名称
db2 get dbm cfg | find "SVCENAME"
14.1修改实例的服务名
db2的服务名和端口号在这个路径的文件里自己加c:\windows\system32\drivers\etc\services
确保 DB2
(或其他实例名)映射到 50000
端口
db2c_DB2 50000/tcp #DB2 Server
db2 update dbm cfg using SVCENAME db2c_DB2
15.刷新数据库高速缓存
16.启动db2服务
db2start
17.启动db2服务
db2stop
18.DB2帮助命令
db2 ? SQLcode(注:code必须为4位数,不够4位,前面补0)
db2 ? SQL1025N
19.强迫所有应用断开数据库连接
db2 force application all
19.创建实例
db2icrt
20.查看数据库参数
db2 get db cfg
db2 get db cfg for CKK
21.修改数据库参数
db2 update db cfg for CKK using LOGBUFSZ 20
db2 update db cfg for CKK using LOGFILSIZ 5120
改完后,应执行以下命令使其生效:
db2 stop
db2 start
22.增加结点编目
db2 catalog tcpip node 结点名字 remote 结点所在ip地址 server 50000
23.查看结点编目
db2 list node directory
24.删除结点编目
db2 uncatalog node 结点别名
25.增加数据库编目
db2 catalog db 远程数据库名字 as 数据库别名 at node 结点名字
26.查看数据库编目
db2 list db directory
27.删除数据库编目
db2 uncatalog db数据库别名
28.检查用户 DB2ADMIN
的权限
db2 "SELECT * FROM SYSIBMADM.PRIVILEGES WHERE AUTHID = 'DB2ADMIN'"
G:\IBM\SQLLIB\BIN>db2 "SELECT * FROM SYSIBMADM.PRIVILEGES WHERE AUTHID = 'DB2ADMIN'"
AUTHID AUTHIDTYPE PRIVILEGE GRANTABLE OBJECTNAME OBJECTSCHEMA OBJECTTYPE PARENTOBJECTNAME PARENTOBJECTTYPE
-------------------- ---------- ----------- --------- --------------- ---------------- ----------------- -------------------- ----------------
DB2ADMIN U USE Y TS4CONSOLE TABLESPACE1 条记录已选择。
G:\IBM\SQLLIB\BIN>
29. 授予权限
如果用户 DB2ADMIN
缺少必要权限,可以使用 GRANT
语句授予权限。
授予 CREATETAB
权限:
db2 "GRANT CREATETAB ON DATABASE TO USER DB2ADMIN"
授予 IMPLICIT_SCHEMA
权限:
db2 "GRANT IMPLICIT_SCHEMA ON DATABASE TO USER DB2ADMIN"