【MySQL】深度学习与解析 : 库的操作知识整合

**前言:**本节内容是MySQL库的操作, 内容较少, 大体内容为创建库、删除库、修改库、库备份操作。

ps:本节内容适合安装了MySQL的友友们进行观看, 实操更有利于记住哦。

目录

创建数据库

查看数据库列表

创建数据库

删除数据库

编码集

查看字符集

查看校验集

规定字符集和校验集

校验规则对数据库的影响

修改数据库

数据库备份


创建数据库

查看数据库列表

首先要创建数据库就要能查看数据库, 查看数据库列表为:

cpp 复制代码
show databases; //查看数据库列表

创建数据库

cpp 复制代码
create database [if not exists] 数据库名;

其中sql命令当中有[]限定区域叫做可选项, 可以选择或者不选择。

创建数据的本质就是创建一个文件系统里面的目录。

删除数据库

cpp 复制代码
drop database 数据库名;  //删除数据库

删除数据库的本质就相当于删除linux文件系统里面的一个目录。

编码集

创建数据库的时候有两个编码集合, 一个叫做数据库编码集合, 一个叫做数据库校验集合。

  • 数据库编码集合------数据库未来存储数据采用的一个编码集合。
  • 数据库校验集合------支持数据库进行字段比较, 使用同样的编码。本质也是一种读取数据库中的数据采用的编码格式。

也就是说, 数据库无论对数据做任何操作, 都必须保证操作和编码必须是编码一致的。

查看系统支持的字符集或者校验集:

查看字符集

cpp 复制代码
show variables like 'character_set_database'; //查看字符集

mysql8.0下面默认生utf8mb4的:

查看校验集

cpp 复制代码
show variables like 'collation_database'; //查看校验集合

校验集合默认情况为utf8mb4_0900_ai_ci:

规定字符集和校验集

cpp 复制代码
create database 数据库名称 charset=字符集合; //设置字符集合
//或者
create database 数据库名称 character set 字符集; //设置字符集合

create database 数据库名称 charset=utf8mb4 collate 校验集;

下面为示例:

校验规则对数据库的影响

utf8_general_ci的校验规则是不区分大小写:

cpp 复制代码
create database test1 collate utf8_general_ci;
cpp 复制代码
create table person(name varchar(20));
cpp 复制代码
insert into person values('A');
insert into person values('a');
insert into person values('B');
insert into person values('b');

我们实验过后就会发现我们查'a'其实给我们查到的是A以及'a'的数据。 这就是不区分大小写。

--

然后utf8_bin区分大小写:

cpp 复制代码
create database test2 collate utf8_bin;
cpp 复制代码
create table person(name varchar(20));
cpp 复制代码
insert into person values('A');
insert into person values('a');
insert into person values('B');
insert into person values('b');

我们会发现如果查'a'就只能查到'a'了。

如果我们排序的话,排序是按照ASCII码值进行排序, 所以大写字母同意要比小写字母要小。 如果不区分大小写, 就是如同下面test1, 区分大小写就是下面的test2;

cpp 复制代码
select * from person order by name;

修改数据库

我们可以对数据库进行编码集修改:

cpp 复制代码
alter database test2 charset=utf8 collate utf8_general_ci; //例子, 修改编码集

数据库备份

我们可以在我们的用户里面创建一个文件用来保存数据库的备份文件:

然后执行命令:

cpp 复制代码
mysqldump -P3306 -uroot -p -B 数据库文件名 > 备份后的文件名

然后就能将数据库备份到指定文件里面:

以后我们想要将这份文件拷贝回来,只需要执行source 执行路径即可:

cpp 复制代码
source 指定路径

------------------以上就是本节全部内容哦, 如果对友友们有帮助的话可以关注博主, 方便学习更多知识哦!!!

相关推荐
运维成长记30 分钟前
mysql数据库-中间件MyCat
数据库·mysql·中间件
尘客.43 分钟前
DataX从Mysql导数据到Hive分区表案例
数据库·hive·mysql
TiDB 社区干货传送门2 小时前
从开发者角度看数据库架构进化史:JDBC - 中间件 - TiDB
数据库·oracle·中间件·tidb·数据库架构
虾球xz2 小时前
游戏引擎学习第280天:精简化的流式实体sim
数据库·c++·学习·游戏引擎
uwvwko2 小时前
BUUCTF——web刷题第一页题解
android·前端·数据库·php·web·ctf
扶尔魔ocy3 小时前
【Linux C/C++开发】轻量级关系型数据库SQLite开发(包含性能测试代码)
linux·数据库·c++·sqlite
旋风菠萝3 小时前
项目复习(1)
java·数据库·八股·八股文·复习·项目、
w23617346013 小时前
Django框架漏洞深度剖析:从漏洞原理到企业级防御实战指南——为什么你的Django项目总被黑客盯上?
数据库·django·sqlite
菜鸟蹦迪3 小时前
学习记录:mybatis和jdbc实现数据表作为参数的相关的sql操作
sql·学习·mybatis
2302_809798323 小时前
【JavaWeb】MySQL
数据库·mysql