MySQL5.7从入门到精通
1.初识MySQL
1.1 数据库基础
1.1.1 什么是数据库
数据库分类:层次式数据库、网络式数据库、关系式数据库
数据库:是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。
数据库的特点:
- 实现数据共享,减少数据冗余
- 采用特定的数据类型;具有较高的数据独立性
- 具有统一的数据控制功能
1.1.2 表
数据库表是一系列二维数组的集合,由纵向的列和横向的行组成,行被称为记录,是组织数据的单位,列被称为字段,每一列表示记录的一个属性。
1.1.3 数据类型
1.1.4 主键
用于唯一标识表中的每一条记录,主键列上不能有两行相同的值,也不能为空值
1.2 数据库技术构成
1.2.1 数据库系统
- 数据库
- 数据库管理系统(DBMS)
- 数据库应用程序
1.2.2 SQL语言
分类 | 语句 | |
---|---|---|
DDL | 数据定义语句 | DROP、CREAT、ALTER等 |
DML | 数据操作语句 | INSERT、UPDATE、DELETE等 |
DCL | 数据控制语句 | GRANT、REVOKE、COMMIT、ROLLBACK等 |
DQL | 数据查询语句 | SELECT |
1.2.3 数据库访问接口
- ODBC(开放数据库互连)
为访问不同的SQL数据库提供了一个共同的接口,它提供了最大限度的互操作性,ODBC的最大优点是能以统一的方式处理所有的数据库。 - JDBC(JAVA数据库连接)
- ADO.NET(NET框架下的面向对象类库)
- PDO(PHP数据接口)
1.3 什么是MySQL
MySQL是一个小型关系数据库管理系统
缺点:规模小、功能有限
优点:体积小、速度快、成本低
1.3.1 客户机-服务器软件(主从式架构)
简称C/S架构,是一种网络架构,通常在该网络架构下软件分为客户端和服务器
1.3.2 MySQL版本
1.3.3 MySQL的优势
- 速度:运行速度快
- 价格:对多数个人免费
- 容易使用:与其他大型数据库相比,复杂程度较低,易于学习
- 可移植性:能够工作在众多不同的系统平台上
- 丰富的接口:提供用于多种语言的API
- 支持查询语言:可以利用标准SQL语法并支持ODBC的应用程序
- 安全性和连接性:十分灵活和安全的权限和密码系统
1.4 MySQL工具
1.4.1 MySQL命令行实用程序
1.4.2 MySQL Workbench
2. MySQL的安装与配置
2.1 Windows平台下安装与配置MySQL
2.2 启动服务并登录MySQL数据库
2.3 MySQL常用图形管理工具
- MySQL Workbench
- phpMyAdmin
- Navicat
- MySQLDumper
- SQLyog
2.4 Linux平台下安装与配置MySQL
3. 数据库的基本操作
3.1 创建数据库
CREATE DATABASE database_name;
查看数据库的定义信息
SHOW CREATE DATABASE database_name;
3.2 删除数据库
DROP DATABASE database_name;
4. 数据表的基本操作
4.1 创建数据表
创建表的过程是规定数据列的属性的过程,也是实施数据完整性约束的过程
4.1.1 创建表的语法形式
4.1.2 使用主键约束
主键约束的数据唯一,且不允许为空
- 单字段主键
- 多字段联合主键
4.1.3 使用外键约束
一个表可以有一个或多个外键;
外键可以为空值,若不为空值,则每一个外键值必须等于另一个表主键中的某个值;
外键的主要作用:保证数据引用的完整性;
子表的外键必须关联父表的主键,且关联字段的数据类型必须匹配
4.1.4 使用非空约束
4.1.5 使用唯一性约束
唯一性约束允许为空,但只能出现一个空值
主键约束和唯一性约束的区别:
- 一个表中可以有多个字段声明为UNIQUE,但只能有一个PRIMARY KEY声明
- 声明为PRIMARY KEY的列不允许有空值,但声明为UNIQUE的字段允许空值的存在
4.1.6 使用默认约束
4.1.7 设置表的属性值自动增加
一个表只能有一个字段使用AUTO_INCREMENT约束,且该字段必须为主键的一部分