Mysql必知必会 检索数据

检索数据

SELECT 语句

为了使用SELECT检索表数据,必须至少给出两条信息——想选择什么,以及从什么地方选择

功能 语句 备注
检索单个列 SELECT col_1 FROM table_name 从table_name表中检索出col_1列
检索多个列 SELECT col_1, col_2 FROM table_name (列名之间用逗号分隔) 从table_name表中检索出col_1和col_2列
检索所有列 SELECT * FROM table_name 检索table_name表中的所有列;
检索不同的行 SELECT DISTINCT col_1 FROM table_name 只返回不同(唯一)的col_1行(如果使用DISTINCT关键字,它必须直接放在列名的前面。)

关于通配符

除非你确实需要表中的每个列,否则**最好别使用*通配符**。检索不需要的列通常会降低检索和应用程序的性能。

检索未知列

使用通配符有一个大优点。由于不明确指定列名(因为星号检索每个列),所以能检索出名字未知的列。

不能部分使用DISTINCT

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

限制返回结果

功能 语句 备注
限制返回前几行 SELECT col_1 FROM table_name LIMIT 5 返回前5行
限制返回指定行开始的前几行 SELECT col_1 FROM table_name LIMIT 5 返回行5(第六行)开始的前5行
LIMIT 4 OFFSET 3 从行3开始取4行( MySQL 5支持LIMIT的另一种替代语法)

行0

检索出来的第一行为行0而不是行1。因此,LIMIT 1, 1
将检索出第二行而不是第一行。

完全限定列名和表名

使用完全限定的名字来引用列(同时使用表名和列字)。
下面用3条完全等价的语句举例子:

  1. SELECT col_1 FROM table_name
  2. SELECT table_name.col_1 FROM table_name
  3. SELECT table_name.col_1 FROM data_base.table_name

猜你喜欢

转载自www.cnblogs.com/shanbei/p/10641749.html