【MySQL】数据库的操作

【MySQL】数据库的操作

🌸心有所向,日复一日,必有精进

🌸专栏:《MySQL》

🌸作者:《MySQL》


目录

【MySQL】数据库的操作

创建一个数据库

创建示例

查看数据列表

创建数据库

删除数据库

字符集和校验规则

查看系统默认字符集以及校验规则

查看数据库支持的字符集

查看数据库支持的字符集校验规则

显示指定字符集和校验规则

不同校验编码的影响

操作数据库

查看数据库

显示创建语句

删除数据库

修改数据库

备份和恢复数据库

查看连接情况


创建一个数据库

sql 复制代码
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

创建示例

查看数据列表

sql 复制代码
show databases;

创建数据库

sql 复制代码
create database db_name

删除数据库

sql 复制代码
drop database db_name

字符集和校验规则

创建一个数据库的时候,会存在两个编码集:

  • 数据库编码集------数据库未来存储数据所使用的编码格式;
  • 数据库校验集------支持数据库进行字段比较时使用的编码格式,其实也就是一种读取数据库中数据采用的一种编码方式

在进行数据的任何操作时,都要保证操作和编码必须是一致的;

查看系统默认字符集以及校验规则

sql 复制代码
show variables like 'character_set_database';
show variables like 'collation_database';

查看数据库支持的字符集

sql 复制代码
show charset;

查看数据库支持的字符集校验规则

sql 复制代码
show collation;

显示指定字符集和校验规则

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

不同校验编码的影响

创建两个使用不同校验编码的数据库;

sql 复制代码
create database db1 charset=utf8 collate utf8_general_ci;

create database db2 charset=utf8 collate utf8_bin;

当对db1进行查询时:

当对db2进行查询时:

当我们使用的校验编码是utf8_general_ci;,查询出来的数据是不区分大小写的;

而使用utf8_bin;查询出的数据是区分大小写;

校验规则对于数据查询的影响一目了然;

操作数据库

查看数据库

sql 复制代码
show databases;

显示创建语句

sql 复制代码
show create database db_name;
  • MySQL 建议我们关键字使用大写,但是不是必须的。
  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
  • **/*!40100 DEFAULT CHARACTER SET utf8 */**这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

删除数据库

sql 复制代码
DROP DATABASE [IF EXISTS] db_ name;
  • 数据库内部看不到对应的数据库
  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

修改数据库

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

修改数据库的字符集,校验规则

备份和恢复数据库

备份

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

使用工具mysqldump针对db1来备份:

sql 复制代码
mysqldump -P3306 -uroot -p -B db1 > db1.sql

通过vim查看备份文件,我们发现不只是数据被备份了,其实也是把我们的历史操作给备份了;

还原

sql 复制代码
mysql> source 备份文件的路径;

先将db1数据库删除;

通过下面指令来进行恢复;

sql 复制代码
 source /home/user/MySQL/db1.sql;

我们实现了一个数据库的备份,但是我们可以对表单独进行备份;

sql 复制代码
mysqldump -u root -p 数据库名 表名1 表名2 > db.sql(不指定路径就是当前路径)

同时对多个数据库备份

sql 复制代码
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原

查看连接情况

sql 复制代码
show processlist;

当前有哪些用户连接到我们的MySQL,,现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。


相关推荐
不羁。。1 小时前
【撸靶笔记】第七关:GET - Dump into outfile - String
数据库·笔记·oracle
yangchanghua1113 小时前
pgsql 如何查询今天范围内的数据(当天0点0分0秒 - 当天23点59分59秒....)
数据库·pgsql
larance3 小时前
SQLAlchemy 的异步操作来批量保存对象列表
数据库·python
python_chai3 小时前
从数据汇总到高级分析,SQL 查询进阶实战(下篇)—— 分组、子查询与窗口函数全攻略
数据库·sql·mysql
在努力的前端小白3 小时前
Spring Boot 敏感词过滤组件实现:基于DFA算法的高效敏感词检测与替换
java·数据库·spring boot·文本处理·敏感词过滤·dfa算法·组件开发
未来之窗软件服务3 小时前
自建知识库,向量数据库 (九)之 量化前奏分词服务——仙盟创梦IDE
数据库·仙盟创梦ide·东方仙盟·自建ai·ai分词
冒泡的肥皂7 小时前
MVCC初学demo(一
数据库·后端·mysql
.Shu.8 小时前
Redis Reactor 模型详解【基本架构、事件循环机制、结合源码详细追踪读写请求从客户端连接到命令执行的完整流程】
数据库·redis·架构
Bruce_Liuxiaowei10 小时前
MySQL完整重置密码流程(针对 macOS)
mysql
麦麦大数据10 小时前
F003疫情传染病数据可视化vue+flask+mysql
mysql·flask·vue·大屏·传染病