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

相关推荐
物联网老王19 分钟前
Ubuntu Linux Cursor 安装与使用一
linux·运维·ubuntu
程序员岳焱2 小时前
Java 与 MySQL 性能优化:Java 实现百万数据分批次插入的最佳实践
后端·mysql·性能优化
一位摩羯座DBA2 小时前
Redhat&Centos挂载镜像
linux·运维·centos
学习3人组2 小时前
CentOS配置网络
linux·网络·centos
计算机毕设定制辅导-无忧学长3 小时前
西门子 PLC 与 Modbus 集成:S7-1500 RTU/TCP 配置指南(一)
服务器·数据库·tcp/ip
weixin_307779133 小时前
Hive集群之间迁移的Linux Shell脚本
大数据·linux·hive·bash·迁移学习
程序员柳3 小时前
基于微信小程序的校园二手交易平台、微信小程序校园二手商城源代码+数据库+使用说明,layui+微信小程序+Spring Boot
数据库·微信小程序·layui
漫步企鹅3 小时前
【蓝牙】Linux Qt4查看已经配对的蓝牙信息
linux·qt·蓝牙·配对
cui_win4 小时前
【网络】Linux 内核优化实战 - net.core.flow_limit_table_len
linux·运维·网络
梦在深巷、4 小时前
MySQL/MariaDB数据库主从复制之基于二进制日志的方式
linux·数据库·mysql·mariadb