文章目录
- 1. 什么是数据库
- 2. 服务器,数据库,表关系
- 3. MySQL架构
- 4. SQL分类
1. 什么是数据库
存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:
文件的安全性问题
文件不利于数据查询和管理
文件不利于存储海量数据
文件在程序中控制不方便
为了解决上述问题,专家们设计出更加利于管理数据内容的东西——数据库,它能更有效的管理数据。
mysql本质:其实是一个软件层,是一个网络服务,是对文件内容提供基本的内容操作,不用程序员(用户)手动的进行数据管理。
2. 服务器,数据库,表关系
首先,我们要知道创建一个数据库在Linux中是做什么?
show databases;意思是:显示当前支持的数据库列表。
create database xxxxx;意思是:创建一个数据库。
我们可以看到在这里创建了一个目录。
在mysql中,建立一个数据库,本质在Linux下是建立了一个目录。我们通过mysql客户端用SQL语句,交给mysqld服务端,进行创建。
mysql清屏功能。
use 数据库意思是:使用这个数据库,换句话说就说进入这个数据库。
建表本质在Linux上是做什么?
这里的意思是:创建一个表和显示这个数据库中所有表。
在mysql中,建立一个表本质是在Linux上创建对应文件。
desc 表,意思是:查看表的结构。
下面我们先插入几条数据来看一下:
select * from xxxxx,意思是:查询表中的数据。
成功插入后,我们再看一下文件大小:
可以看出,文件大小没有发生任何变化。原因是,我们插入的语句还没有进入磁盘,而是在缓冲区中。
数据库服务器、数据库和表的关系如下:
3. MySQL架构
MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。
存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
MySQL的核心就是插件式存储引擎,支持多种存储引擎。
查看存储引擎:show engines;