本文基于Linux的MySQL
数据库本质是对数据内容存储的一套解决方案
如何理解呢?
首先,说到数据内容存储,文件是更为大众所知的数据存储形式。那为什么还会出现数据库呢?
比如这样一个场景,一个文件中,有十万个人的信息,如果要求找出这之中,身份证尾号为1102的,如何操作呢?很多人想,这不就是文件操作,从文件读数据,然后进行筛选。这样的确可以,但这一过程需要认为操作,那我们是否可以将这一过程交给别人完成呢?数据库的功能就是如此。
文件保存数据有以下几个缺点:
数据库就是基于文件系统,提供更好的数据管理能力。
实现用户给予字段或者需求,数据库可以对数据进行筛选,并提交结果
PS:数据库是基于文件系统的,所以其存储介质仍是磁盘和内存
首先,在MySQL的配置文件/etc/my.cnf中,我们可以查看数据的默认存储路径

默认存放在/var/lib/mysql中
当前的/var/lib/mysql中是这样的

简单建立一个helloMySQL的数据库,在helloMySQL中创建表,并插入一些数据
create database helloMySQL;创建数据库
use helloMySQL;使用数据库
create table student(...);创建数据库表
insert into student (...) values(...)表中插入数据
select * from student查询表中数据
在创建数据库后,/var/lib/mysql是这样的

可以看到,多了一个helloMySQL的目录
紧接着,我们创建表

helloMySQL目录中就会多出几个文件

尝试插入数据

我们简单使用了一下数据库。
其实建数据库在Linux层面就是创建了一个目录,建表就是创建文件
数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库数据库服务器,数据库和表的关系如下:



MySQL的架构可以大致分为三层
show engines查看存储引擎
常用的有innoDB和MyISAM
DDL【data definition language】数据定义语言,用来维护存储数据的结构
代表指令:create(创建),drop(丢弃),alter(修改)
DML【data manipulation language】数据操纵语言,用来对数据进行操作
代表指令:insert(插入),delete(删除),update(更新)
DML中又单独分了一个DQL,数据查询语言,代表指令:select(查询)
DCL【data control language】数据控制语言,主要负责权限管理和事务
代表指令:grant(授予),revoke(撤销),commit(提交)
感谢你的阅读
如果觉得本篇文章对你有所帮助的话,不妨点个赞支持一下博主,拜托啦,这对我真的很重要。
