数据库-基础篇-3-SQL-DQL、DCL

·DQL是用来查询数据库中表的记录

查询关键字:select

DQL-语法  

·基本查询 :

·DQL-基本查询

①查询多个字段

select 字段1,字段2,字段3... from 表名;(查询某些字段)

select *from 表名;(查询所有字段)

②设置别名

select 字段1 [AS 别名1],字段2 [AS 别名2]...from 表名; (其中那个AS可以省略)

③去除重复记录

select distinct 字段列表 from 表名;

·DQL-条件查询

1.语法

select 字段列表 from 表名 where 条件列表;

2.条件

·DQL-聚合函数 

1.介绍:将一列数据作为一个整体,进行纵向计算。

2.常见聚合函数:(是作用到某一列的)

函数功能
count统计数量
max最大值
min最小值
avg平均值
sum求和

3.语法: 

select 聚合函数(字段列表) from 表名;

注意:null值不参与所有聚合函数运算。

·DQL-分组查询

1.语法:

select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];

解释一下,分组查询要用到group by ,比如分年龄,就group by age,分组前的条件如例3分组前是先查询年龄小于25的员工,所以where age<25,分组后条件是员工数量大于等于3的,所以having count(*)>=3。from前的字段列表就是据的什么分组然后逗号算什么,如例3,据工作地址所以workaddress,算数量即count(*)。 

2.where与having区别:

①执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。

②判断条件不同:where不能对聚合函数进行判断,而having可以。

 注意:

·执行顺序:where>聚合函数>having

 ·分组之后,查询的字段一般为聚合函数和分组字段,查询其它字段无任何意愿

·DQL-排序查询

1.语法:

select 字段列表 from表名 order by 字段1 排序方式1,字段2 排序方式2;

2.排序方式:

 ·ASC:升序(默认值)

 ·DESC:降序

注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。

 

·DQL-分页查询

1.语法:

select 字段列表 from 表名 limit 起始索引,查询记录数;

注意:

·起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数

·分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是limit

·如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10

·DQL-案例练习

 

·DQL-执行顺序 

 ·DQL-总结

小总结:

条件用where;分组用group by;排序用order by;分页用limit

对于条件,where 是在分了组之前过滤,having是在分了组之后过滤

·DCL--用来管理数据库用户、控制数据库的访问权限

1.查询用户:

use mysql;

select * from user;

2.创建用户:

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

3.修改用户密码:

alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';

4.删除用户:

orop user '用户名'@'主机名';

注意:

·主机名可以使用%通配

·这类SQL开发人员操作较少,主要是DBA(数据库管理员)使用

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值