MySQL库的操作

文章目录

创建数据库

本质就是在/var/lib/mysql创建一个目录

sql 复制代码
create database db_name;

如果该数据库不存在再创建,需加上if not exists选项

sql 复制代码
create database if not exists db_name;

四种创建带编码格式或校验规则的数据库


删除数据库

本质就是在/var/lib/mysql删除一个目录

cpp 复制代码
drop database db_name;

总结:

在/var/lib/mysql创建一个目录,再mysql中可以用show databases;查看到,也可以使用drop database db_name;删除;总之,两者是互通的。

但是不建议在/var/lib/mysql下手动创建,这样不合理;
执行删除之后的结果:

  • 数据库内部看不到对应的数据库
  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

查看数据库

sql 复制代码
show databases;

修改数据库

sql 复制代码
ALTER DATABASE db_name [[DEFAULT] CHARSET=character_name] [[DEFAULT] COLLATE=collation_name];

修改校验规则

字符集和校验规则

创建数据库的时候,有两个编码集;

1、数据库编码集------数据库未来存储数据;

2、数据库校验集------支持数据库的字段比较,本质也是一种读取数据库中数据的采用的编码格式;
数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的;

查看系统默认的字符集

show variables like 'character_set_database';

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

show variables like 'collation_database';

查看数据库支持的字符集

show charset;

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

show collation;

校验规则对数据库的影响

校验规则utf8_general_ci,不区分大小写;

校验规则utf8_bin,区分大小写;

创建两个数据库

utf8_general_ci

插入数据

查看数据

查询姓名是'cxy'的信息

utf8_bin

插入数据

查看数据

查询姓名是'cxy'的信息

我们发现 ,

校验规则utf8_general_ci,不区分大小写;

校验规则utf8_bin,区分大小写;

数据库的备份和恢复

备份

我们需要备份的库以及其中的内容

我们执行下述代码即可将数据库备份在当前路径下

复制代码
mysqldump -P 端口号 -u 用户名 -p 密码 -B 数据库名1 数据库名2 ...  > 数据库备份存储的文件路径

当我们打开back1.sql文件后,我们发现文件中有许多命令是我们之前执行的各种SQL命令;

恢复

我们执行下述代码恢复数据库

恢复后得结果

数据库中的内容也保存在里面

总的来说当我们打开back1.sql文件时,我们就意识到了数据库的备份不过就是,我们将创建数据库以及对数据库操作的SQL语句,其中包括创建数据库、创建表、插入数据等SQL语句操作进行保存;在恢复时,重新执行上述操作

相关推荐
zhangguojia727 分钟前
权限弹窗点击允许的授权流程
运维·服务器·数据库
jnrjian34 分钟前
Postgres 序列(sequence)的权限
数据库·postgresql
风禾万里35 分钟前
【无标题】
数据库
镜舟科技37 分钟前
为什么 Text-to-SQL 总是停在 Demo?
数据库·sql·demo·text-to-sql·镜舟科技·mip·语义视图
aprilaaaaa1 小时前
(TC397 学习笔记)二、ICU和TIM的时钟计算
笔记·学习·fpga开发
人生苦短1281 小时前
Oracle RAC 日常管理+排错命令大全
数据库·oracle
镜舟科技1 小时前
从 DBA 经验到 Agent:镜舟如何构建生产级智能排障体系
数据库·agent·dba·skill·devops agent·mirrorship
瀚高PG实验室1 小时前
HAC 集群主节点状态在starting、running之间频繁切换
运维·数据库·postgresql·瀚高数据库
其实防守也摸鱼1 小时前
教育信息技术应用创新---基础软件信息赛
运维·服务器·数据库·github·copilot
GG-_-Bond1 小时前
9.1-kv存储持久化的设计
数据库