数据库MySQL(三):DML、DQL、DCL

数据操作语言(Data Manipulation Language,DML)
该语言主要对数据库表中的数据进行增删改

# 给指定字段添加数据
INSERT INTO 表名 (字段1, 字段2, ... ) VALUES (1,2, ...) ;    

# 给全部字段添加数据
INSERT INTO 表名 VALUES (1,2, ...) ;    

# 批量添加数据 
INSERT INTO 表名 VALUES (1,2, ...),  (1,2, ...),  (1,2, ...) ;   

# 修改某条件下的数据(无条件全部修改)
UPDATE 表名 SET 字段1=1 [ , 字段2=2, ... ]  [ WHERE 条件 ] ;    

# 删除某条件下的数据
DROP FROM 表名 [WHERE 条件] ;    

# 在对字符串和日期型数据操作时,应包含在引号中。


数据查询语言(Data Query Language,DQL)
该语言主要用于查询数据库表的记录

命令格式

SELECT [DISTINCT]
   字段1 [AS 字段别名], [字段2 [AS 字段别名]], …
FROM
   表名列表
WHERE
   条件查询语句
GROUP BY
   字段1 [ , 字段2, … ]
HAVING
   分组后过滤条件
ORDER BY
   字段1 ASC|DESC [ , 字段2** ASC|DESC** , … ]
LIMIT
   起始索引( = (查询页码-1) * 每页显示记录数 ), 查询记录数

条件查询

比较运算符功能
<、<=、=、>、>=常规比较
<>、!=不等于
BETWEEN … AND …在某个范围之内,含最小、最大值
IN(…)在 IN 之后的列表中的值,多选一
LIKE 占位符模糊匹配(_ 匹配单个字符;% 匹配任意个字符)
IS NULL判断是否为NULL

逻辑运算符功能
AND、&&并且,多个条件同时成立
OR、
NOT、!非,不是

比较运算符功能
<、<=、=、>、>=常规比较
<>、!=不等于
BETWEEN … AND …在某个范围之内,含最小、最大值
IN(…)在 IN 之后的列表中的值,多选一
LIKE 占位符模糊匹配(_ 匹配单个字符;% 匹配任意个字符)
IS NULL判断是否为NULL

聚合函数功能
COUNT求组中项数,返int类型整数
MAX/MIN求最大值/最小值
AVG求组中值的平均值
SUM返回表达式中所有值的和
VAR返回给定表达式中所有值的统计方差
! NULL值不参与所有聚合函数的运算

WHERE 和 HAVING的区别
  • 执行时机不同:where是分组之前进行过滤,不满足where条件的记录不参与分组;而having是分组之后对结果进行过滤;
  • 判断条件不同:where不能对聚合函数进行判断;而having可以。
  • 执行顺序:where > 聚合函数 > having
DQL语句关键字执行顺序

FROM --> WHERE --> GROUP BY --> HAVING --> SELECT --> ORDER BY --> LIMIT


数据控制语言(Data Control Language,DCL)
该语言主要用于管理数据库用户、控制数据库的访问权限。

# 查询指定数据库的用户
select * from 数据库名.user;

# 创建用户
create user '用户名'@'主机名' identified by '密码';

# 修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
  
# 删除用户 
drop user '用户名'@'主机名';

# !注意事项:
# 在MySQL中需要通过 用户名@主机名的方式,来唯一标识一个用户;
# 主机名可以使用 % 通配符来表示任意主机;

# MySQL中常用的权限主要有:
allselectinsertupdatedeletealterdropcreate

# 查询指定用户的权限
show grants for '用户名'@'主机名';        
                              
# 授予指定用户相应的权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';    
      
# 撤销指定用户相应的权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';    


数据库MySQL(一):基础知识
数据库MySQL(二):DDL数据定义语言
数据库MySQL(三):DML、DQL、DCL
数据库MySQL(四):表中字段约束和外键约束
数据库MySQL(五):多表查询
数据库MySQL(六):事务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值