【MySQL】库的操作(增删查改 | 备份 | 恢复)

🔥个人主页: Forcible Bug Maker
🔥专栏: MySQL

目录

🌈前言

本篇博客主要内容:操作MySQL数据库的基本语句。

MySQL是一个关系型数据库管理系统(RDBMS),在MySQL中,"库"通常指的是"数据库"(Database)。本篇博客主要介绍的是如何操作这样一个库,以及如何对数据库进行备份和恢复。

🔥创建数据库

sql 复制代码
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification ,...]

create_specification:
	[DEFAULT] CHARACTER SET charset_name
	[DEFAULT] COLLATE collation_name
  • 大写的表示关键字
  • \]是可选项

  • COLLATE:指定数据库字符集的校验规则

创建实操:

  • 创建一个名为db1的数据库
sql 复制代码
create database db1;

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

  • 创建一个使用utf8字符集的db2数据库
sql 复制代码
create database db2 charset=utf8;


  • 创建一个使用utf8字符集,并带校对规则的db3数据库
sql 复制代码
create database db3 charset=utf8 collate utf8_general_ci;


🔥字符集和校验规则

  • 查看系统默认数据库支持的字符集
sql 复制代码
show charset;

字符集主要是控制用什么语言。如utf8就可以使用中文。

  • 查看数据库支持的字符集校验规则
sql 复制代码
show collation;

在MySQL中,校验规则对数据库的影响主要体现在确保字符比较和排序的一致性、优化数据存储和索引的效率、影响查询结果的准确性和性能,以及支持多语言环境下的字符集匹配和国际化需求,从而确保数据库在不同应用场景下的数据一致性和查询效率

🔥操纵数据库

  • 查看数据库
sql 复制代码
show database;
  • 显示创建语句
sql 复制代码
show create databse 数据库名;

注:MySQL建议我们关键字使用大写,但并不是必须的。

🔥修改数据库字符集和校验规则

复制代码
ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
 [DEFAULT] CHARACTER SET charset_name
 [DEFAULT] COLLATE collation_name

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

例:将mytest数据库字符集改成gbk,校验规则改成gbk_chinese_ci

sql 复制代码
alter database mytest charset=gbk;
alter database mytest collate gbk_chinese_ci;

show create database mytest;  //检查

🔥数据库的删除

sql 复制代码
DROP DATABASE [IF EXISTS] db_name;

执行之后,数据库内部将看不到对应数据库。同时,对应的数据库文件夹被删除,级联删除,里面的数据表全部删除。

注:不要随意删除数据库。

🔥备份和恢复

  • 备份

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

打开test_db.sql文件里面的内容,其实我们把整个创建数据库,建表,导入数据库的语句都装载到了这个文件中。

  • 恢复
sql 复制代码
create database test_db;
use test_db;
source /路径/test_db.sql;

这时候再查看test_db数据库,就会发现表已经成功还原。

🌈结语

本篇博客简单介绍了如何操作MySQL数据库。正常情况下,不要随意的删除数据库。校验规则对数据库处理数据会造成一些影响。以及如何对数据库进行备份和恢复。

相关推荐
十五年专注C++开发6 分钟前
CMake进阶: CMake Modules---简化CMake配置的利器
linux·c++·windows·cmake·自动化构建
杨云龙UP9 分钟前
CentOS Linux 7 (Core)上部署Oracle 11g、19C RAC详细图文教程
数据库·oracle
ezl1fe20 分钟前
RAG 每日一技(十八):手写SQL-RAG太累?LangChain的SQL智能体(Agent)前来救驾!
数据库·人工智能·后端
小咖张26 分钟前
spring声明式事务,finally 中return对事务回滚的影响
数据库·java 声明式事务
JSON_L27 分钟前
MySQL 加锁与解锁函数
数据库·mysql
phoenix098133 分钟前
ansible部署lnmp-allinone
linux·运维·ansible
winds~1 小时前
【git】 撤销revert一次commit中的某几个文件
linux·c++
白鲸开源2 小时前
收藏!史上最全 Apache SeaTunnel Source 连接器盘点 (2025版),一篇通晓数据集成生态
大数据·数据库·开源
iY_n2 小时前
Linux网络基础
linux·网络·arm开发
MonKingWD2 小时前
MySQL事务篇-事务概念、并发事务问题、隔离级别
数据库·后端·mysql