第四章 检索数据
-
SQL语句不区分大小写;多条SQL语句必须以分号(;)分隔.
-
SELECT语句:用途是从一个或多个表中检索信息。
-
检索单个列
SELECT column_name FROM table1_name;
-
检索多个列(列名间必须以逗号分隔)
SELECT column1_name,column2_name,... FROM table1_name;
-
检索所有列
SELECT * FROM table1_name;
-
-
DISTINCT关键字:直接放在列名的前面(DISTINCT关键字应用于所有列而
不仅是前置它的列),指示MySQL只返回不同的值。# 只返回不同(唯一)的column_name行 SELECT DISTINCT column_name FROM table1_name;
# 除非指定的两个列都不同,否则所有行都将被检索出来 SELECT DISTINCT column1_name,column2_name FROM table1_name;
-
LIMIT子句:可指定要检索的开始行和行数(第一个数为开始位置,第二个数为要检索的行数)
# LIMIT 5指示MySQL返回不多于5行(即第0行到第4行共5行结果) SELECT column_name FROM table1_name LIMIT 5;
- 行0 :检索出来的第一行为行0而不是行1。因此,LIMIT 1, 1将检索出第二行而不是第一行。
# LIMIT 5, 5指示MySQL返回从行5开始的5行。 SELECT column_name FROM table1_name LIMIT 5,5;
- 在行数不够时:LIMIT中指定要检索的行数为检索的最大行数。如果没有足够的行(例如,给出LIMIT 10, 5,但只有13行),MySQL将只返回它能返回的那么多行。
-
使用完全限定的表名
# 使用完全限定的名字来引用列(同时使用表名和列字) SELECT table1_name.column_name FROM table1_name; # 表名也可以是完全限定的 SELECT table1_name.column_name FROM database1_name.table1_name;
-
使用通配符:一般,除非你确实需要表中的每个列,否则最好别使用*通配符。虽然使用通配符可能会使你自己省事,不用明确列出所需列,但检索不需要的列通常会降低检索和应用程序的性能。
-
数据表示:SQL语句一般返回原始的、无格式的数据。数据的格式化是一个表示问题,而不是一个检索问题