MySQL基础-执行顺序

73 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第13天,点击查看活动详情 QQ截图20221013152317.png

验证:

查询年龄大于15的员工姓名、年龄,并根据年龄进行升序排序。

  • select name , age from emp where age > 15 order by age asc; QQ截图20221013152538.png

在查询时,我们给emp表起一个别名 e,然后在select 及 where中使用该别名。

  • select e.name , e.age from emp e where e.age > 15 order by age asc; QQ截图20221013152853.png
  • 执行上述SQL语句后,我们看到依然可以正常的查询到结果,此时就说明: from 先执行, 然后 where 和 select 执行。那 where 和 select 到底哪个先执行呢?
  • 此时,此时我们可以给select后面的字段起别名,然后在 where 中使用这个别名,然后看看是否可 以执行成功。
  • select e.name ename , e.age eage from emp e where eage > 15 order by age asc; QQ截图20221013210330.png
  • 结果执行成功。 那么也就验证了: order by 是在select 语句之后执行的。
  • 综上所述,我们可以看到DQL语句的执行顺序为: from ... where ... group by ... having ... select ... order by ... limit ...

DCL

  • DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访 问权限。

管理用户

查询用户

  • select * from mysql.user;
  • QQ截图20221013211118.png
  • 其中 Host代表当前用户访问的主机, 如果为localhost, 仅代表只能够在当前本机访问,是不可以 远程访问的。 User代表的是访问该数据库的用户名。在MySQL中需要通过Host和User来唯一标识一 个用户。