
目录
1.创建数据库
(1)创建数据库的语法如下:
cpp
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
上图说明:
使用大写字母表示关键字
[] 表示可选项
CHARACTER SET:用于指定数据库的字符集
COLLATE:用于指定数据库字符集的排序规则
(2)如果创建数据库时未指明数据库的编码格式或校验规则,则默认使用MySQL配置文件中对应的编码格式或校验规则。
下图配置文件编码格式则为:utf8

2.创建数据库案例
(1)创建名为db1的数据库
使用下图命令:
cpp
create database db1;

说明:
说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则 是:utf8_ general_ ci
(2)创建一个使用utf8字符集的 db2 数据库
使用下图命令:
cpp
create database db2 charset=utf8;

注意:
此处的charset可以写为character set
(3)创建一个使用utf字符集,并带校对规则的 db3 数据库。
使用下图命令:
cpp
create database db3 charset=utf8 collate utf8_general_ci;
3.字符集和校验规则
3.1查看系统默认字符集以及校验规则
(1)查看系统默认的字符集
使用下图命令:
cpp
show variables like 'character_set_database';

(2)查看系统默认的字符集校验规则
使用下图命令:
cpp
show variables like 'collation_database';
3.2查看数据库支持的字符集
使用下图命令:
cpp
show charset;
注意:
字符集主要是控制用什么语言。比如utf8就可以使用中文。
3.3查看数据库支持的字符集校验规则
使用下图命令:
cpp
show collation;
3.4校验规则对数据库的影响
(1)创建不区分大小写的数据库,校验规则设置为 utf8_general_ci
cpp
create database test1 collate utf8_general_ci;
use test1;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');
(2)创建数据库,设置utf8_bin校对规则(区分大小写)
cpp
create database test2 collate utf8_bin;
use test2
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');
(3)查询上面两组数据结果
不区分大小写查询:

区分大小写查询:

不区分大小写排序:

区分大小写排序:

通过上述四组图片对比,可以清晰观察到区分大小写与不区分大小写校对集的差异。
注意:
下图是从person表中筛选出'a'的指令:
cpp
select * from person where name='a';
下图是对person表中name数据进行排序:
cpp
select * from person order by name;
4.操纵数据库
4.1查看数据库
cpp
show databases;

4.2显示创建语句
cpp
show create database 数据库名;
示例:

注意:
MySQL 建议将关键字大写,但这并非强制要求。
使用反引号(`)包裹数据库名称是为了避免数据库名与关键字冲突。
/*!40100 default... */
并非普通注释,它表示当 MySQL 版本高于 4.01 时才会执行该语句。
4.3修改数据库
语法如下:
cpp
ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
对数据库的修改主要指的是修改数据库的字符集,校验规则。
示例:


4.4数据库删除
cpp
DROP DATABASE [IF EXISTS] db_ name;
示例删除数据库db1:

删除操作执行后的结果:
- 数据库实例中不再显示该数据库
- 对应的物理存储文件夹已被移除
- 级联删除生效,包含的所有数据表及数据均被清除
重要提示:请谨慎执行数据库删除操作
4.5备份和恢复
(1)备份
语法如下:
cpp
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
示例:
首先备份db2:

这时,可以打开看看 db2.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句 都装载这个文件中。
再删除db2:

(2)还原
cpp
source 备份文件;


注意:
如果备份的不是整个数据库,而是其中的一张表,怎么做?
cpp
# mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
备份数据库时若未使用-B参数,恢复时需先创建空数据库,选择该数据库后再用source命令执行还原操作。
4.6查看连接情况
语法:
cpp
show processlist
示例:

要查看当前登录MySQL的用户,可以使用以下命令。该命令能显示所有连接到MySQL的用户列表。如果发现异常登录用户,可能表明数据库存在安全风险。此外,当数据库运行缓慢时,也可以通过此命令检查连接状况。