SQL 入门笔记(二)检索数据
这一节将介绍如何使用 SELECT
语句从表中检索一个或多个数据列
连接MySQL
后,首先进入我们的样例数据库
1 | USE test; |
检索单个列
使用 SELECT ... FROM ...;
结构来检索单个列
1 | SELECT prod_name |
可以看见,数据内容已经检索成功(prod_name
那一列)
说明:未排序数据
如果没有规定排序,那么返回的数据可能没有特定的顺序。可能是按照插入的顺序返回,也可也能不会。只要返回相同数目的行,就是正常的。
提示:别漏了分号
多条SQL
语句必须以英文分号(;
)分隔。多数DBMS
不需要在单条SQL
语句后加分号,但加上分号也没有坏处,为了养成习惯,应当始终记得加上分号。
提示:使用空格
在处理SQL
语句时,其中的所有空格都会被会忽略,因此下面的 3 种写法是相同的
1 | SELECT prod_name |
多数SQL
开发人认为,加SQL
语句分成多行更容易阅读和调试
检索多个列
使用逗号分隔各个列即可
1 | SELECT prod_id, prod_name, prod_price |
检索所有列
可以通过使用星号(*
)做到这点
检索不同的值
直接使用SELECT
语句将返回所有的行
但如果你需要去重,则可以使用DISTINCT
关键字
注意:不能部分使用 DISTINCT
DISTINCT
关键字作用于所有的列,而不仅仅是跟在后面的那一列
限制结果
SELECT
默认返回所有的行,但如果你只想返回第一行或一定数量的行,该怎么办呢?
在各种数据库软件中的做法是不同的,这里以MySQL
系列举例
1 | SELECT prod_name |
当然,你还可以使用OFFSET
指定从哪儿开始
1 | SELECT prod_name |
注意:第 0 行
第一个被检索的行是第0行,而不是第1行
因此,LIMIT 1 OFFSET 1
会检索第2行,而不是第1行
技巧:缩写
LIMIT y OFFSET x
可以缩写成LIMIT x,y
(注意是反着的,可以记忆为从第x
行返回y
列)
注释
大多数数据库都支持下面三种注释:
- 两个连字符单行注释(
--
) - Linux风格的单行注释(
#
),但是某些DBMS
不支持 - C/C++风格注释的多行注释(
/* */
)
评论
GiscusTwikoo