一. 数据库基础
1 什么是数据库?
数据库:database 存储数据的仓库。高效存储和处理数据的介质(介质主要是两种:磁盘和内存)
2 数据库的类型
- 基于介质分类:
-
关系型数据库(SQL)
关系型数据库是一种建立在关系模型(数学模型)上的数据库。- 中等数据库:SQL-SERVER,Mysql
- 大型数据库: DB2,Oracle
- 小型数据库:access,playerfabs
-
非关系型数据库(No SQL 即 Not Only SQL)
- 非关系型数据库:memcached mongodb redis(同步到磁盘)
-
3 数据库优缺点
- 关系型数据库:安全,容易理解
- 非关系型数据库:效率高,不安全(断电丢失)
二.数据库分析
- 关系型数据库(SQL)
关系型数据库是一种建立在关系模型(数学模型)上的数据库。 - 关系模型:一种所谓建立在关系上的模型
- 数据结构:数据存储的问题,二维表(有行和列)
- 操作指令集合:所有SQL语句
- 完整性约束:表内数据约束
- 关系型数据库设计
从需要存储的数据需求中分析,如果是一类数据(实体),应该设计成一张二维表:表由表头(字段名:用来规定数据的名字)和数据部分组成(实际存储的数据单元)
表头 | 字段名1 | 字段名2 |
---|---|---|
数据单元 | 数据1 | 数据2 |
dababase
数据库系统:DBS(Database System): 是一种虚拟系统,将多种内同关联起来的称呼。DBS = DBMS + DB
DBMS: Database Management System,数据库管理系统,专门管理数据库
DBA: DataBase Administrator 数据库管理员
- SQL
Structured Query Language 结构化查询语言(数据以查询为主)
DDL: Data Definition Language,数据定义语言,用来维护存储数据的结构(数据库,表) 代表指令:creat, drop alter等
DML:(Data Manipulation Language),数据操作语言,用来对数据进行操作(数据表中的内内容),代表指令:insert,delete,update等:其中DML内部又单独进行了一个分类:DQL(Data Query Language:数据查询语言,如Select) DCL:(Data control Language)数据控制语言,主要是负责权限管理(用户),代表指令:grant,revoke等
三.Mysql数据库
是一种C/S结构的软件,客户端/服务端,若想访问服务器必须通过客户端(服务器一直运行,客户端在需要使用的时候运行)
- 交互方式:
- 1:连接服务器,认证身份:mysql.exe-hPup
- 2 : 发送SQL指令
- 3 : 服务器接收SQL指令,处理SQL指令,返回操作结果
- 4 :客户端显示结果
- 5 : 断开连接,释放资源,服务器并发限制
Mysql服务器对象分为四级:系统(DBMS)--数据库(DB)--数据表(Table)--字段(field)
- 基本操作 : CRUD
将SQL的基本操作根据操作对象进行分类:库操作,表操作(字段),数据操作 - 库操作
- 作用:对数据库的增删改查
- 语法:Creat database 数据库名字
- 库选项:用来约束数据库,分为两个选项
- 字符集设定:charset/character set 具体字符集
- 校对集设定:collate 具体校对集()
- 库选项:用来约束数据库,分为两个选项