【MySQL】:库的操作

时间:2024-10-21 07:16:05

朋友们、伙计们,我们又见面了,本期来给大家带来数据库操作知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成!

C 语 言 专 栏:C语言:从入门到精通

数据结构专栏:数据结构

个  人  主  页 :stackY、

C + + 专 栏   :C++

Linux 专 栏  :Linux

目录

1.  创建数据库

1.1 案例演示

1.2 编码集和校验规则

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

2. 查看库

2.1 显示创建语句

3. 修改数据库

4. 删除数据库

5. 备份和恢复 

5.1 备份

5.2 恢复 

5.3 补充

6. 查看连接情况


1.  创建数据库

语法:

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: 指定数据库编码集的校验规则(后面会介绍编码集)

1.1 案例演示

1. 创建数据库名称为db1的数据库

create database db1;

1.2 编码集和校验规则

创建数据库时有两个编码集:

  • ① 数据库编码集
  • ② 数据库校验集

数据库编码集主要用于数据库存储数据;数据库校验集主要用于数据库进行字段的比较,用于读取数据库的编码格式。

说明:当我们创建数据库没有指定编码集和校验规则时,系统使用默认编码集:utf8、校验规则是:utf8_ general_ ci
演示:

① 创建一个使用utf字符集,并带校对规则的 db3 数据库
 

create database db2 charset=utf8 collate utf8_general_ci;

并且我们可以在数据库对应的目录里面将库的编码集打印出来:

  • 查看系统默认编码集和校验规则 
show variables like 'character_set_database';
show variables like 'collation_database';

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

  • 校验规则使用utf8_ general_ ci时,是不区分大小写的;
  • 校验规则使用utf8_bin时,是区分大小写的。

下面我们就通过示例来验证一下:

① 首先创建一个校验规则使用utf8_ general_ ci的库,并在库中建表并向表中插入数据

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');
insert into person values('c');
insert into person values('C');

② 创建一个校验规则使用utf8_ bin的库,并在库中建表并向表中插入数据

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');
insert into person values('c');
insert into person values('C');

③ 不区分大小写的查询结果 

④ 区分大小写的查询结果

⑤ 排序结果展示 

2. 查看库

语法:

show databases;

2.1 显示创建语句

语法:

show create database db_name;

说明:

  • MySQL 建议我们关键字使用大写,但是不是必须的;
  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字;
  • /*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话。

3. 修改数据库

语法:

alter database db_name
[alter_spacification [,alter_spacification]...]

alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

说明:

  • 对数据库的修改主要指的是修改数据库的字符集,校验规则;

示例:

将test2的数据库编码集改为gbk

4. 删除数据库

语法:

drop database db_name;

执行删除之后的结果:

  • 数据库内部看不到对应的数据库;
  • 对应的数据库文件夹被删除,文件被删除,里面的数据表全部被删。

5. 备份和恢复 

5.1 备份

bash指令:

mysqldump -P3306 -u root -p -B 数据库名 > 数据库备份存储的文件路径

示例演示:将test1库备份到当前路径下的文件中

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

5.2 恢复 

语法:

source 要恢复的文件路径;

注意:

如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。

5.3 补充

① 备份数据库中的表

mysqldump -u root -p 数据库名 表名1 表名2 > 表存放路径

② 同时备份多个数据库

mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

6. 查看连接情况

语法:

show processlist;

可以查看有多少用户连接到了我们自己的MySQL。

朋友们、伙计们,美好的时光总是短暂的,我们本期的的分享就到此结束,欲知后事如何,请听下回分解~,最后看完别忘了留下你们弥足珍贵的三连喔,感谢大家的支持!