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


相关推荐
ChinaRainbowSea17 分钟前
7. LangChain4j + 记忆缓存详细说明
java·数据库·redis·后端·缓存·langchain·ai编程
小马学嵌入式~1 小时前
嵌入式 SQLite 数据库开发笔记
linux·c语言·数据库·笔记·sql·学习·sqlite
Java小白程序员2 小时前
MyBatis基础到高级实践:全方位指南(中)
数据库·mybatis
Monly212 小时前
人大金仓:merge sql error, dbType null, druid-1.2.20
数据库·sql
不宕机的小马达2 小时前
【Mysql|第一篇】Mysql的安装与卸载、Navicat工具的使用
数据库·mysql
孔丘闻言2 小时前
python调用mysql
android·python·mysql
float_六七2 小时前
数据库连接池:性能优化的秘密武器
数据库·oracle·性能优化
码界奇点2 小时前
MongoDB vs MySQLNoSQL与SQL数据库的架构差异与选型指南
数据库·sql·mongodb·系统架构
IT 小阿姨(数据库)2 小时前
PgSQL中pg_stat_user_tables 和 pg_stat_user_objects参数详解
linux·运维·数据库·sql·postgresql·oracle
倔强的石头_3 小时前
Windows系统下KingbaseES数据库保姆级安装教程(附常见问题解决)
数据库