MySQL库的操作

目录

1.创建数据库

2.创建数据库案例

​编辑

3.字符集和校验规则

3.1查看系统默认字符集以及校验规则

​编辑

3.2查看数据库支持的字符集

​编辑

3.3查看数据库支持的字符集校验规则

​编辑

3.4校验规则对数据库的影响

4.操纵数据库

4.1查看数据库

4.2显示创建语句

4.3修改数据库

4.4数据库删除

4.5备份和恢复

4.6查看连接情况


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的用户列表。如果发现异常登录用户,可能表明数据库存在安全风险。此外,当数据库运行缓慢时,也可以通过此命令检查连接状况。