库的操作


查看数据库

语法

SHOW DATABASES;
databases是复数形式,大小写不敏感

创建数据库

语法

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_option] ...

1
2
3
4
5
3 create_option: [DEFAULT] {
4     CHARACTER SET [=] charset_name
5   | COLLATE [=] collation_name
6   | ENCRYPTION [=] {'Y' | 'N'}
7 }
  • CHARACTER SET:指定数据库采⽤的字符集编码
  • COLLATE:指定数据库字符集的校验规则
  • ENCRYPTION:数据库是否加密,MySQL 8.0.16中引入的新选项,默认为N,表示不加密

示例

创建⼀个名为test+班级号的数据库

1
CREATE DATABASE IF NOT EXISTS test01;

如果数据库已存在,则会报错
SHOW WARNINGS;
可以查看报错信息

字符集编码和校验(排序)规则

查看数据库支持的字符集编码

SHOW CHARACTER SET ;
MySQL8.0默认的字符集编码是 utf8mb4 ,MySQL5.7默认的字符集是 latin1

查看数据库支持的排序规则

SHOW COLLATION;
MySQL8.0默认的排序规则是 utf8mb4_0900_ai_ci , MySQL5.7默认排序规则是 utf8mb4_general_ci

不同的字串集与排序规则对数据库的影响

  • utf8mb4_0900_ai_ci 是MySQL8.0引⼊的新规则,在老版本中不能识别;
  • utf8mb4 编码是对 Unicode 字符集的⼀种实现,⽤1到4个字节表⽰⼀个字符,可以表世界上 几乎所有的字符,而且更节少空间
  • 0900 是基于 UCA 9.0.0算法,UCA是Unicode Collation Algorithm的缩写
  • ai是Accent-insensitive的缩写,表示口声不敏感
  • ci是Case-insensitive的缩写,表示大小写不敏感
  • as是Accent-sensitive的缩写,表示口声敏感
  • cs是Case-sensitive的缩写,表示大小写敏感
  • bin表示二进制

查看系统默认字符集和排序规则

查看系统默认字符集 查看系统默认排序规则

创建数据库时指定字符集和检验规则

创建⼀个库名为班级名,字符编码集为 utf8mb4 ,排序规则为 utf8mb4_0900_ai_ci 的数据库

1
CREATE DATABASE IF NOT EXISTS 班级名 CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

查看创建语句

语法

SHOW CREATE DATABASE 数据库名;

示例

修改数据库

语法

ALTER {DATABASE | SCHEMA} [db_name] alter_option ...

1
2
3
4
5
6
alter_option: {
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name
  | [DEFAULT] ENCRYPTION [=] {'Y' | 'N'}
  | READ ONLY [=] {DEFAULT | 0 | 1}
}

删除数据库

语法

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

示例

1
DROP DATABASE IF EXISTS test01;
微信:zxcyuijkl
使用 Hugo 构建
主题 StackJimmy 设计