mirror of
https://github.com/qianguyihao/Web.git
synced 2024-11-01 13:34:46 +08:00
117 lines
3.4 KiB
Markdown
117 lines
3.4 KiB
Markdown
|
---
|
|||
|
title: 01-数据库的基础知识
|
|||
|
publish: true
|
|||
|
---
|
|||
|
|
|||
|
<ArticleTopAd></ArticleTopAd>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
## 数据库的概念
|
|||
|
|
|||
|
**数据库**: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 指令开始操作数据库。
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|