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语句操作进行保存;在恢复时,重新执行上述操作

相关推荐
ruxshui37 分钟前
元数据及元数据备份、迁移详解
数据库
禅与计算机程序设计艺术1 小时前
了解NoSQL的数据仓库和ETL
数据库·数据仓库·nosql·etl
专注前端30年1 小时前
负载均衡实战项目搭建指南:从基础到高可用全流程
运维·数据库·负载均衡
山岚的运维笔记2 小时前
SQL Server笔记 -- 第68章:内存中 OLTP(Hekaton)
数据库·笔记·sql·microsoft·sqlserver
winfreedoms3 小时前
ROS2机械臂——黑马程序员ROS2课程上课笔记(3)
arm开发·笔记
山岚的运维笔记3 小时前
SQL Server笔记 -- 第67章:数据库邮件(DBMAIL)
数据库·笔记·sql·microsoft·sqlserver
kylezhao20194 小时前
C#异步和并发在IO密集场景的典型应用 async/await
开发语言·数据库·c#
菩提小狗4 小时前
第15天:信息打点-主机架构&蜜罐识别&WAF识别&端口扫描&协议识别&服务安全_笔记|小迪安全2023-2024|web安全|渗透测试|
笔记·安全·架构
野犬寒鸦4 小时前
ArrayList扩容机制深度解析(附时序图详细讲解)
java·服务器·数据结构·数据库·windows·后端