如何创建一个使用gbk字符集的mydb2数据库

如何创建一个使用gbk字符集的mydb2数据库,第1张

一、创建和查看数据库

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;

三、表的约束

1PRIMARY 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

);

2NOT 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

);

3UNIQUE唯一约束:唯一

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

);

4DEFAULT默认约束:

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

);

查看环境变量 db2set 如果发现db2set中db2codepage不是819,执行以下是代码片段:db2set db2codepage=819db2 create database test05 on /home/db2inst1db2 connect to test05 user db2inst1 using db2 创建对应pagesize大小的缓冲池和表空间以下是代码片段:db2 CREATE Bufferpool USER8 SIZE 1000 PAGESIZE 8Kdb2 CREATE Bufferpool USER16 SIZE 1000 PAGESIZE 16 Kdb2 CREATE Bufferpool USER32 SIZE 1000 PAGESIZE 32 Kdb2stop force ( 可以先用:db2stop 、db2 terminate进行停止)db2startdb2 connect to test05 user db2inst1 using db2db2 "CREATE REGULAR TABLESPACE TS_USER8 PAGESIZE 8K MANAGED BY SYSTEM USING ('FSMS_8K_1') BUFFERPOOL USER8"db2 "CREATE REGULAR TABLESPACE TS_USER16 PAGESIZE 16K MANAGED BY SYSTEM USING ('FSMS_16K_1') BUFFERPOOL USER16"db2 "CREATE REGULAR TABLESPACE TS_USER32 PAGESIZE 32K MANAGED BY SYSTEM USING 创建临时表空间(用于缓冲查询结果或者临时表)以下是代码片段:db2 CREATE Bufferpool TMPBUF8 SIZE 10000 PAGESIZE 8Kdb2 "CREATE TEMPORARY TABLESPACE TempTS_USER8 PAGESIZE 8K MANAGED BY 给相关用户付权限以下是代码片段:db2 GRANT DBADM,CREATETAB,BINDADD,CONNECT,LOAD ON DATABASE TO USER EASYMISdb2 GRANT USE OF TABLESPACE TS_USER8 TO easymisdb2 GRANT USE OF TABLESPACE TS_USER16 TO easymisdb2 GRANT USE OF TABLESPACE TS_USER32 TO easymis 开始创建表、创建(这种方式是直接创建表、视图的方式,如果采用db2move的方式,那么则不需要)以下是代码片段:db2 connect to test05 user easymis using easymisdb2 -f dbstructsql >crttablogdb2 -f viewsql >crtviwlog 恢复db2move备份的数据库(备份的过程参见后面的db2move的说明)以下是代码片段:db2move test05 import -l /home/db2inst1/wk/test04db2 -tvf viewsql >crtviewlog #如果脚本是db2look,命令结束符为分号,行结束无特殊符号

通过开始菜单找到“DB2命令窗口(Administrator)”,打开之后运行“db2sampl”,创建样本数据库,然后可以“db2 connect to sample”连接到sample数据库中,对各种表(可以通过db2 list tables查看到所有表)开始 *** 作。

DB2的用户需要通过 *** 作系统创建,如果只是练习使用,不需要新建用户,直接用管理员账号 *** 作即可。

方法/步骤

打开dbvisualizer,点击新建连接按钮(点击其中任意一个即可)。

dbvisualizer怎样连接DB2,Oracle等数据库

需要填写7项信息

(1)设置格式,默认选择Server Info即可

(2)Name:数据库连接名称(自己随便起)

(3)DataBase Type:数据库类型(MySql,DB2,Oracle等)

(4)Driver:驱动类型

(5)Userid:数据库用户名

(6)Password:密码

(7)Auto Commit:是否自动提交,自动commit

dbvisualizer怎样连接DB2,Oracle等数据库

驱动(Driver)选择DB2之后,自动出现三个新的内容:

(1)Database Server:数据库的地址,IP

(2)Database Port:数据库端口

(3)Database:数据名称

dbvisualizer怎样连接DB2,Oracle等数据库

最终填写的信息如下,然后点击connect按钮进行连接。

dbvisualizer怎样连接DB2,Oracle等数据库

如果连接成功,则下方出现如下信息,代表您的DB2连接已经新建完毕。

dbvisualizer怎样连接DB2,Oracle等数据库

如果出现如下信息,则代表连接错误。需要检查用户名,密码,服务器IP,端口,数据库名等信息填写的是否正确。

dbvisualizer怎样连接DB2,Oracle等数据库

可以点击Ping Server按钮,查看与服务器之间的网络是否畅通。

dbvisualizer怎样连接DB2,Oracle等数据库

如果服务器网路畅通,会提示如下信息

dbvisualizer怎样连接DB2,Oracle等数据库

登录到AIX上

cd 到DB2 安装路径\instance

su 到root

db2icrt 创建实例

su db2 user

db2 create db 创建DB

CREATE DATABASE语法树

Read syntax diagramSkip visual syntax diagram

>>-CREATE--+-DATABASE-+----------------------------------------->

'-DB-------'

>----database-name--+-----------------------------+------------><

+-AT DBPARTITIONNUM-----------+

'-| Create Database options |-'

Create Database options

-AUTOMATIC STORAGE--YES-

|--+------------------------+----------------------------------->

'-AUTOMATIC STORAGE--NO--'

>--+---------------------------------------------+-------------->

| -,--------- |

| V | |

'-ON----+-path--+-+--+----------------------+-'

'-drive-' '-DBPATH ON--+-path--+-'

'-drive-'

>--+-----------------------+------------------------------------>

'-ALIAS--database-alias-'

>--+----------------------------------------------+------------->

'-USING CODESET--codeset--TERRITORY--territory-'

>--+-----------------------------------------------+------------>

| -SYSTEM--------------------- |

'-COLLATE USING--+-COMPATIBILITY--------------+-'

+-IDENTITY-------------------+

+-IDENTITY_16BIT-------------+

+-UCA400_NO------------------+

+-UCA400_LSK-----------------+

+-UCA400_LTH-----------------+

+-language-aware-collation---+

+-locale-sensitive-collation-+

'-NLSCHAR--------------------'

参数详解

1 DATABASE database-name

给数据库指定名称,在本地和系统库中,都必须唯一的,不能包含空格。

2 AT DBPARTITIONNUM

指定数据库将要被创建在发出命令的分区。当创建一个新库,不要指定这个参数。可以用它重建一个因为损坏而删除的数

据库分区。当用这个参数创建库,数据库将处于restore pending状态。不切断应用可能导致不一致,用时谨慎。

3 AUTOMATIC STORAGE NO | YES

指定自动存储打开或关闭。默认是打开的。

4 ON path or drive

这个子句和AUTOMATIC STORAGE的值有关,它指定了DB表空间的容器位置。详细的目录结构如下

/Path or Drive ----------> 数据库目录

|

|------ InstanceName ----------> 实例名

|

|------ NODEnnnn ----------> 节点名

|

|------ DataBaseName ----------> 数据库名

|

|------Tnnnnnnn ----------> 表空间容器

对于AUTOMATIC STORAGE NO:只有一个path可以包含在ON后,它指定了DB的位置。如果没有指定这个参数,DB创建到默认路径中,该默认路径为dbm cfg的dftdbpath指定。

对于AUTOMATIC STORAGE YES:可以列出多个路径,有逗号分隔,这些路径作为存储路径和保存自动存储表空间的容器。对于多分区DB,相同的存储路径被用在所有分区中。

创建数据库后将创建三个缺省表空间:

T0000000子目录中包含带有系统目录表的目录表空间。

T0000001子目录中包含缺省临时表空间。

T0000002子目录中包含缺省用户数据表空间。

每个子目录或容器中都会创建一个名为 SQLTAGNAM 的文件。这个文件可以标记正在使用中的子目录,因此在以后创建其他表空间时,不会尝试使用这些子目录。

此外,名为 SQLDAT 的文件中还存储有关子目录或容器包含的每个表的信息。星号()将被唯一的一组数字取代,用来识别每个表。对于每个 SQLDAT 文件,可能有一个或多个下列文件,这取决于表类型、表的重组状态或者表是否存在索引、LOB 或 LONG 字段:

SQLBKM(如果它是一个 MDC 表,那么它包含块分配信息)

SQLLF(包含 LONG VARCHAR 或 LONG VARGRAPHIC 数据)

SQLLB(包含 BLOB、CLOB 或 DBCLOB 数据)

SQLXDA(包含 XML 数据)

SQLLBA(包含有关 SQLLB 文件的分配和可用空间信息)

SQLINX(包含索引表数据)

SQLIN1(包含索引表数据)

SQLDTR(包含用于重组 SQLDAT 文件的临时数据)

SQLLFR(包含用于重组 SQLLF 文件的临时数据)

SQLRLB(包含用于重组 SQLLB 文件的临时数据)

SQLRBA(包含用于重组 SQLLBA 文件的临时数据)

5、DBPATH ON指定了数据库基础文件(控制文件,日志文件等)的创建位置。如果没有指定,则数据库在ON后面第一

个路径指定。如果没有指定路径,则在默认位置创建,该默认路径为dbm cfg的dftdbpath指定。数据库路径里面创建了

分层目录结构

以上就是关于如何创建一个使用gbk字符集的mydb2数据库全部的内容,包括:如何创建一个使用gbk字符集的mydb2数据库、如何在aix环境下创建DB2数据库、如何安装db2数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9279481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存