【MySQL】数据库增删查改

MySQL数据存储位置:

/var/lib/mysql

📖Note:

var是variable(变量)的缩写,该目录下存放一些经常会变动的文件,比如cache,log file以及一些软件运行产生的文件等

1.创建数据库

语法:create database db_name

创建成功之后,/var/lib/mysql目录下生成对应的数据库目录

打开目录,看一下一个新的数据库中都有什么

可以发现,对于我们新建的数据库test,目前只包含一个文件db.opt,并且这个文件中存放的是我们数据库的编码集和校验集

编码集:数据库存储数据时所采用的编码规则

校验集:数据库读取数据时所采用的编码规则


查看数据库的编码集:show variable like 'character _set_database'

查看数据库的校验集:show variable like 'collation_database'

我们新建数据库时,若没有指定编码集和校验集,我们的数据库采用的是系统默认的utf8编码集和对应的utf8_general_ci校验集


当然,创建数据库时也可以自己指定编码集和校验集。如下图

📖Note:

  • 编码集和字符集必须相对应,否则读取数据库可能产生错误
  • 使用**show charset;**语句查看支持的编码集和校验集以及对应关系

2.删除数据库

语法:drop database db_name

📖Note:

  • 删库要谨慎

3.数据库备份与恢复

以下指令在shell环境运行

指令:mysqldump -P3306 -u root -p -B db_name(数据库名) > 备份文件的存储路径

📖Note:

  • -B选项:在备份文件中,自动新建数据库,若备份时未添加-B选项,恢复时需要先手动创建一个空数据库,再执行还原语句
  • mysqldump指令的选项说明可以使用man指令查看

在数据库test中创建两个表tb和tb1,并且对表进行一些操作,如下图

我们现在要删除数据库test,删除之前先备份

上图中,我们已经成功备份数据库文件,放在/tmp目录下的test.sql文件,并且在test.sql文件中可以发现,数据库备份其实是备份的SQL语句的执行,而不是具体的数据,当我们恢复数据库时,相当于重新执行了一边原来的SQL语句。


恢复数据库:source 备份文件的存储路径;

当然,也可以备份某个数据库中的表

指令:mysqldump -u root -p db_name(数据库名) tb1_name tb1_name> 备份文件的存储路径

4.查看/修改数据库

我们已经多次使用**show databases;**语句查看创建的数据库列表了,除此之外,以下语句可以帮我们查看数据库创建时的相关信息;

语法:show create database db_name;

以下语句可以帮我们修改数据库的编码集和校验集

语法:alter database db_name charset=(编码集名称) collate (校验集名称);

相关推荐
updayday85410 分钟前
电脑换了硬盘、加了内存,资产台账却没更新 - Ping64 硬件资产管理
大数据·网络·数据库·安全·智能路由器
hhhjhl16 分钟前
mime-types 跨端三方库仓颉适配全流程
数据库
广州智造19 分钟前
Radioss中破坏模型FAILTAB1的详细介绍
数据库·人工智能·算法·机器学习·仿真软件·radioss
李兆龙的博客23 分钟前
从一到无穷大 #101:SSD 的工作原理——从 NAND 到数据库读写
数据库·ssd·存储
吹什么轩25 分钟前
MySQL 内置函数全景:日期 / 字符串 / 数学 / 其他,一次讲透(附索引杀手排查)
java·数据库·面试
CS创新实验室29 分钟前
改了模型,数据库为什么能自动跟上?——Django 迁移(migrations)的底层
数据库·django·sqlite
编码追梦人39 分钟前
基于 ESP32-S3 的便携式多参数环境监护仪设计:从硬件选型到 FreeRTOS 多任务落地
数据库·单片机·嵌入式硬件·mongodb·esp32·freertos·低功耗设计
sunburn-44 分钟前
数据库增删改查:从 SQL 基础到实践要点
java·数据库·mysql
誰能久伴不乏3 小时前
桌面客户端的运行日志系统:SQLite 分块 + 独立写线程 + 文本降级
数据库·c++·qt·架构·sqlite
2401_896732139 小时前
MySQL小笔记
mysql