目录
2.3小结
4.1 查询
5.5修改表
6、DML
1、数据库相关概念
1.1 数据库
存储和管理数据的仓库,数据是有组织的进行存储。
数据库英文名是 DataBase ,简称 DB 。 数据库就是将数据存储在硬盘上,可以达到持久化存储的效果。 那又是如何解决上述问题的?使用数据库管理系统。
1.2 数据库管理系统
管理数据库的大型软件
英文: DataBase Management System ,简称 DBMS
在电脑上安装了数据库管理系统后,就可以通过数据库管理系统创建数据库来存储数据,也可以通过该系统对数据库中的数据进行数据的增删改查相关的操作。
我们平时说的MySQL数据库其实是MySQL数据库管理系统。
1.3 常见的数据库管理系统
- Oracle:收费的大型数据库,Oracle 公司的产品
- MySQL: 开源免费的中小型数据库。后来 Sun公司收购了 MySQL,而 Sun 公司又被 Oracle收购
- SQL Server : MicroSoft 公司收费的中型的数据库。 C# 、 .net 等语言常使用
- PostgreSQL :开源免费中小型的数据库
- DB2 : IBM 公司的大型收费数据库产品
- SQLite :嵌入式的微型数据库。如:作为 Android 内置数据库
- MariaDB:开源免费中小型的数据库
1.4 SQL
- 英文:Structured Query Language,简称SQL,结构化查询语言
- 操作关系型数据库的编程语言
- 定义操作所有关系型数据库的统一标准,可以使用SQL操作所有的关系型数据库管理系统,以后工作中如果使用到了其他的数据库管理系统,也同样的使用SQL来操作。
SQL可以用来操作所有的数据库操作系统,如Oracle、MySQL、SQL Server......
2、MySQL
2.1 MySQL安装
博主之前写过一篇非常完整的MySQL安装教程,详情请看下文:MySql保姆级安装教程_小羊不会飞的博客
2.2 MySQL数据模型
MySql属于关系型数据库,何谓关系型数据库?
- 简而言之,就是多张能够相互连接的二维表组成的数据库,如下图所示
关系型数据库的优点:
- 都是使用表结构,格式一致,易于维护
- 使用通用的 SQL 语言操作,使用方便,可用于复杂查询
- 数据存储在磁盘中,安全
数据模型:
- 如上图,我们通过客户端可以通过数据库管理系统创建数据库,在数据库中创建表,在表中添加数据。创建的每一个数据库 对应到磁盘上都是一个文件夹。
- 比如可以通过SQL语句创建一个数据库(数据库名称为db1),我们可以在数据库安装目录下的data目录下看到多了一个 db1 的文件夹。所以,在MySQL中一个数据库对应到磁盘上的一个文件夹。
2.3小结
- MySQL中可以创建多个数据库,每个数据库对应到磁盘上的一个文件夹
- 在每个数据库中可以创建多个表,每张都对应到磁盘上一个文件
- 每张表可以存储多条数据,数据会被存储到磁盘中 文件中
3、SQL概述
了解了数据模型后,接下来学习 SQL 语句,通过 SQL 语句对数据库、表、数据进行 增删改查 操作。
3.1 SQL简介
- 英文:Structured Query Language,简称 SQL
- 结构化查询语言,一门操作关系型数据库的编程语言
- 定义操作所有关系型数据库的统一标准(可以对所有的数据库进行操作)
- 对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为 “ 方言 ”
3.2 SQL分类
- DDL(Data Definition Language) : 数据定义语言,用来定义数据库对象:数据库,表,列等 DDL简单理解就是用来操作数据库,表等
- DML(Data Manipulation Language): 数据操作语言,用来对数据库中表的数据进行增删改,DML简单理解就对表中数据进行增删改
- DQL(Data Query Language): 数据查询语言,用来查询数据库中表的记录(数据) ;DQL简单理解就是对数据进行查询操作。从数据库表中查询到我们想要的数据。
- DCL(Data Control Language) :数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户;DCL 简单理解就是对数据库进行权限控制。比如我让某一个数据库表只能让某一个用户进行操作等。
以后我们最常操作的是 DML 和 DQL ,因为我们开发中最常操作的就是 数据 。
4、 DDL:操作数据库
4.1 查询
4.2 创建数据库
创建数据库 ( 判断,如果不存在则创建 )
4.3 删除数据库
删除数据库 ( 判断,如果存在则删除)
4.4 使用数据库
查看当前使用的数据库
5、DDL:操作表
用来操作数据库,表
5.1 查询表
- 查询当前数据库下所有表名称
- 查询表结构
5.2 创建表
5.3数据类型
- 数值
- 日期
- 字符串
5.4案例设计
需求:设计一张学生表,请注重数据类型、长度的合理性
1. 编号
2. 姓名,姓名最长不超过 10 个汉字
3. 性别,因为取值只有两种可能,因此最多一个汉字
4. 生日,取值为年月日
5. 入学成绩,小数点后保留两位
6. 邮件地址,最大长度不超过 64
7. 家庭联系电话,不一定是手机号码,可能会出现 - 等字符
8. 学生状态(用数字表示,正常、休学、毕业 ... )
5.5修改表
- 修改表名
- 添加一列
- 修改数据类型
- 修改列名和数据类型
- 删除列
6、DML
操作表也就是对表进行增(Create)删(Retrieve)改(Update)查(Delete)
6.1添加数据
- 给指定列添加数据
- 给全部列添加数据
- 批量添加数据
6.2修改数据
- 修改表数据
6.3删除数据
- 删除表数据
7、DQL 查询
7.1 数据准备
7.2 基础查询
7.3 条件查询
条件查询的运算符
7.4 模糊查询
7.5 排序查询
7.6 分组查询
7.7 分页查询
起始索引=(当前页码-1)*每页显示的条数