当前位置: 首页 > article >正文

MySQL -- 库的相关操作

目录

查看数据库

创建数据库

直接创建:

加约束条件

if not exists

字符集和校对规则

什么是字符集

什么是校对规则

校对规则的主要功能

校对规则的特性

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

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

显示创建语句

删除数据库

进入指定数据库

 查看当前所在的数据库

​编辑

修改数据库

备份数据库

还原数据库


查看数据库

show databases;

 

创建数据库

直接创建:

create database db_name;

加约束条件

if not exists

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

create database if not exists db_name;

演示:

 

字符集和校对规则

什么是字符集

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

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

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

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

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

show charset;

 

什么是校对规则

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

校对规则的主要功能

字符比较

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

排序顺序

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

模式匹配

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

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

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

show collation;

 

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

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 小于小写字母的,所以大写字母排在前,小写字母排在后。

 

显示创建语句

show create database db_name;

删除数据库

drop database db_name;

 

进入指定数据库

use db_name;

 查看当前所在的数据库

select database();

修改数据库

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

修改字符集和校对规则:

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

 

备份数据库

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

mysqldump -P3306 -u root -p -B db_name > filename.sql

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

还原数据库

故意删除数据库:

还原: 

source pathname;

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

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


http://www.kler.cn/a/447519.html

相关文章:

  • MySQL -- 库的相关操作
  • Java图片拼接
  • Fastdfs V6.12.1集群部署(arm/x86均可用)
  • Spring Cloud Gateway 源码
  • 二八(vue2-04)、scoped、data函数、父子通信、props校验、非父子通信(EventBus、provideinject)、v-model进阶
  • 基于Springboot人口老龄化社区服务与管理平台【附源码】
  • 性能】JDK和Jmeter的安装与配置
  • 12爬虫:scrapy爬虫框架
  • Day13 苍穹外卖项目 工作台功能实现、Apache POI、导出数据到Excel表格
  • 本地部署 MLflow 服务
  • 中宇联与亚马逊云科技共同推出Well-Architected联合解决方案
  • redis开发与运维-redis03-redis其他数据类型与命令(Bitmaps++HyperLogLog+GEO)
  • 基于pytorch的深度学习基础3——模型创建与nn.Module
  • 设计模式中单例模式中懒汉模式的问题
  • APM32F411使用IIS外设驱动es8388实现自录自播
  • Mono里运行C#脚本2—参数配置
  • 如何在Java中使用封装好的API接口?
  • 【Leetcode 热题 100】124. 二叉树中的最大路径和
  • 混合开发环境---使用编程AI辅助开发Qt
  • NOI与USACO的关系
  • 博客系统(Java 实现详解)
  • 【最大似然估计】之Python实现
  • 图像生成工具WebUI
  • MySQL知识汇总(二):select
  • ARM原理
  • 文件包含tomato靶机通关