MYSQL基础与高级语法重要知识点总结


前言

#博学谷IT学技术支持#
最近成功报名博学谷线上课程,先把前面的知识慢慢梳理一下。MYSQL的语法知识还是很重要的。


一、MYSQL基础语法

1、SQL分类

DDL(Data Definition Language) : 数据定义语言,用来定义数据库对象:数据库,表,列等。
DDL简单理解就是用来操作数据库,表等。

DML(Data Manipulation Language) 数据操作语言,用来对数据库中表的数据进行增删改。
DML简单理解就对表中数据进行增删改

DQL(Data Query Language) 数据查询语言,用来查询数据库中表的记录(数据)
DQL简单理解就是对数据进行查询操作。从数据库表中查询到我们想要的数据

DCL(Data Control Language) 数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户
DML简单理解就是对数据库进行权限控制。比如我让某一个数据库表只能让某一个用户进行操作等。
日常操作需要重点掌握DMLDQL

2、数据类型

MySQL 支持多种类型,可以分为三类:数值、日期和字符串。

数值:tinyint、int、double

日期:date、datetime

字符串:char、varchar

3、DML(增删改)

DML主要是对数据进行增(insert)删(delete)改(update)操作。

添加数据INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…);

修改数据UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 条件] ;

删除数据DELETE FROM 表名 [WHERE 条件] ;

4、DQL

完整语法:

	SELECT 
    字段列表
	FROM 
    表名列表 
	WHERE 
    条件列表
	GROUP BY
    分组字段
	HAVING
    分组后条件
	ORDER BY
    排序字段
	LIMIT
    分页限定

4.1基础查询

SELECT 字段列表 FROM 表名;

4.2条件查询

SELECT 字段列表 FROM 表名 WHERE 条件列表;

4.3排序查询

SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2];

上述语句中的排序方式有两种,分别是:

  • ASC : 升序排列 (默认值)
  • DESC : 降序排列

注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序

4.4聚合函数

聚合函数分类
在这里插入图片描述

SELECT 聚合函数名(列名) FROM;

4.5分组查询

SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];

注意:WHERE分组前条件限定
HAVING分组后条件过滤

4.6分页查询

SELECT 字段列表 FROM 表名 LIMIT  起始索引 , 查询条目数;
起始索引 = (当前页码 - 1) * 每页显示的条数

二、MYSQL高级语法

1、约束

  • 约束是作用于表中列上的规则,用于限制加入表的数据

  • 约束的存在保证了数据库中数据的正确性、有效性和完整性

    添加约束可以在添加数据的时候就限制不正确的数据,继而保障数据的完整性。
    非空约束: 关键字是 NOT NULL
    唯一约束: 关键字是 UNIQUE
    主键约束: 关键字是 PRIMARY KEY
    检查约束: 关键字是 CHECK
    默认约束: 关键字是 DEFAULT
    外键约束: 关键字是 FOREIGN KEY

2、多表查询

多表查询顾名思义就是从多张表中一次性的查询出我们想要的数据。

2.1内连接查询

-- 隐式内连接
SELECT 字段列表 FROM1,2WHERE 条件;

-- 显示内连接
SELECT 字段列表 FROM1 [INNER] JOIN2 ON 条件;

内连接相当于查询 A B 交集数据

2.2外连接查询

-- 左外连接
SELECT 字段列表 FROM1 LEFT [OUTER] JOIN2 ON 条件;

-- 右外连接
SELECT 字段列表 FROM1 RIGHT [OUTER] JOIN2 ON 条件;

左外连接:相当于查询A表所有数据和交集部分数据

右外连接:相当于查询B表所有数据和交集部分数据

2.3子查询

查询中嵌套查询,称嵌套查询为子查询
例如:`select * from emp where salary > (select salary from emp where name = ‘猪八戒’);

  • 子查询根据查询结果不同,作用不同
    • 子查询语句结果是单行单列,子查询语句作为条件值,使用 = != > < 等进行条件判断
    • 子查询语句结果是多行单列,子查询语句作为条件值,使用 in 等关键字进行条件判断
    • 子查询语句结果是多行多列,子查询语句作为虚拟表
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值