一、数据库相关概念
1.1、数据库
存储数据的仓库,数据是有组织的进行存储。简称DB
1.2、数据库管理系统
管理数据库的大型软件。简称DBMS
1.3、SQL
结构化查询语言,简称SQL
操作关系型数据库的编程语言
定义操作所有关系型数据库的统一标准
二、MySQL数据模型
2.1、关系型数据库
关系型数据库是建立在关系模型上的数据库,简单说,关系型数据库是由多张能互相连接的二维表组成的数据库。
优点:
1.都是使用表格结构,格式一致,易于维护
2.使用通用的SQL语言操作,使用方便,可用于复杂查询
3.数据存储在磁盘中,安全
三、SQL通用语法
1. SQL可以单行或多行书写,以分好结尾
-
MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
-
注释
单行注释:-- 注释内容 或 #注释内容(MySQL特有)
多行注释:/* 注释 */
四、SQL分类
4.1、DDL
4.1.1、DDL–操作数据库
1.查询
2.创建
3.删除
4.使用数据库
4.1.2、DDL–操作表
1.查询
2.创建表
注意:最后一行末尾,不能加逗号
3.删除表
4.修改表
4.1.3、DDL–数据类型
分为3类:
详情见同文件夹下excel表
小练习
CREATE TABLE student1(
id int,
name varchar(20),
gender char(2),
birthday date,
score double(5,2),
emile varchar(64),
phonenum varchar(20),
status tinyint
);
4.2、DML
4.2.1、DML–添加(INSERT)
添加数据
4.2.2、DML–修改(UPDATE)
修改数据
注意:修改语句中如果不加条件,则将所有数据都修改
4.2.3、DML–删除(DELETE)
删除数据
注意:删除语句中如果不加条件,则将所有数据都删除!
4.3、DQL
创建一张表
--创建stu表
CREATE TABLE stu(
id int,
name varchar(20),
age int,
sex varchar(5),
address VARCHAR(100),
math DOUBLE(5,2),
english double(5,2),
hire_date date
);
--添加数据
INSERT INTO stu VALUES
(1,'王二',55,'男','杭州',66,78,'1995-09-01'),
(2,'张三',45,'女','深圳',98,87,'1998-09-01'),
(3,'李四',55,'男','香港',56,77,'1999-09-02'),
(4,'刘五',20,'女','湖南',76,65,'1997-09-05'),
(5,'萧炎',18,'男','斗气大陆',86,NULL,'1998-09-01'),
(6,'唐三',18,'男','斗罗大陆',99,99,'1998-09-01'),
(7,'叶凡',24,'男','地球',99,99,'1998-09-01'),
(8,'唐舞麟',16,'女','斗气大陆',56,65,'1999-09-01');
4.3.1、DQL–基础查询
1.查询多个字段
**尽量不使用 ***
4.3.2、DQL–条件查询
1.条件查询语法
2.条件
符号 | 功能 |
---|---|
> | 大于 |
> | 小于 |
>= | 大于等于 |
<= | 小于等于 |
= | 等于 |
<>或!= | 不等于 |
BETWEEN…AND… | 在某个范围之内(都包含) |
IN(…) | 多选一 |
LIKE 占位符 | 模糊查询,_:单个任意字符、%:多个任意字符 |
IS NULL | 为空 |
IS NOT NULL | 不为空 |
AND 或 && | 并且 |
OR 或 || | 或者 |
NOT 或 ! | 非,不是 |
4.3.3、DQL–排序查询
1.排序查询语法
2.排序方式
注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序
4.3.4、DQL–聚合函数
1.概念
2.聚合函数分类
函数名 | 功能 |
---|---|
COUNT(列名) | 统计数量(一般选用不为null的列) |
MAX(列名) | 最大值 |
MIN(列名) | 修小值 |
SUM(列名) | 求和 |
AVG(列名) | 平均值 |
3.聚合函数语法
注意:null值不参与所有聚合函数运算
4.3.5、DQL–分组查询
1.分组查询语法
注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义
4.3.6、DQL–分页查询
1.分页查询语法
tip:
- 分页查询LIMIT是MySQL数据库的方言
- Oracle分页查询使用rownumber
- SQLServer分页查询使用top