【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,,现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。


相关推荐
Ai 编码助手6 分钟前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
陈燚_重生之又为程序员22 分钟前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle23 分钟前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
白云如幻25 分钟前
MySQL排序查询
数据库·mysql
萧鼎26 分钟前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
^velpro^29 分钟前
数据库连接池的创建
java·开发语言·数据库
苹果醋332 分钟前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
荒川之神34 分钟前
ORACLE _11G_R2_ASM 常用命令
数据库·oracle
IT培训中心-竺老师39 分钟前
Oracle 23AI创建示例库
数据库·oracle
小白学大数据1 小时前
JavaScript重定向对网络爬虫的影响及处理
开发语言·javascript·数据库·爬虫