SQL简介
- 英文: Structured Quary Language, 简称 SQL
- 结构化查询语言,一门操作关系型数据库的编程语言
- 定义操作所有的关系型数据库的统一标准
- 定义同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”
SQL通用语法
1.SQL语句可以单行或多行书写,以分号结尾
2.MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写
3.注释:
单行注释:-- 注释内容 或 #注释内容(MySQL 特有)
多行注释:/* 注释 */
SQL 分类
- DDL(Data Definition Language)数据定义语言,用于定义数据库对象:数据库、表、列等
- DML(Data Manipulation Language)数据库操作语言,用于对数据库中的表的数据进行增删改
- DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录(数据)
- DCL(Data Control Language)数据控制语言,用于定义数据库的访问权限和安全级别,及创建用户
DDL
DDL 操作数据库
-
查询
-
创建
-
创建数据库
-
创建数据库(判断,如果不存在则创建)
-
-
删除
-
删除数据库
-
删除数据库(判断,如果存在则删除)
-
-
使用数据库
-
查看当前使用的数据库
-
使用数据库
DDL操作表
-
-
查询表
-
查询当前数据库下所有表名称
-
查询表结构
-
-
创建表
注意:最后一行末尾,不能加逗号。 -
数据类型
- MySQL 支持多种数据类型,可以分为三类:
- 数值
- 日期
- 字符串
- MySQL 支持多种数据类型,可以分为三类:
-
删除表
-
删除表
-
删除表时判断表是否存在
-
-
修改表
-
修改表名
-
添加一列
-
修改数据类型
-
修改列名和数据类型
-
删除列
-
DML
DML 添加数据
-
给指定列添加数据
-
给全部列添加数据
-
批量添加数据
DML修改数据
- 修改表数据
注意:修改语句中如果不加条件,则将所有数据都修改!
DML删除数据
- 删除数据
注意:删除语句中如果不加条件,则将所有数据都删除
DQL
查询语法
基础查询
-
查询多个字段
-
去除重复记录
-
起别名
条件查询
-
条件查询语法
-
条件
排序查询
-
排序查询语法
-
排序方式:
- ASC: 升序排列(默认值)
- DESC:降序排列
注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序
聚合函数
-
概念:
- 将一列数据作为一个整体,进行纵向计算。
-
聚合函数分类
-
聚合函数语法
注意:null 值不参与所有的聚合函数运算
分组查询
-
分组查询语法
注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义 -
where 和 having 区别:
- 执行时机不一样:where是分组之前进行限定,不满足 where条件,则不参加分组,而 having 是分组之后对结果进行过滤。
- 可判断的条件不一样: where 不能对聚合函数进行判断, having 可以
执行顺序: where > 聚合函数 > having
分页查询
-
分页查询语法
- 起始索引: 从 0 开始