DBA MySQL库相关操作

系统内置库

MySQL在初始化命令--initialize执行完成之后会自动创建一些系统库,不同的系统库有不同的用途。

内置库名 描述
information_schema 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等
mysql 授权库,主要存储系统用户的权限信息
performance_schema mysql5.5后开始新增的一个数据库,主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象
sys mysql5.7后开始新增的一个数据库,主要存储存储过程、视图、函数等
test mysql数据库系统自动创建的测试数据库(看下载的是不是有测试套件的版本)

​ 由于我没有下载测试版本,所以只能看见4个库:

M > SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

创建数据库

​ 语法介绍:

CREATE DATABASE 数据库名 CHARSET 字符集 COLLATE 校对规则;

​ 示例演示:

M > CREATE DATABASE db1 CHARSET utf8mb4 COLLATE utf8mb4_general_ci;

​ 建库规范:

  1. 库名使用小写字符
  2. 库名不能以数字开头
  3. 不能是数据库内部的关键字
  4. 必须设置字符集

进入数据库

​ 使用以下命令格式可进入某个数据库:

USE 数据库名;

​ 示例演示:

M > USE db1;
M > SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| db1        |
+------------+

查看数据库

​ 三个基本的命令,格式及描述信息如下:

# 查看所有数据库
SHOW DATABASES;    

# 查看当前所在的数据库
SELECT DATABASE();           

# 查看某一数据库的创建信息 
SHOW CREATE DATABASE [数据库名]; 

​ 命令演示,查看所有数据库:

M > SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db1                |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

​ 命令演示,查看当前所在的数据库:

M > SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| db1        |
+------------+

​ 命令演示,查看db1数据库的创建信息:

M > SHOW CREATE DATABASE db1;
+----------+-----------------------------------------------------------------+
| Database | Create Database                                                 |
+----------+-----------------------------------------------------------------+
| db1      | CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ |
+----------+-----------------------------------------------------------------+

修改数据库

​ 修改数据库一般是指修改字符集与校对规则。

​ 格式及描述信息如下:

# 修改某一数据库的字符集
ALTER DATABASE 数据库名 CHARSET 字符集;  

# 修改某一数据库的校对规则
ALTER DATABASE 数据库名 COLLATE 校对规则; 

​ 示例演示:

M > ALTER DATABASE db1 CHARSET utf8mb4;
M > ALTER DATABASE db1 COLLATE utf8mb4_general_ci;

删除数据库

​ 删除数据库操作在生产中属于禁用操作。

​ 格式及描述信息如下:

# 删除某个数据库,当不存在时抛出异常 
DROP DATABASE 数据库名;   

# 删除某个数据库,当该数据库已存在时生效 
DROP DATABASE IF EXISTS 数据库名;

​ 示例演示:

M > DROP DATABASE IF EXISTS db2;
posted @ 2021-02-16 21:07  云崖君  阅读(47)  评论(0编辑  收藏  举报