前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL系列之基础查询

MySQL系列之基础查询

作者头像
数据山谷
发布2020-12-22 11:28:54
发布2020-12-22 11:28:54
96000
代码可运行
举报
文章被收录于专栏:数据山谷数据山谷
运行总次数:0
代码可运行
前言

前面几篇分别介绍了安装,可视化软件,数据库简介以及字段类型和约束,本篇文章开始正式开始查询语句的讲解。

内容介绍

本篇文章主要讲解SQL查询基础语法以及其中的一些关键字的用法,其中包括:select,from,where,group by,order by,limit等。

此处强调一句:每句SQL语句的结尾必须以英文分号;或者\g结尾。

select A from B where C;

代码语言:javascript
代码运行次数:0
运行
复制
select A from B where C;

此语法是遵循SQL标准的数据库中都会使用的,这个SQL语句实现了从哪个表查询出满足什么条件的数据,最终展示出来的是这些数据中的哪些字段。

其中from B表示从表名为B的数据表中取数据,

where C表示取出的数据需需要满足C这个条件,

select A表示最终展示的字段是A。

select取出不同的字段数据

代码语言:javascript
代码运行次数:0
运行
复制
select * from info;

这个语句是最最简单的一个查询语句,上面已经说过了from info表示的是从info这个个数据表中获取数据,而 * 在SQL语句中表示获取全部的字段,所以我们在需要一个表中的全部信息的时候就可以使用该语句。

代码语言:javascript
代码运行次数:0
运行
复制
select name from info;
select name, age from info;

这两个SQL语句都是从数据表info中获取单个或多个字段,此处需要注意的是select后面写的是需要获取的字段名,如果是多个字段,字段名和字段名之间需要以英文逗号隔开。

此种没有任何限制的SQL语句会把info表中所有的数据展示出来,但是如果指向展示前多少行就需要用到下面的limit。

limit

limit的作用是限制查询结果返回的数量,常用于分页查询,比如说现在info表中一共有1000行数据,但是我仅仅想查询显示出10行,这个时候我们就可以使用limit,语法如下:

代码语言:javascript
代码运行次数:0
运行
复制
-- limit语法
select * from table_name limit i,n;
-- 例子
select name from info limit 10;

limit后面的参数有两个,第一个参数可以省略不写,如果不写就是默认从第一行开始取出10行。如果limit后面两个参数都写的话,如下行代码:

代码语言:javascript
代码运行次数:0
运行
复制
select name from info limit 2,5;

这个SQL语句表示的是查询5条数据,从下标为2的这一条数据开始,也就是第三条数据开始的5条数据。

limit是针对查询结果进行限制,但是如果想筛选出来符合条件的数据就需要使用where

where

如果需要有条件的从数据表中选取数据,就可以使用where。语法如下:

代码语言:javascript
代码运行次数:0
运行
复制
select * from table_name where 条件;

where后面的条件中可以使用下面的操作符:

操作符

描述

=

等于

!=

不等于

>

大于

<

小于

>=

大于等于

<=

小于等于

between and

在某个范围内

like

模糊查询

例子:查询姓名为张三的所有信息

代码语言:javascript
代码运行次数:0
运行
复制
select * from info where name='张三';

group by A having B

group by的作用是根据一个或者多个列进行分组,为了大家更好的理解,我们直接上图:现有以下数据

现在想得出每个人对应的总金额,我们就可以使用group by来对客户进行分组,然后对金额进行求和。group by的作用类似于下图

但是MySQL中没有办法输出这样的结果,所以如果想输出,我们需要把后面的price进行求和。

在MySQL中,如果需要求和我们可以使用函数sum(),函数的具体用法会单独写成一篇文章来讲解,咱们来看下SQL语句的写法

代码语言:javascript
代码运行次数:0
运行
复制
select name, sum(price) from info group by name;

having语句通常是和group by语句联合使用,用来过滤group by语句返回的结果集。此处需注意,where不可以筛选分组后的内容。

例子:用户购买总金额超过130的用户

代码语言:javascript
代码运行次数:0
运行
复制
select name, sum(price) from info 
group by name having sum(price) > 130;

order by

order by语句用于根据指定的列对select输出的结果进行排序,

order by语句有两个参数 asc和desc,默认排序规则是从小到大,也就是asc,如果需要从小到大可以省略,从大到小则是desc,如果需要一定要指定。

-- 例子:以info表中的id字段进行从大到小排序。

代码语言:javascript
代码运行次数:0
运行
复制
select * from info order by id desc;

总结

本篇介绍了SQL查询语句中最基础的几个语句的用法,语句的用法一定要多练,孰能生巧,另外再次强调:每句SQL语句的结尾必须以英文分号;或者\g结尾。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据山谷 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档