Mysql第四章 - 检索数据SELECT

2024-03-11  本文已影响0人  足__迹

SELECT语句

检索单个列

输入

SELECT mo.main_order_no FROM main_order mo

输出


查询结果.png

SQL语句不区分大小写,因此SELECT与select是相同的。同样,写成Select也没有关系。许多SQL开发人员喜欢对所有SQL关键字使用大写,而对所有列和表名使用小写,这样做使代码更易于阅读和调试。

检索多个列

输入

SELECT mo.main_order_no,mo.order_status,mo.payment_status FROM main_order mo

输出


多列数据.png

SQL语句一般返回原始的、无格式的数据。数据的格式化是一个表示问题,而不是一个检索问题。因此,表示(对齐和显示上面的价格值,用货币符号和逗号表示其金额)一般在显示该数据的应用程序中规定。一般很少使用实际检索出的原始数据(没有应用程序提供的格式)。

检索所有列

SELECT语句还可以检索所有的列而不必逐个列出它们。这可以通过在实际列名的位置使用星号(*)通配符来达到
输入

select * FROM main_order

输出:


所有列数据.png

注释:

1,如果给定一个通配符(),则返回表中所有列。列的顺序一般是列在表定义中出现的顺序。但有时候并不是这样的,表的模式的变化(如添加或删除列)可能会导致顺序的变化。
2,一般,除非你确实需要表中的每个列,否则最好别使用
通配符。虽然使用通配符可能会使你自己省事,不用明确列出所需列,但检索不需要的列通常会降低检索和应用程序的性能。

检索不同的行(去重)-DISTINCT

举例;查询患者库中的患者名称,当前会查出所有的测试 张大仙
输入:select person_name FROM person
输出:


例1.png

举例;只查询表中,只想得出患者名称为【测试】的商品名称 推荐关键词DISTINCT

输入:SELECT DISTINCT person_name FROM person
输出:


image.png

注释

1, SELECT DISTINCT person_name 告诉MySQL只返回不同(唯一)的行,如果使用DISTINCT关键字,它必须直接放在列名的前面。
2,不能部分使用DISTINCT DISTINCT关键字应用于所有列而不仅是前置它的列。如果给出SELECT DISTINCT 字段1 ,字段2,除非指定的两个列都不同,否则所有行都将被检索出来。

限制结果 -LIMIT

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

特别注意

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

上一篇下一篇

猜你喜欢

热点阅读