MySQL-检索

检索两要点:

  1. 检索什么
  2. 从哪里检索

语法就是

SELECT 列名        #检索哪一列
FROM 表           #从哪张表检索

现在有一个表,名为products。我们看一下这张表里有哪些列(字段)

 DESCRIBE products;

这里写图片描述

看到有vend_id列(供应商id),好,现在来看看这一列是什么样的

SELECT vend_id
FROM products;

这里写图片描述

可以看到vend_id列中的数据,你会发现里面有很多重复的供应商id,现在我想看看总共有几个供应商,用DISTINCT关键字来过滤掉重复的数据

SELECT DISTINCT vend_id
FROM products;

这里写图片描述

发现供应商一共就4家。

注意:DISTINCT不能部分运用,如果是置于多个列名前

SELECT DISTINCT vend_id, prod_name
FROM products;

DISTINCT将会过滤的是两列都相同的数据,一个列数据相同,另一个不同,则当做不同。把这两列当成一个元组来看(vend_id, prod_name)。

以上都是检索单个列的,那么能不能检索多个列呢??
很简单,列名之间加逗号就行,不过最后一个列名不要加,否则报错

SELECT prod_id, vend_id, prod_name
FROM products

这里写图片描述

当然,如果你想看下整张表的内容,可以使用通配符*

SELECT *
FROM products;

Tips:

  • SQL不区分大小写,但是习惯上,关键字要大写,列名和表名小写
  • SQL语句会省略空行,因此为了阅读体验,建议像上面那样多行书写
  • SQL语句结尾用分号;
  • 由于上面都没有按照某种顺序检索,因此得出的数据的顺序是没有意义的

上面我们检索列的时候都是把该列所有行都检索出来,但其实我们可以选择其中的一部分行来检索。使用LIMIT关键字就能实现部分检索

SELECT vend_id
FROM products
LIMIT 5

这里写图片描述

显示一共输出了5行,但是这是从行0(即第一行)开始的。我们是可以选择开始行的。LIMIT 5 == LIMIT 0,5 意为从行0开始的5行

格式: LIMIT 开始行, 行数

如果我们检索超过最大行数会怎样?不怎么样,超过部分直接忽略,最大多少就是多少。比如一共13行,现在从行10取5行LIMIT 10, 5
但实际上得到的只能是行10,行11,行12 这三行,而不是5行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值