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

相关推荐
Gauss松鼠会13 分钟前
GaussDB回调机制深度实践:从事件驱动到系统集成
开发语言·javascript·数据库·sql·gaussdb
脑斧猴27 分钟前
Linux中进程
linux·服务器·c++
Brandon汐29 分钟前
Linux文件传输:让数据飞起来!
linux·运维·网络
tan180°31 分钟前
Linux自行实现的一个Shell(15)
linux·服务器·c++·后端·vim
254054652034 分钟前
629SJBH图书管理系统设计与实现
数据库·毕业设计·毕业论文
PingCAP1 小时前
从 DB-Engines 排名攀升看 TiDB 全球突破之路
数据库·人工智能·tidb
开发小能手-roy1 小时前
linux Ubuntu 用户权限设置
linux·运维·ubuntu
小白探索世界欧耶!~2 小时前
【踩坑】GitHub Actions 运行的 Linux 环境中,文件名是大小写敏感的
linux·运维·服务器·前端·vue.js·笔记·github
lyingcloud2 小时前
debian系统中文输入法失效解决
linux·运维·debian
消失在人海中2 小时前
oracle 游标的管理
数据库·oracle