
## 数据库的概念

**数据库**：database（DB），是一种存储数据的仓库。具有如下特性：

- 数据库是根据数据结构组织、存储和管理数据。
- 数据库能够长期、高效的管理和存储数据。
- 数据库的目的就是能够存储（写）和提供（读）数据。

## 数据库分类

数据库分为两类：

- **关系型数据库**：把复杂的数据结构归结为简单的二元关系，即二维表格形式（二维表）。注重数据存储的持久性。

- **非关系型数据库**：没有具体模型的数据结构。英文简称 NoSQL（Not Only SQL )，意为"不仅仅是SQL"。注重数据读取的效率。

我们具体来看看。

### 1、关系型数据库

**关系型数据库**：把复杂的数据结构归结为简单的二元关系，即二维表格形式（二维表）。

关系型数据库有四层结构：

- 数据库管理系统（DBMS）：DataBase Management System。

- 数据库（DB）：数据存储的管理者。

- 数据表（Table）：数据关系管理者。

- 数据字段（Field）：实际数据存储者。

常见的关系型数据库产品：

- 大型：Oracle

- 中型：MySQL、SQL Server

- 小型：Sybase、Access


### 2、非关系型数据库

**非关系型数据库**：没有具体模型的数据结构。英文简称 NoSQL（Not Only SQL )，意为"不仅仅是SQL"。

常见的非关系型数据库产品：MongoDB、Redis、Memcached。



## SQL 的介绍

**SQL**：全称 **Structured Query Language**，译为**结构化查询语言**。

**SQL**：是一种针对关系型数据库的标准化编程语言，能够实现用户数据库的查询和程序设计。

通俗来讲，**SQL 是关系型数据库的操作指令**。

根据操作类型不同，SQL 可分为几类：


* DQL：Data Query Language，数据查询语言，用于查询和检索数据
* DML：Data Manipulation Language，数据操作语言，用于数据的写操作（增删改）
* DDL：Data Definition Language，数据定义语言，用于创建数据结构
* DCL：Data Control Language，数据控制语言，用于用户权限管理
* TPL：Transaction Process Language，事务处理语言，辅助DML进行事务操作（因此也归属于DML）


补充：

- SQL 虽然是编程语言，但通常只用来进行数据管理，逻辑部分交给其他编程语言。

- SQL 是针对关系型数据库的**通用语言**，所有关系型数据库都是基于SQL进行数据操作；而不同的数据库产品，在 SQL 操作指令上略有差异。



## MySQL 的介绍

### MySQL 数据库介绍

MySQL 是很有名的 关系型数据库产品，由瑞典MySQL AB 公司开发，现在属于 Oracle 旗下产品。

MySQL 在 2008 年被 Sun 公司以10亿美金所收购，而 Sun 公司在2009年被 Oracle 甲骨文公司收购。

MySQL 开源免费。

### MySQL 访问原理

MySQL是一种C/S结构的软件，因此我们需要安装 MySQL 的客户端来访问远程的服务端。也就是说，数据是存放在服务器上的，客户端通过执行 sql 指令来操作服务端的数据。

具体步骤是：

（1）客户端通过 主机（host） + 端口号（port） 服务端。

（2）输入 username 和 password 验证身份。

（3）客户端和服务端连接成功，通过 sql 指令开始操作数据库。








