MySQL---DML&DQL&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:

多个权限之间使用逗号分隔

授权时,数据库名和表名可以使用*进行通配,代表所有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值