【MySQL】数据库基础和库的操作

什么是数据库?

用文件保存数据有几个缺点:文件的安全性问题,不利于查询和管理,不利于存储海量数据,不方便用程序控制。

为解决以上问题,设计出更利于管理数据的东西------数据库。

所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个程序可管理多个数据库。为保存应用中的数据,一般会在数据库中创建多个表。

数据库服务器、数据库和表的关系如下:

MySQL :通常指 数据库管理系统 (DBMS),也就是管理数据库的软件
DB :指 MySQL 里的某一个具体数据库
:数据库里面真正存数据的结构
SQL分类
DDL(data definition language):数据定义语言,用来维护存储数据的结构。

代表指令:create,drop,alter
DML(data manipulation language):数据操纵语言,用来对数据进行操作。DML中单独分出一个DQL,数据查询语言,代表指令:select
DCL(data control language):数据控制语言,主要负责权限管理和事务。代表指令:grant,revoke,commit
存储引擎 :数据库管理系统如何存储数据,如何为数据建立索引和如何更新,查询数据等技术的实现方法。

MySQL的核心是插件式存储引擎,支持多种存储引擎。

bash 复制代码
show engines;

库的操作

创建数据库

bash 复制代码
create database [if not exists] db_name [charset=?][collate=?]

\]是可选项 \[charset=?\]:指定数据库采用的字符集 \[collate=?\]:指定数据库字符集的校验规则 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1542c13206144353b7cb3339c45630ea.png) **字符集和校验规则** 查看系统默认字符集以及校验规则: ```bash show variables like 'character_set_database'; show variables like 'collation_database'; ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/5dba766966784b9a810d89307e7355fb.png) 查看数据库支持的字符集: ```bash show charset; ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9ca85b4ccd5647eb86598ef5506c1573.png) 查看数据库支持的字符集校验规则: ```bash show collation; ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/89d12dda3c334f58bec9e19109a99d11.png) **校验规则对数据库的影响** 不区分大小写: 创建两个数据库,校验规则分别使用utf8_ general_ ci和utf8_ bin: ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/04affb61dc2b42189f135345f57de5c2.png) 其中一个校验规则区分大小写,一个不区分。 **操纵数据库:** 查看数据库: show databases; 显示创建语句: show create databases db_name; ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/aa9a0533e56343e6a48f6c682ddeb182.png) /\*!40100 default... \*/ 不是注释,表示当前mysql版本大于4.01版本,就执行这句话. **修改数据库** ```bash alter database db_name [charset=?][collate=?] ``` 对数据库的修改主要指的是修改数据库的字符集,校验规则。 例:将test1 数据库字符集改成 gbk ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d7aab8f6181a4a06ae1470d136549f0d.png) **数据库删除** ```bash drop database [if exists] db_name; ``` 结果:对应的数据库文件夹被删除,级联删除,里面的数据表全部被删。 **备份和恢复** 备份: ```bash mysqldump -P3306 -u root -p 密码 -B 数据库名 > 要备份到的文件路径 ``` 例: ```bash mysqldump -P 3306 -u root -p123456 -B test1 > test1.sql ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/182fde154b9745cc8e4c857a3e95b07f.png) 还原: ```bash mysql>source test1.sql(文件路径和文件名) ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/45aabb3af4644cbb9e615d7cca22ad44.png) 如果备份的不是整个数据库,而是其中的一张表,怎么做? ```bash mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql ``` 同时备份多个数据库: ```bash mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径 ``` **查看连接情况** ```bash show processlist ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0ba3a7f46fbc4d2986b2d7ad01ca95aa.png)

相关推荐
_Emma_2 小时前
[QCOM] Linux下qcom camera驱动框架分析
linux·驱动开发
浮若于心2 小时前
WSL2 Ubuntu 占用 C 盘空间清理指南
linux·c语言·ubuntu
代码派2 小时前
SQL 审核解决了部分问题,另一部分是慢 SQL 治理
数据库·sql·mysql·数据库管理工具·ninedata·sql审核·sql治理
请输入蚊子2 小时前
《操作系统真象还原》 第九章 线程
linux·操作系统·bochs·操作系统真像还原
bai_lan_ya3 小时前
Linux 输入系统应用编程完全指南
linux·运维·服务器
skywalk81633 小时前
参考paddlex的图像识别和目标检测,做一个精简的寻物小助手的推理服务器后台
服务器·人工智能·目标检测
wei_shuo3 小时前
新型电力系统应该用什么数据库?源网荷储四侧的时序数据库选型与落地实战
数据库·时序数据库
SadSunset3 小时前
第四章:Redis 数据结构与命令
数据结构·数据库·redis
思茂信息3 小时前
CST软件加载 Pin 二极管的可重构电桥仿真研究
服务器·开发语言·人工智能·php·cst·电磁仿真·电磁辐射
带娃的IT创业者3 小时前
家庭成员管理系统:SQLite 关系型数据库建模实战
jvm·数据库·sqlite·关系型数据库·crud·家庭成员