>>上文介绍了MySQL的一些基本知识,今天我们来学习MySQL数据库的基本操作
1. 查看数据库
1.1 语法
show databases;
- databases是复数形式
- ⼤⼩写不敏感
2. 创建数据库
2.1 语法
CREATE { DATABASE | SCHEMA } [ IF NOT EXISTS ] db_name [ create_option ] ...create_option: [DEFAULT] {CHARACTER SET [=] charset_name| COLLATE [=] collation_name| ENCRYPTION [=] {'Y' | 'N'}}
- ⼤写部分表⽰关键字
- db_name:表⽰⾃定义的数据库名
- {}⼤插号表⽰必须选
- |表⽰任选其中⼀个
- []中括号表⽰是可选项
- CHARACTERSET:指定数据库采⽤的字符集编码
- COLLATE:指定数据库字符集的校验规则
- ENCRYPTION:数据库是否加密,MySQL8.0.16中引⼊的新选项
2.2 创建一个studymysql数据库
3. 字符集编码和校验(排序)规则
3.1 查看数据库⽀持的字符集编码
show charset;
MySQL8.0默认的字符集编码是utf8mb4
MySQL5.7默认的字符集是latin1
3.2 查看数据库⽀持的排序规则
show collation;
MySQL8.0默认的排序规则是utf8mb4_general_ci
MySQL5.7默认排序规则是utf8mb4_0900_ai_ci
3.3 不同的字串集与排序规则对数据库的影响
utf8mb4_0900_ai_ci
是MySQL8.0引⼊的新规则,在⽼版本中不能识别;utf8mb4 编码
是对Unicode 字符集
的⼀种实现,⽤1到4个字节表⽰⼀个字符,可以表⽰世界上⼏乎所有的字符,⽽且更节少空间0900
是基于UCA9.0.0算法,UCA是UnicodeCollationAlgorithm的缩写- ai是Accent-insensitive的缩写,表⽰⼝声不敏感
- ci是Case-insensitive的缩写表⽰⼤⼩写不敏感
- as是Accent-sensitive的缩写,表⽰⼝声敏感
- cs是Case-sensitive的缩写,表⽰⼤⼩写敏感
- bin表⽰⼆进制
3.4 查看系统默认字符集和排序规则
默认字符集:
show variables like '%character%';
默认排序规则:
show variables like '%collation%';
3.5 创建数据库时指定字符集和检验规则
创建⼀个库名为studymysql,字符编码集为utf8mb4
库,排序规则为utf8mb4_0900_ai_ci
的数据库, 数据库不存在时则创建
create database if not exists studymysql character set utf8mb4 collate utf8mb4_0900_ai_ci;
4. 查看创建语句
show create database db_name;
5. 修改数据库
ALTER { DATABASE | SCHEMA } [ db_name ]alter_option ...alter_option: {[DEFAULT] CHARACTER SET [=] charset_name| [DEFAULT] COLLATE [=] collation_name| [DEFAULT] ENCRYPTION [=] {'Y' | 'N'}| READ ONLY [=] {DEFAULT | 0 | 1}}
对数据库的修改主要是修改数据库的字符集,校验规则
例如:把studymysql数据库中的数据库字符集改成gbk
6. 删除数据库
6.1 语法
DROP { DATABASE | SCHEMA } [ IF EXISTS ] db_name
6.2 注意事项
- 删除数据库是⼀个危险操作,不要随意删除数据库
- 删除数据库之后,数据库对应的⽬录及⽬录中的所有⽂件也会被删除
- 删除数据库之后,使⽤showdatabases;语句查看不到对应的数据库