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

MySQL 库的操作 -- 字符集和校验规则,库的增删查改,数据库的备份和还原

目录

1. 字符集和校验规则

1.1 查看系统默认字符集以及检验规则

1.2 查看数据库支持的字符集

1.3 查看数据库支持的字符集检验规则

1.4 校验规则对数据库的影响

2. 数据库的操作

2.1 创建数据库

2.1.1 语法

2.1.2 示例

2.2 查看数据库

2.2.1 语法

2.2.2 查看当前使用的数据库

2.2.3 显示数据库创建语句

2.3 删除数据库

2.3.1 语法

2.3.2 示例

2.4 修改数据库

2.4.1 语法

2.4.2 示例

3. 数据库的备份和恢复

3.1 备份

3.2 还原

3.2.1 备份数据库中的几张表

3.2.2 备份多个数据库

4. 查看连接情况


1. 字符集和校验规则

        一般可以理解为字符集表示数据按什么编码写入数据库,检验规则表示数据按什么编码读出数据库。所以字符集和校验规则一般是匹配的

1.1 查看系统默认字符集以及检验规则

show variables like 'character_set_database';
show variables like 'collation_database';

1.2 查看数据库支持的字符集

1.3 查看数据库支持的字符集检验规则

1.4 校验规则对数据库的影响

        utf8_general-ci -- 不区分大小写

        当前有一张 person 表,内容如上,校验规则是 utf8_general-ci,使用 select * from person where name='a'; 查询时,大写的 a 也会匹配到。

        utf8_bin -- 区分大小写。如校验集为 utf_8_bin 时,则不会匹配到 A。

2. 数据库的操作

2.1 创建数据库

2.1.1 语法

CREATE DATABASE [IF NOT EXISTS] database_name
[CHARACTER SET charset_name]
[COLLATE collation_name];

    CREATE DATABASE:创建数据库的核心命令,必须使用

    IF NOT EXISTS:此为可选参数。加上它后,当要创建的数据库已经存在时,就不会报错。

    database_name:这是必选的,用于指定数据库的名称,且在 MySQL 服务器中必须是唯一的。

    CHARACTER SET:为可选设置,可用来指定数据库的字符集,像 utf8mb4 就是常用的字符集。

    COLLATE:同样是可选的,用于设定字符集的排序规则,例如 utf8mb4_unicode_ci

2.1.2 示例

        (1)创建名为 db1 的数据库

create database db1;

         当创建数据库没有指定字符集和校验规则时,默认使用系统默认的字符集和校验规则。

        (2)创建一个使用 utf8 字符集 的 db2 数据库 

create database db2 charset=utf8;

        (3)创建一个使用utf字符集,并带校对规则的 db3 数据库。

create database db3 charset=utf8 collate utf8_general_ci;

知识点1:
        创建数据库一般就使用默认或者配置中设置好的字符集和校验集就行,常用的语句就是(1)中创建数据库的语句。 

2.2 查看数据库

2.2.1 语法

SHOW DATABASES;

2.2.2 查看当前使用的数据库

select dadtabase();

2.2.3 显示数据库创建语句

show create database 数据库名;

        MySQL 建议关键字使用大写,但是不是必须的。数据库名反引号'',是为了防止使用的数据库名刚好是关键字。 /*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话。

        后续对数据库进行修改,会改变该语句的查询结果

2.3 删除数据库

2.3.1 语法

DROP DATABASE [IF EXISTS] db_ name;

2.3.2 示例

        执行删除之后,数据库服务内部看不到对应的数据库目录文件,对应的数据库目录被删除,级联删除,里面的数据表全部被删除。

2.4 修改数据库

2.4.1 语法

ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

         对数据库的修改主要指的是修改数据库的字符集,校验规则

2.4.2 示例

3. 数据库的备份和恢复

3.1 备份

mysqldump -P3306 -u root -B 数据库名 -p > 数据库备份存储的文件路径

        上述语句在命令行中执行,不是在 mysql 中执行。 执行后输入密码即可。

        -B 选项表示会备份数据库名,如果没有带 -B 选项进行备份,则在还原的时候需要先创建空的数据库,这时候就可以创建不同的数据库名,实现数据库的重命名。

        上图表示将数据库 test1 备份到当前目录的 test1.sql 文件中。整个创建数据库,建表,导入数据的语句都装载这个文件中。

3.2 还原

source 备份文件的文件路径

3.2.1 备份数据库中的几张表

mysqldump -u root -p 数据库名 表名1 表名2 > /home/xxx/xxx.sql

3.2.2 备份多个数据库

mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

4. 查看连接情况

show processlist;

        这可以知道当前有哪些用户连接到我们的MySQL。

http://www.xdnf.cn/news/7670.html

相关文章:

  • Java IO流操作
  • Prosys OPC:引领工业互联的OPC UA先锋
  • 游戏引擎学习第296天:层的雾效和透明度
  • 基于Spring Boot + Vue的教师工作量管理系统设计与实现
  • 监控易一体化运维:解锁工单管理效能,为运维工作提速
  • ZooKeeper 原理解析及优劣比较
  • 安达发|传统排产已过时?AI机器人+APS高级排产软件重塑制造业!
  • docker 查看镜像所在位置
  • Index-AniSora论文速读:探索Sora时代动画视频生成的前沿
  • Qt中解决Tcp粘包问题
  • Runtipi - 开源个人家庭服务器管理工具
  • C#调用GTS控制板
  • DeepSeek+PiscTrace+YOLO:迅速实现Mask掩码抠图
  • IEEE 802.1Q协议下封装的VLAN数据帧格式
  • 【ISP算法精粹】什么是global tone mapping和local tone mapping?
  • 异步复位,同步释放
  • FineBI 和 Axure工具比较——数据分析VS原型设计
  • 常见回归损失函数详解:L1 Loss, L2 Loss, Huber Loss
  • 能碳一体化的核心功能模块
  • 【图像大模型】Kolors:基于自监督学习的通用视觉色彩增强系统深度解析
  • 抓包分析工具与流量监控软件
  • C语言入门
  • SQLite基础及优化
  • 从0到1搭建shopee测评自养号系统:独立IP+硬件伪装+养号周期管理​
  • [概率论基本概念1]什么是经验分布
  • 【NLP 76、Faiss 向量数据库】
  • Easylogging使用笔记
  • 【开源】一个基于 Vue3 和 Electron 开发的第三方网易云音乐客户端,具有与官方客户端相似的界面布局
  • pom.xml中的runtime
  • 关于汇编语言与接口技术——单片机串行口的学习心得