【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 指定路径

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

相关推荐
在未来等你39 分钟前
SQL进阶之旅 Day 21:临时表与内存表应用
sql·mysql·postgresql·database·temporary-table·memory-table·sql-optimization
敖云岚1 小时前
【Redis】分布式锁的介绍与演进之路
数据库·redis·分布式
zhuiQiuMX2 小时前
分享今天做的力扣SQL题
sql·算法·leetcode
LUCIAZZZ2 小时前
HikariCP数据库连接池原理解析
java·jvm·数据库·spring·springboot·线程池·连接池
我在北京coding2 小时前
300道GaussDB(WMS)题目及答案。
数据库·gaussdb
小Tomkk2 小时前
阿里云 RDS mysql 5.7 怎么 添加白名单 并链接数据库
数据库·mysql·阿里云
明月醉窗台3 小时前
qt使用笔记二:main.cpp详解
数据库·笔记·qt
沉到海底去吧Go4 小时前
【图片自动识别改名】识别图片中的文字并批量改名的工具,根据文字对图片批量改名,基于QT和腾讯OCR识别的实现方案
数据库·qt·ocr·图片识别自动改名·图片区域识别改名·pdf识别改名
老纪的技术唠嗑局4 小时前
重剑无锋,大巧不工 —— OceanBase 中的 Nest Loop Join 使用技巧分享
数据库·sql
未来之窗软件服务4 小时前
JAVASCRIPT 前端数据库-V6--仙盟数据库架构-—-—仙盟创梦IDE
数据库·数据库架构·仙盟创梦ide·东方仙盟·东方仙盟数据库