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

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。

相关文章:

  • 服务器磁盘不同格式挂载区别
  • 基于Docker搭建Harbor私有镜像仓库
  • Java DTO 深度解析
  • vue3函数、变量
  • 【八股战神篇】Java虚拟机(JVM)高频面试题
  • 八股文--JVM(2)
  • 人工智能核心知识:AI Agent 的四种关键设计模式
  • 线上jvm假死问题排查
  • 从零开始的抽奖系统创作(2)
  • AUTOSAR图解==>AUTOSAR_SRS_SecureOnboardCommunication
  • 精益数据分析(71/126):从移情到黏性——创业阶段的关键跨越与数据驱动策略
  • 建站系统哪个好?
  • 从头实现react native expo本地生成APK
  • srs-7.0 支持obs推webrtc流
  • 破解误区:WebView 调试常见认知误区与 WebDebugX 实践指南
  • 纯前端实现 导入/导出/模板下载功能
  • 前端无感登录刷新
  • 汉得集星獭1.8.0正式发布,高效集成再赋能!
  • 苍穹外卖04 新增菜品菜品分页查询删除菜品修改菜品
  • Vue3.0教程005:watch监视ref定义的【基本类型】数据和【对象类型】数据
  • 财政部:今年将和住建部选拔第二批20个城市,高质量推进城市更新行动
  • 住建部:截至去年底常住人口城镇化率达到67%
  • 66岁华仁世纪集团有限公司创始人、董事长梁福东逝世
  • 甘肃省白银市一煤矿发生透水事故,3人失联
  • 贵州茅台:支持工作餐不上酒的规定,请投资者相信茅台创新和自我调节能力
  • 长三角议事厅·周报|新能源汽车产业需寻求“第二增长曲线”