MYSQL必知必会(二)检索,限制,排序

本文详细介绍了使用MYSQL进行数据检索的各种技巧,包括展示数据库、表和表列,如何检索单个、多个或所有列的数据,以及如何检索不同的行。同时,文章还讲解了如何使用LIMIT子句限制结果数量,以及如何使用ORDER BY子句对检索到的数据进行排序,包括按单个列、多个列排序,并指定排序方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用MYSQL

展示数据

SHOW DATABASES;

展示表

SHOW TABLES;

展示表列

SHOW COLUMNS FROM customers;
DESCRIBE customers;#上一句的快捷方式

检索数据

为了使用SELECT检索表数据,必须至少给出两条信息

  1. 想选择什么
  2. 从什么地方选择

检索单个列

SELECT prod_name
FROM products;

检索多个列

SELECT prod_name,prod_name,prod_price
FROM products;

检索所有列

SELECT *
FROM products;

检索不同的行

SELECT distinct vend_id
FROM products;

不能部分使用DISTINCT
DISTINCT关键字应用于所有列而不仅是前置它的列。如果给出SELECT DISTINCT vend_id, prod_price,除非指定的两个列都不同,否则所有行都将被检索出来

限制结果

SELECT语句返回所有匹配的行,它们可能是指定表中的每个行。
为了返回第一行或前几行,可使用LIMIT子句

SELECT prod_name
FROM products
LIMIT 5; ##LIMIT 5指示MySQL返回不多于5行

为得出下一个5行,可指定要检索的开始行和行数
LIMIT 数字1,数字2:第一个数为开始位置,第二个数为要检索的行数

SELECT prod_name
FROM products
LIMIT 5,5;## LIMIT 5, 5指示MySQL返回从行5开始的5行
  1. 行0
    检索出来的第一行为行0而不是行1。因此,LIMIT 1, 1将检索出第二行而不是第一行。
  2. 在行数不够时
    LIMIT中指定要检索的行数为检索的最大行数。如果没有足够的行(例如,给出LIMIT 10, 5,但只有13行),MySQL将只返回它能返回的那么多行

使用完全限定的表名

SELECT products.prod_name
FROM products;##表名也可以限定

排序检索数据

按单个列排序

SELECT prod_name
FROM products
ORDER BY prod_name;

按多个列排序

SELECT prod_id,prod_price,prod_name
FROM products
ORDER BY prod_price,prod_name;##先按照价格排序,再按照名字进行排序

指定排序方向

SELECT prod_id,prod_price,prod_name
FROM products
ORDER BY prod_price DESC;##降序排列,贵的在前面,默认为ASC升序

在多个列上降序排序
如果想在多个列上进行降序排序,必须对每个列指定DESC关键字

ORDER BY 与LIMIT结合

使用ORDER BY和LIMIT的组合
能够找出一个列中最高或最低的值。

SELECT prod_price
FROM products
ORDER BY prod_price DESC
LIMIT 1;##找出最贵的,告诉mysql只返回一行

注: 在给出ORDER BY子句时,应该保证它位于FROM子句之后。如果使用LIMIT,它必须位于ORDER BY之后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值