【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数据库。正常情况下,不要随意的删除数据库。校验规则对数据库处理数据会造成一些影响。以及如何对数据库进行备份和恢复。

相关推荐
FL171713142 分钟前
UR5e机器人Matlab仿真
linux·matlab·机器人
不知几秋4 小时前
数字取证-内存取证(volatility)
java·linux·前端
后端码匠5 小时前
MySQL 8.0安装(压缩包方式)
android·mysql·adb
欧先生^_^7 小时前
Linux内核可配置的参数
linux·服务器·数据库
问道飞鱼7 小时前
【数据库知识】Mysql进阶-高可用MHA(Master High Availability)方案
数据库·mysql·adb·高可用·mha
tiging7 小时前
centos7.x下,使用宝塔进行主从复制的原理和实践
数据库·mysql·adb·主从复制
海尔辛7 小时前
学习黑客5 分钟读懂Linux Permissions 101
linux·学习·安全
wangcheng86998 小时前
Oracle常用函数-日期时间类型
数据库·sql·oracle
zizisuo8 小时前
面试篇:Spring Security
网络·数据库·安全
一只fish8 小时前
MySQL 8.0 OCP 1Z0-908 题目解析(2)
数据库·mysql