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;

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

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

相关推荐
小希与阿树6 分钟前
阿里云RAM账号免密登录Java最佳实践
java·数据库·阿里云
da-peng-song11 分钟前
ArcGIS Desktop使用入门(四)——9版本与10版本区别
数据库·arcgis·编辑器
weisian15125 分钟前
中间件--ClickHouse-7--冷热数据分离,解决Mysql海量数据瓶颈
mysql·clickhouse·中间件
长安城没有风36 分钟前
从入门到精通【MySQL】 JDBC
java·mysql
QD.Joker44 分钟前
Django ORM 单表操作
数据库·django
Linux运维老纪1 小时前
Linux之 grep、find、ls、wc 命令
linux·运维·服务器·数据库·云计算·运维开发
焱焱枫1 小时前
Oracle 19c部署之数据库软件安装(二)
数据库·oracle
一代...1 小时前
【Redis】Redis基本命令(1)
数据库·redis·缓存
老朋友此林2 小时前
go语言学习笔记:gin + gorm + mysql 用户增删改查案例入门
mysql·golang·gin
八股文领域大手子2 小时前
深入浅出 Redis:核心数据结构解析与应用场景Redis 数据结构
java·数据结构·数据库·人工智能·spring boot·redis·后端