一、库的操作
1.1 库的创建
1.1.1 创建数据库
CREATE DATABASE [IF NOT EXISTS] <db_name> [create_specification];
create_specification[创建规格]为如下:
[DEFAULT] CHARACTER SET <charset_name>
[DEFAULT] COLLATE <collate_name>
其中创建规格的选项可以不加,不加数据库会使用默认的创建规则,这个规则是当初配置数据库配置好的,可以通过修改配置文件来修改创建规则。
1.1.2 创建例子
创建一个数据库
CREATE DATABASE test_DB1;
注:这里没有指明创建规则,系统会使用默认的规则,在/etc/my.cnf配置文件中可以设置。
创建一个使用utf8
字符集的数据库。
CREATE DATABASE test_DB2 CHARSET=utf8;
创建一个使用uft8
字符集,并且校验规则为utf8_general_ci
的数据库。
CREATE DATABASE test_DB3 CHARSET=uft8 COLLATE=utf8_general_ci;
注意设置的编码规则和校对规则要保持一致,不然可能会出现问题。
1.2 字符集和校验规则
1.2.1 默认字符集和校验规则
show variables like 'character_set_database';
show variables like 'collation_database';
可以通过上述SQL语句查询默认的字符集和校验规则
其中默认的字符集是配置文件里配置好的,而校对规则也是和这个字符集相对应的。
1.2.2 查看数据库支持的字符集和校验规则
show charset;
show collation;
1.2.3 校验规则的影响
创建校验规则utf8_general_ci [不区分大小写]
的数据库
CREATE DATABASE test_utf8 COLLATE=utf8_general_ci;
USE test_utf8;
CREATE TABLE test (name varchar(20));
插入一组数据
INSERT INTO test VALUES ('a');
INSERT INTO test VALUES ('A');
INSERT INTO test VALUES ('b');
INSERT INTO test VALUES ('B');
创建校验规则utf8_bin[区分大小写]
的数据库
CREATE DATABASE test_bin COLLATE=utf8_bin;
USE test_bin;
CREATE TABLE test (name varchar(20));
插入一组数据
INSERT INTO test VALUES ('a');
INSERT INTO test VALUES ('A');
INSERT INTO test VALUES ('b');
INSERT INTO test VALUES ('B');
-
对于
COLLATE=utf8_general_ci
的数据库
-
对于
COLLATE=utf8_bin
的数据库
二、库的修改
2.1 库的查看
SHOW DATABASES;--显示数据库
SHOW CREATE DATABASE <数据库名>; --显示创建语句
2.2 库的修改
库的修改主要是指修改字符集和校验规则
ALTER DATABASE <数据库名> [alter_specification]
alter_specification包含:
[DEFAULT] CHARACTER SET <charset_name>
[DEFAULT] COLLATE <collate_name>
--例:将字符集改为gbk
ALTER DATABASE test CHARSET=gbk;
2.3 库的删除
DROP DATABASE [IF EXISTS] <db_name>
删除一个数据库和删除一个文件夹其实没有区别,因此可以在Linux下直接删除对应的文件夹来达成这一做法