MySQL库的操作

文章目录

创建数据库

本质就是在/var/lib/mysql创建一个目录

sql 复制代码
create database db_name;

如果该数据库不存在再创建,需加上if not exists选项

sql 复制代码
create database if not exists db_name;

四种创建带编码格式或校验规则的数据库


删除数据库

本质就是在/var/lib/mysql删除一个目录

cpp 复制代码
drop database db_name;

总结:

在/var/lib/mysql创建一个目录,再mysql中可以用show databases;查看到,也可以使用drop database db_name;删除;总之,两者是互通的。

但是不建议在/var/lib/mysql下手动创建,这样不合理;
执行删除之后的结果:

  • 数据库内部看不到对应的数据库
  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

查看数据库

sql 复制代码
show databases;

修改数据库

sql 复制代码
ALTER DATABASE db_name [[DEFAULT] CHARSET=character_name] [[DEFAULT] COLLATE=collation_name];

修改校验规则

字符集和校验规则

创建数据库的时候,有两个编码集;

1、数据库编码集------数据库未来存储数据;

2、数据库校验集------支持数据库的字段比较,本质也是一种读取数据库中数据的采用的编码格式;
数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的;

查看系统默认的字符集

show variables like 'character_set_database';

查看系统默认的字符集校验规则

show variables like 'collation_database';

查看数据库支持的字符集

show charset;

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

show collation;

校验规则对数据库的影响

校验规则utf8_general_ci,不区分大小写;

校验规则utf8_bin,区分大小写;

创建两个数据库

utf8_general_ci

插入数据

查看数据

查询姓名是'cxy'的信息

utf8_bin

插入数据

查看数据

查询姓名是'cxy'的信息

我们发现 ,

校验规则utf8_general_ci,不区分大小写;

校验规则utf8_bin,区分大小写;

数据库的备份和恢复

备份

我们需要备份的库以及其中的内容

我们执行下述代码即可将数据库备份在当前路径下

复制代码
mysqldump -P 端口号 -u 用户名 -p 密码 -B 数据库名1 数据库名2 ...  > 数据库备份存储的文件路径

当我们打开back1.sql文件后,我们发现文件中有许多命令是我们之前执行的各种SQL命令;

恢复

我们执行下述代码恢复数据库

恢复后得结果

数据库中的内容也保存在里面

总的来说当我们打开back1.sql文件时,我们就意识到了数据库的备份不过就是,我们将创建数据库以及对数据库操作的SQL语句,其中包括创建数据库、创建表、插入数据等SQL语句操作进行保存;在恢复时,重新执行上述操作

相关推荐
Rabitebla1 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
时间的拾荒人1 小时前
Redis 主从复制详解:配置实操 + 原理机制
数据库·redis·面试
隔窗听雨眠2 小时前
MySQL三表JOIN执行内核与优化器决策机制
数据库·mysql·sql优化
Decay__3 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
笃行3504 小时前
【金仓数据库产品体验官】订单增量同步实战:MERGE、OUTPUT 与 IDENTITY 的兼容验证
数据库
坤坤子吖5 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
星恒随风7 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
无奈笑天下8 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
YLCHUP9 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
xiaoye-duck10 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型