目录
[if not exists :](#if not exists :)
[if exists:](#if exists:)
前言:
在默认情况下,MySQL 的命令不区分大小写。只要是对应的英文字符就可以。
一、查看所有的数据库:
sql
show databases;
这条语句可以查看当前的**所有数据库,**因为是查询所有的数据库,所以database写成了databases的复数形式。
例子:
通过该条语句在Navicat客户端查询得到 :

二、创建数据库:
sql
create database if not exists dog charset utf8mb4 collate utf8mb4_0900_ai_ci
通过这条语句,我们创建了一个名字****为 dog ,字符编码集 为utf8mb4 ,排序规则为 utf8mb4_0900_ai_ci 的数据库。
if not exists :
是数据库中常用的一种条件判断语句片段,主要用于在执行某些操作(如创建数据库、表、用户等)之前,先检查目标对象是否已经存在,若不存在则执行后续操作,避免因重复创建相同对象而导致错误
字符编码集:
utf8mb4:支持全球大多数字符,是多语言(不同的国家的语言差别)应用的首选。
排序规则:
utf8mb4_0900_ai_ci
这种组合使得 MySQL 在存储和处理字符数据时,既能支持广泛的字符范围,又能在进行比较和排序操作时提供一种不区分重音和大小写的灵活方式.
例子:
通过该条语句在Navicat客户端查询得到 :

三、查看创建的库:
sql
show create database dog
通过这条语句可以得到我们创建名字为 dog 库的信息。
例子:
通过该条语句在Navicat客户端查询得到 :

红色箭头指向的信息得到:
CREATE DATABASE `dog` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */
-
数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字。
-
/*!40100default.... */ 和/*!80016 DEFAULT...*/ 这个不是注释,表示当前mysql版本大于4.01和 8.0.16时,分别执行对应的语句。
四、修改数据库:
sql
alter database dog charset gbk;
这条语句的作用是将名为 dog
的数据库的字符编码集修改为**GBK
**。
也可以修改排序规则:
sql
alter database dog collate utf8mb4_general_ci
这条语句将把 dog
数据库的排序规则 设置为 utf8mb4_general_ci
。
排序规则决定了数据库中字符数据的比较和排序方式,比如按照字母顺序、是否区分大小写和重音等。
一般不建议对数据库进行修改。容易出问题。
五、删除数据库:
sql
drop database if exists dog;
if exists
:
- 这是一个条件判断子句,用于在执行删除操作之前先检查指定的数据库是否存在。如果数据库存在 ,则执行删除操作;如果数据库不存在,使用了
IF EXISTS
子句后,数据库管理系统不会抛出错误,而是继续执行后续语句(如果有的话)。
例子:
通过该条语句在Navicat客户端查询得到 :

可以看到,之前创建名字为 dog 的数据库已经被删除了。