当前位置: 首页 > 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。

http://www.dtcms.com/a/202228.html

相关文章:

  • 服务器磁盘不同格式挂载区别
  • 基于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定义的【基本类型】数据和【对象类型】数据
  • 数据结构与算法分析实验14 实现基本排序算法
  • 5.2.4 wpf中MultiBinding的使用方法
  • 保密行业工作沟通安全:吱吱软件的“四重防泄露”设计
  • Python虚拟环境再PyCharm中自由切换使用方法
  • Git 和 GitHub 学习指南本地 Git 配置、基础命令、GitHub 上传流程、企业开发中 Git 的使用流程、以及如何将代码部署到生产服务器
  • Linux 的 TCP 网络编程 -- 回显服务器,翻译服务器
  • C#处理印尼地区的数字分隔符方法
  • leetcode 162. Find Peak Element
  • 人工智能的“歧视”:“她数据”在算法运行中隐形
  • 《Effective Python》第三章 循环和迭代器——永远不要在迭代容器的同时修改它们