db2新建数据库
❶ 我把DB2数据库安装完了,谁能告诉我如何创建数据库
在发出 CREATE DATABASE 命令时,DB2 会创建许多文件,这个在前面已经见过。这些文件包括日志文件、配置信息、历史文件和三个表空间。这些表空间是:
SYSCATSPACE:这是保存 DB2 系统编目的地方,系统编目跟踪与 DB2 对象相关联的所有元数据。 TEMPSPACE1:DB2 用来放置中间结果的临时工作区域。 USERSPACE1:默认情况下存放所有用户对象(表、索引)的地方。所有这些文件都放在默认驱动器上的 DB2 目录中。默认驱动器通常是安装 DB2 产品的卷。
对于简单的应用程序,这个默认配置应该可以满足需要。但是,可能希望改变数据库文件的位置,或者改变 DB2 管理这些对象的方式。接下来,我们将更详细地研究 CREATE DATABASE 命令。
对于从 DB2 8 进行迁移的用户,有一个特殊的注意事项:在 DB2 9 之前,CREATE DATABASE 命令会为上面列出的所有对象创建 SMS 表空间。在 DB2 9 中,所有表空间都将定义为自动存储(DMS)表空间。
以下的 CREATE DATABASE 命令将数据库放在 Windows 操作系统下的 D: 驱动器上的 TEST 目录中:
CREATE DATABASE MYDB ON D:\TEST
选择 Automatic storage(默认设置)允许 DBA 为数据库设置在创建所有表空间容器时可以使用的存储路径。DBA 不必显式地定义表空间的位置和大小,系统将自动地分配表空间。例如,下面的数据库创建语句将为数据库中的所有表空间设置自动存储。
CREATE DATABASE TEST
AUTOMATIC STORAGE ON /db2/storagepath001,
/db2/storagepath002,
/db2/storagepath003
AUTORESIZE YES
INITIALSIZE 300 M
INCREASESIZE 75 M
MAXSIZE NONE
在 AUTOMATED STORAGE ON 选项后面,给出了三个文件目录(路径)。这三个路径是一个表空间的容器的位置。其他的选项是:
AUTORESIZE YES 当表空间用光空间时,系统将自动地扩展容器的大小。 INITIALSIZE 300 M 没有定义初始大小的任何表空间的大小默认为 300 MB。每个容器是 100 MB(有三个存储路径)。 INCREASESIZE 75 M (或百分数) 当表空间用光空间时,表空间的总空间增加 75 MB。还可以指定一个百分数,在这种情况下,表空间会增长它的当前大小的百分数。 MAXSIZE NONE 表空间的最大大小没有限制。如果 DBA 希望限制一个表空间可以占用的存储空间,那么可以指定一个最大值。
当使用 AUTOMATIC STORAGE 定义表空间时,不需要提供其他参数: CREATE TABLESPACE TEST MANAGED BY AUTOMATIC STORAGE;
在这个命令中,可以提供与表空间相关联的任何参数;但是,使用自动存储可以大大简化日常的表空间维护。与重要的大型生产表相关联的表空间可能需要 DBA 更多地干预。 在没有启用自动存储的数据库中创建表空间时,必须指定 MANAGED BY SYSTEM 或 MANAGED BY DATABASE 子句。使用这些子句会分别创建 SMS 表空间和 DMS 表空间。在这两种情况下,都必须提供容器的显式列表。
如果数据库启用了自动存储,那么有另一个选择。可以指定 MANAGED BY AUTOMATIC STORAGE 子句,或者完全去掉 MANAGED BY 子句(这意味着自动存储)。在这种情况下,不提供容器定义,因为 DB2 会自动地分配容器。
代码页和整理次序
所有 DB2 字符数据类型(CHAR、VARCHAR、CLOB、DBCLOB)都有一个相关联的字符代码页。可以认为代码页是一个对照表,用来将字母数字数据转换为数据库中存储的二进制数据。一个 DB2 数据库只能使用一个代码页。代码页是在 CREATE DATABASE 命令中使用 CODESET 和 TERRITORY 选项设置的。代码页可以使用单一字节表示一个字母数字字符(单一字节可以表示 256 个独特元素),也可以使用多个字节。
英语等语言包含的独特字符相当少;因此单字节代码页对于存储数据足够了。日语等语言需要超过 256 个元素才能表示所有的独特字符;因此需要多字节代码页(通常是双字节代码页)。
在默认情况下,数据库的整理次序根据 CREATE DATABASE 命令中使用的代码集进行定义。如果指定选项 COLLATE USING SYSTEM,就根据为数据库指定的 TERRITORY 对数据值进行比较。如果使用选项 COLLATE USING IDENTITY,那么以逐字节的方式使用二进制表示来比较所有值。
DB2 Administration Guide 列出了创建数据库时可用的各种代码页。在大多数情况下,DBA 会让这个设置保持为数据库所在的操作系统的默认代码页。
对于需要使用 XML 数据的应用程序,有一个特殊的注意事项。当前,DB2 只在定义为 Unicode(UTF-8)的数据库中支持 XML 列。如果数据库在创建时没有启用 Unicode 支持,就不能在其中创建 XML 列。
❷ 如何创建一个使用gbk字符集的mydb2数据库
一、创建和查看数据库
1.创建数据库
CREATE DATABASE [IF NOT EXISTS]#可选内容 db_name [create_specification]#如下定义:
[DEFAULT] CHARACTER SET charset_name#字符集 | [DEFAULT] COLLATE collation_name#校对规则
(1)创建一个名称为mydb1的数据库
create database mydb1;
(2) 创建一个使用gbk字符集的mydb3的数据库
create database mydb2 character set gbk;
(3)创建一个使用utf8字符集,并带校对规则的mydb3数据库
create database mydb3 character set utf8 collate utf8_bin;
2.查看数据库
(1)显示数据库 语句:
show databases;
(2) 显示数据库创建语句:
show create database mydb3;
3.修改数据库
ALTER DATABASE [IF NOT EXISTS] db_name [alter_specification [, alter_specification [,........#规格如下
[DEFAULT] CHARECTER SET charset_name [DEFAULT] COLLATE collation_name
(1) 查看服务器中的数据库,并把其中某一个库的字符集修改为utf8
alter database mydb2 character set utf8;
4.修改数据库
DROP DATABASE [IF EXISTS] db_name
(1)删除数据库mydb3
drop database mydb3;
5.选择数据库
use 数据库;
select database();#查看数据库
二、数据库中表的操作
1.学习数据库的数据类型
2.增加表
CREATE TABLE table_name(
field1 datatype
field2 datatype
field3 datatype
field4 datatype
) character set 字符集 collate 校对规则 #建议默认
field:指定列名 datatype:指定列类型
(1)创建一个员工表employee
create table employee (
id int,
name varchar(20),
gender char(1),
birthday date,
entry_data date,
job varchar(50),
salay double,
resume text
);
3.查看表
查看表结构:desc tab_name;
查询当前数据库中的所有表:show tables;
查看表的建表语句:show create table;
4.修改表
ALTER TABLE table_name ADD (column datatype [DEFAUL expr] [,column datatype]......);
ALTER TABLE table_name MODIFY (column datatype [DEFAUL expr] [,column datatype]......);
ALTER TABLE table_name DROP (column );
修改列的名称:ALTER TABLE table_name change [column]
old_col_name column_definition;
修改表的名称:rename table 表名 to 新表名;
修改表的字符集编码:alter table tab_name character set utf8;
(1)在上面员工表基本上增加一个image列
alter table employee add image blob;
(2)修改job列,使其长度为60
alter table employee modify job varchar(60);
(3)删除gender列
alter table employee drop gender;
(4)表名改为user
alter table employee to user;
(5)修改表的字符集为utf8
alter table user character set utf8;
(6)列名name修改为username
alter table user change name username varchar(20)
5.删除表
drop table table_name;
三、表的约束
1.PRIMARY KEY 主键约束:非空&唯一
create table employee (
id int primary key,
name varchar(20),
gender char(1),
birthday date,
entry_data date,
job varchar(50),
salay double,
resume text
);
2.NOT NULL非空约束:不能为空
create table employee (
id int primary key,
name varchar(20),
gender char(1) not null,
birthday date,
entry_data date,
job varchar(50),
salay double,
resume text
);
3.UNIQUE唯一约束:唯一
create table employee (
id int primary key,
name varchar(20) unique,
gender char(1) not null,
birthday date,
entry_data date,
job varchar(50),
salay double,
resume text
);
4.DEFAULT默认约束:
create table employee (
id int primary key,
name varchar(20) unique,
gender char(1) not null,
birthday date,
entry_data date,
job varchar(50) DEFAULT ‘sxs‘,
salay double,
resume text
);
❸ db2db 数据库转换设置自增的必须为主键 但是不是怎么办
以sqlserver2008R2数据库为例。可以用如下方法:
1、先建表:
1
2
3
create table test
(id int not null,
name varchar(10))
2、在图形界面,找到test表:
3、右键此表名,选择“设计”。
4、右侧出现的页面,找到要设置主键的列,ID列,然后右键,选择“设置主键”。
5、下面一步是要设置自增,在左侧列表中,右键“id列”,然后选择“属性”。
6、其中,找到“标识规范”,标识增量为每次增加多少,标识种子代表起始数值大小。
❹ db2常用命令
操作数据库命令
1、 启动数据库实例
#db2start
2、 停止数据库实例
#db2stop
如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all就可以了 /db2stop force
3、 创建数据库
#db2 create db [dbname]
4、 连接到数据库
#db2 connect to [dbname] user[username] using [password]
5、 断开数据库连接
#db2 connect reset
操作数据表命令
1、 列出所有用户表
#db2 list tables
2、列出所有系统表
#db2 list tables for system
3、列出所有表
#db2 list tables for all
4、 列出系统表
#db2 list tables for system
5、列出用户表
#db2 list tables for user
6、 列出特定用户表
#db2 list tables for schema[user]
❺ 求助各位大神,小弟初学IBM DB2,求助关于数据库创建问题,多谢!!
在命令行处理器中只能执行数据库命令,在命令窗口中可以执行操作系统命令。在命令行处理器中执行quit命令,就会返回命令窗口。在命令窗口执行db2 ,就可进行命令行处理器。在命令窗口执行db2命令时,在前面加db2并用""把sql语句包起来。创建数据库可以查询一下帮助在命令行处理器中执行 ? create db回车。或在命令窗口执行db2 ? create db
查询错误db2 ? sql1024N
DB2错误分为sqlcode 和sqlstate 1024N或1052N为sqlcode
C:\Program Files\IBM\SQLLIB\BIN>db2 ? sql1024n
SQL1024N 不存在数据库连接。
说明:
没有与数据库连接。除非先前执行了 SQL CONNECT,否则不能处理其他 SQL 语句
。
无法处理该命令。
用户响应:
如果与数据库断开连接时发生错误,那么继续处理。如果在另一条 SQL 语句中发
生错误,那么发出 SQL CONNECT 语句,并重新提交该命令或语句。
sqlcode:-1024
sqlstate:08003