MySQL -- 库的相关操作

目录

查看数据库

创建数据库

直接创建:

加约束条件

[if not exists](#if not exists)

字符集和校对规则

什么是字符集

什么是校对规则

校对规则的主要功能

校对规则的特性

查看指定的数据库使用的字符集和校对规则:

比较是否区分大小写字母差异

显示创建语句

删除数据库

进入指定数据库

查看当前所在的数据库

​编辑

修改数据库

备份数据库

还原数据库


查看数据库

sql 复制代码
show databases;

创建数据库

直接创建:

sql 复制代码
create database db_name;

加约束条件

if not exists

如果数据库不存在,则创建,如果数据库已经存在了,就不创建

sql 复制代码
create database if not exists db_name;

演示:

字符集和校对规则

什么是字符集

字符集(Character Set)不仅仅是一个简单字符的集合,它还包含了这些字符与数字代码之间的映射关系。换句话说,字符集定义了一组符号以及每个符号对应的编码。这种编码是计算机用来存储、处理和传输文本数据的基础。

具体来说,字符集包含以下两个关键要素:

1、字符列表:这是字符集中所有可能的字符或符号,可以包括字母、数字、标点符号、特殊符号以及其他语言的字符等。

2、编码规则:为每个字符分配一个唯一的代码点(Code Point),即一个数字标识符。这个代码点用于在计算机系统内部表示该字符。例如,在ASCII字符集中,大写字母"A"的代码点是65。

在MySQL中,可以查看数据库支持的字符集:

sql 复制代码
show charset;
什么是校对规则

校对规则(Collation)是数据库管理系统中用于定义字符数据如何进行比较和排序的一组规则。它不仅影响字符串之间的相等性判断,还决定了字符串在排序时的顺序以及模式匹配的行为。校对规则与字符集紧密相关,因为它们共同决定了文本数据的表示、存储和处理方式。

校对规则的主要功能

字符比较

  • 确定两个字符串是否相等。
  • 决定一个字符串是否大于或小于另一个字符串。

排序顺序

  • 影响查询结果中记录的排列顺序,特别是在使用 ORDER BY 子句时。

模式匹配

  • 影响 LIKE 查询和其他涉及模式匹配的操作,例如是否区分大小写
校对规则的特性
  • 大小写敏感性(Case Sensitivity)

    • CI (Case Insensitive) :不区分大小写,如 utf8mb4_general_ci
    • CS (Case Sensitive)Bin (Binary) :区分大小写,如 utf8mb4_bin

在MySQL中,可以查看数据库支持的校对规则:

sql 复制代码
show collation;

查看指定的数据库使用的字符集和校对规则:

sql 复制代码
SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME
FROM information_schema.SCHEMATA
WHERE SCHEMA_NAME = 'db_name';

只约束字符集时,MySQL会根据所选字符集自动选择一个默认的校对规则:


只约束校对规则,MySQL会根据所选的校对规则自动选择一个默认的字符集:


同时约束字符集和校对规则:

比较是否区分大小写字母差异

我们可以用区分和不区分大小写的校对规则来感受一下不同校对规则的差异:

不区分大小写的校对规则:

1、创建表:

2、输入数据:

3、查询: 由于不区分大小写字母,所以大写 A 和小写 a 都会被筛选出来。

4、排序:由于不区分大小写,所以大写 A 和小写 a 是排在一起的。

区分大小写的校对规则:

1、创建表:

2、插入数据:

3、查询:由于该校验规则区分大小写,所以只有小写 a 被筛选出来。

4、排序:大写字母的 ASCII 小于小写字母的,所以大写字母排在前,小写字母排在后。

显示创建语句

sql 复制代码
show create database db_name;

删除数据库

sql 复制代码
drop database db_name;

进入指定数据库

sql 复制代码
use db_name;

查看当前所在的数据库

sql 复制代码
select database();

修改数据库

一般很少修改数据库的库名,下面只展示如何修改数据库的字符集和校对规则。

修改字符集和校对规则:

也可以只修改字符集/校对规则:

备份数据库

在任意路径下输入以下指令,并输入想要备份的数据库,并给对应的备份文件命名:

sql 复制代码
mysqldump -P3306 -u root -p -B db_name > filename.sql

打开备份文件时,可以看出备份文件中记录了用户对数据库的操作。

还原数据库

故意删除数据库:

还原:

sql 复制代码
source pathname;

由于文件中记录了用户对数据库的历史操作,在还原时,会重做这些操作,来达到恢复效果。

查看还原情况: 还原成功!

相关推荐
qq_192779874 小时前
高级爬虫技巧:处理JavaScript渲染(Selenium)
jvm·数据库·python
u0109272714 小时前
使用Plotly创建交互式图表
jvm·数据库·python
爱学习的阿磊4 小时前
Python GUI开发:Tkinter入门教程
jvm·数据库·python
tudficdew5 小时前
实战:用Python分析某电商销售数据
jvm·数据库·python
Fleshy数模5 小时前
CentOS7 安装配置 MySQL5.7 完整教程(本地虚拟机学习版)
linux·mysql·centos
sjjhd6525 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
Configure-Handler5 小时前
buildroot System configuration
java·服务器·数据库
2301_821369616 小时前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
az44yao6 小时前
mysql 创建事件 每天17点执行一个存储过程
mysql
电商API_180079052477 小时前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫