数据库与mysql之基本库操作

(我使用的数据库是在内核版本为centos7的云服务器上部署的,云服务器部署mysql比较麻烦,如果有人有需要,可以私信或评论,我可以出一个教程)

1、观察在Linux系统下,数据库的相关操作与文件的关系

首先进入Linux系统下的数据库文件

当我在mysql中创建了一个数据库的时候,在Linux中产生了什么?

在这里插入图片描述

本质上是创建了一个目录
在这里插入图片描述
在这里插入图片描述

mysql在Linux上的使用本质上是一种系统调用

那这个文件中有什么?

在这里插入图片描述

当我在数据库中建立一个表的时候,这个目录下又会有什么变化?

在这里插入图片描述
在这里插入图片描述

本质上是写入了一个文件!
其他操作就不再过多展示,如向数据库插入数据的时候,其实是向文件中写入数据。
注:如果只插入了少量的数据的时候可能会发现Linux下的文件并没有发生变化,这可能是数据写入到了mysql自己的缓冲区中,就像c语言的缓冲区。
mysql的逻辑存储结构就是一张二维表!

2、sql语句的分类

ddl->数据定义语言 用来维护存储数据的结构
代表指令 create drop alter
dml->数据操纵语言,用来对数据进行操作
代表指令insert delete update
dml中又单独分了一个dql,数据查询语言 代表指令 select
dcl-> 数据控制语言,主要负责权限管理和事物
代表指令:grant revoke commit

3、存储引擎

存储引擎是:数据库管理系统如何存储数据。如何为存储数据建立索引和如何更新、查询等实现的方法。

查看存储引擎
在这里插入图片描述

4、库操作(mysql中指令需要以;结束)

show databases;查看当前用户权限的能看到的所有数据库
drop database 删除数据库
在这里插入图片描述

创建数据库:create database

在这里插入图片描述

创建并查看了t1数据库
mysql指令并不区分大小写,创建数据库的名字可以加上反引号(esc下面的那个按键),如果库名与mysql内部有冲突(不建议这样命名),一定要加上反引号。

修改数据库 alter 关键字
我们可以对数据库本身修改什么?
答案是字符集与校验规则!
在这里插入图片描述

mysql目前并没有直接修改库名的语句

5、字符集与校验规则(数据库的存与取)

字符集:保证数据库的数据按照特定的编码规则进行存储
校验规则:将数据取出来进行比较等操作时的保证校验码
在这里插入图片描述

查看字符集
在这里插入图片描述

查看校验规则(集)
一般情况下字符集要与校验规则相匹配

在这里插入图片描述

查看系统存在的所有字符集
数据库创建不指定字符集与校验规则的时候会使用默认配置

创建一个非默认字符集的数据库
在这里插入图片描述

观察文件内容发生变化
在这里插入图片描述

创建数据时指定的字符集与校验规则,实际上影响了谁?
实际上影响了数据库内部的表!在数据库内创建表时,会使用库的字符集与校验规则。

6、数据库备份

数据库的备份分为两种
1.对库数据的备份
2.对建库语句的备份

如我当前数据库中存在t1、t2的数据库,在Linux下使用sql语句对t1进行备份

在这里插入图片描述
在这里插入图片描述

得到了t1.sql文件

在这里插入图片描述

当用vim查看的时候,发现Linux下的备份其实是把我的历史指令备份了

在这里插入图片描述

重新恢复这个库

备份语句:# mysqldump -u root -p -B 库名 > 路径
还原: mysql> source 备份库存在的路径
如果是备份表:# mysqldump -u root -p 库名 表1 表2 > 路径
如果备份时不带-B选项,则恢复是需要自己创建一个空库,然后使用数据库在还原

7、查看连接

在这里插入图片描述

查看当前谁连接了我的数据库

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值