DML DQL DCL
目录
DML数据操作语言
添加数据
给指定的字段添加数据
给全部字段添加数据
批量添加数据
修改数据
修改指定数据和全部数据
删除数据
删除指定数据和全部数据
DQL数据查询语言
语法结构
基础查询
查询多个字段
查询所有字段
设置别名
去除重复记录
条件查询 (WHERE)
语法
条件
聚合函数 (COUNT MAX MIN AVG SUM)
定义
常见聚合函数
语法
分组查询 (GROUP BY )
语法
WHERE 与haHAVING ving区别
排序查询 (ORDER BY)
语法
排序方式
分页查询 (LIMIT)
语法
DCL数据控制语言
用户管理
查询用户
创建用户
修改用户密码
删除用户
权限控制
常见权限
查询权限
授予权限
撤销权限
DML数据操作语言
来对数据库表中的数据进行增删改
添加数据
给指定的字段添加数据
INSERT INTO 表名(字段1,字段2,……)VALUES (值1,值2,……);
给全部字段添加数据
INSERT INTO 表名 VALUES (值1,值2,……);
批量添加数据
INSERT INTO 表名(字段1,字段2,……)VALUES (值1,值2,……),(值1,值2,……),(值1,值2,……);
INSERT INTO 表名 VALUES (值1,值2,……),(值1,值2,……),(值1,值2,……);
TIP:
- 插入数据时,指定的字段顺序要与值得顺序时一一对应的。
- 字符串和日期型数据应该包含在引号中
- 插入的数据大小,应该在字段的规定范围内
修改数据
修改指定数据和全部数据
UPDATE 表名 SET 字段1=值,字段2=值2,……[WHERE 条件];
TIP:修改语句的条件可以有,也可以没有,如果条件没有,则会修改整张表的所有数据。
删除数据
删除指定数据和全部数据
DELETE FROM 表名 [WHERE条件];
TIP:
DELETE语句的条件可以有,也可以没有,如果条件没有,则会删除整张表的所有数据。
DELETE语句不能删除某一个字段的值(可以使用UPDATE把字段设置为NULL)
DQL数据查询语言
用来查询数据库中表的记录
语法结构
- SELECT 字段列表
- FROM 表名列表
- WHERE 条件列表
- GROUP BY 分组字段列表
- HAVING 分组后条件列表
- ORDER BY 排序字段列表
- LIMIT 分页参数
(这也是DQL语句的执行顺序)
SELECT IALLDISTINCTT {* table.*|[table.field1[as alias1] [,table.field2 [as alias2]]
[, ...]] } FROM table name [as table alias ]
[left|out|inner join table name2] #联合查询
[ WHERE ...] #指定结果需满足的条件
[GROUP BY ...] #指定结果按照哪几个字段来分组
[ HAVING ...] #过滤分组的记录必须满足的次要条件
[ORDER BY...] #指定查询记录按一个或者多个条件排序
[LIMIT {[offset,] row_count | row_count OFFSET offset }] ;#指定查询的记录从哪条至哪条
基础查询
查询多个字段
SELECT 字段1,字段2,字段3…… FROM 表名;
查询所有字段
SELECT * FROM 表名;
设置别名
SELECT 字段1[AS 别名1],字段2[AS 别名2]…FROM 表名;
去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;
条件查询 (WHERE)
语法
SELECT 字段列表 FROM 表名 WHERE 条件列表;
条件
比较运算符 | 功能 |
---|---|
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
= | 等于 |
<>或 != | 不等于 |
BETWEEN...AND... | 在某个范围之内(含最大、最小值) |
IN(...) | 在IN之后的列表中的值,多选一 |
LIKE 占位符 | 模糊匹配(_匹配单个字符,%匹配任意个字符) |
IS NULL | 是NULL |
逻辑运算符 | 功能 |
---|---|
AND 或 && | 并且(多个条件同时成立) |
OR 或 || | 或者(多个条件任意一个成立) |
NOT 或 ! | 非,不是 |
聚合函数 (COUNT MAX MIN AVG SUM)
定义
将一列数据作为一个整体,进行纵向计算
常见聚合函数
函数 | 功能 |
---|---|
COUNT | 统计数量 |
MAX | 最大值 |
MIN | 最小值 |
AVG | 平均值 |
SUM | 求和 |
TIP:NULL值不参与所有聚合函数的运算。
语法
SELECT 聚合函数(字段列表) FROM 表名;
分组查询 (GROUP BY )
语法
SELECT 字段列表 FROM [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];
WHERE 与HAVING区别
- 执行时机不同: WHERE 是分组之前进行过滤,不满足WHERE 条件,不参与分组;而HAVING 是分组之后对结果进行过滤。
- 判断条件不同: WHERE 不能对聚合函数进行判断,而HAVING 可以。
TIP:
执行顺序:WHERE > 聚合函数 > having
分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义
排序查询 (ORDER BY)
语法
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式2, 字段2 排序方式2;
排序方式
ASC:升序(默认值)
DESC:降序
TIP:如果是多个字段排序,当第一个字段的值相同时,才会根据第二个字段进行排序
分页查询 (LIMIT)
语法
SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;
TIP:
- 起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数
- 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。
- 如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10。
DCL数据控制语言
用来创建数据库用户、控制数据库的访问权限
用户管理
查询用户
USE mysql;
SELECT * FROM user;
创建用户
CREATE USER '用户名@主机名' IDENTIFIED BY '密码';
修改用户密码
ALTER USER '用户名@主机名' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '新密码';
删除用户
DROP USER '用户名@主机名';
权限控制
常见权限
权限 | 说明 |
---|---|
ALL,ALL PRIVILEGES | 所有权限 |
SELECT | 查询数据 |
INSERT | 插入数据 |
UPDATE | 修改数据 |
DELETE |
删除数据 |
ALTER | 修改表 |
DROP | 删除数据库/表/视图 |
CREATE |
创建数据库/表 |
查询权限
SHOW GRANTS FOR '用户名@主机名';
授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名@主机名';
撤销权限
REVOKE 权限列表 ON 数据库名.表名 TO '用户名@主机名';
TIP:
多个权限之间使用逗号分隔
授权时,数据库名和表名可以使用*进行通配,代表所有
DML DQL DCL相关推荐
- Python|SQL详解之DDL|DML|DQL|DCL|索引|视图、函数和过程|JSON类型|窗口函数|接入MySQL|清屏|正则表达式|executemany|语言基础50课:学习(14)
文章目录 系列目录 原项目地址 第41课:SQL详解之DDL 建库建表 删除表和修改表 第42课:SQL详解之DML insert操作 delete 操作 update 操作 完整的数据 第43课:S ...
- SQL分类:DDL/DML/DQL/DCL以及作用
sql分类 1 DDL(Data Definition Language:数据库定义语言,操作数据库,表(创建,删除,修改)) 2 DML(Data Manipulation Language:数据库 ...
- dml语句包括哪些_聊聊MySQL基本操作DDL,DML,DQL,DCL
本篇文章来回顾一下MySQL的基本操作之DDL,DML,DQL,DCL,每种操作都有各自不同的语法,常用的操作汇总如下. 一.DDL-数据定义语言 作用:数据定义语言主要用来定义数据库中的各类对象,包 ...
- MySql基础汇总-DDL DML DQL DCL,存储过程,事务,触发器,函数等
use testdb;-- /**********************************************一:数据库操作语言****************************** ...
- MySQL 的DDL DML DQL DCL细节解析 知道这些就够了
SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data Definition Language) 对象: 数据库和表 ...
- DDL,DML,DQL,DCL概念
SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE ...
- 浅析 ddl,dml,dql,dcl 概念定义
DDL(Data Definition Language)语句: 数据定义语言,主要是进行定义/改变表的结构.数据类型.表之间的链接等操作.常用的语句关键字有 CREATE.DROP.ALTER 等. ...
- 如何管理和使用哪些命令操作MySQL数据库?(基本操作,SQL语言,DDL,DML,DQL,DCL,Windows字符和图形界面MySQL安装)
文章目录 前言 一:数据库基本操作命令 1.1:MySQL常用管理操作是哪些? 1.2:查看数据库列表信息的命令是? 1.3:查看数据库中的数据表信息命令是? 1.4:显示数据表的结构(字段)命令是? ...
- Mysql的DDL DML DQL DCL
m代表长度(1-65) d代表保留少数位(0-30) 整数型 tinyint(m)1字节 取值范围(-128-+127) int(m)4字节 取值范围(大概20几亿) 浮点型 double(m,d)8 ...
- ddl/dml/dql/dcl
DML(Data Manipulation Language)数据操纵语言:(报1) 适用范围:对数据库中的数据进行一些简单操作,如insert,delete,update,call,select等. ...
最新文章
- Python并行编程(八):with语法
- Scala中Case Class使用详细解析
- 一些带dga域名的恶意软件
- 探秘Java中String、StringBuilder以及StringBuffer
- NameError: name 'url' is not defined django
- Java数组队列ArrayQueue
- python-object-twoxml-html_1
- Python 手把手实现远程控制桌面
- Futter基础第10篇: 实现替换路由、返回到根路由
- between and 查询会用到索引吗_这次是真拯救了我,MySQL索引优化,explain讲得非常清楚了...
- OpenJDK8:只有x86和sparcv9才能出32位的版本
- js的tree数组对象扁平化思否_JavaScript数组_二维数组_三维数组(二十五)
- 按学号查找学生信息 用c语言表达,学生信息管理系统C语言编程.docx
- JavaWeb-16 (E家园项目案例1)
- 如何在 vscode 中更换炫酷的背景图
- opensuse12.2 KDE 使用环境配置
- 【U8】固定资产模块卡片管理栏目设置中没有“凭证号”栏目
- Android 拍摄(横\竖屏)视频的懒人之路
- 实际记录vue3中使用rrweb以及rrweb-player组件实现网页录屏和回放功能,还有遇到的问题和解决思考
- Linux GIC代码分析