前言
检索数据,是我们日常在使用MySQL数据库时最常使用的。
这篇文章的内容,是之前对这部分学习的一些总结。
内容
基础检索
SELECT
语法用于从一个或多个表中检索指定的行。
FROM
子句用于指定SELECT
所要检索的表。
使用上两者,我们就得到了检索语句的基础骨架。
# column_name: 结果集包含的列名
# table_name: 所检索的表名称
SELECT [column_name] FROM [table_name];
复制代码
上面的例子是我们数据检索的一个常用的语句骨架,它是针对某个表的单个列的检索。
除此之外,还支持对多列和全部列的检索。
-
多列:使用逗号将每个列名分隔;
-
全部列:使用通配符星号 ( * )指代表中的全部列;
# 检索表的多个列
SELECT [column_name_1], [column_name_2] FROM [table_name];
# 检索表的全部列
SELECT * FROM [table_name];
复制代码
应该只检索所需要的列,不要贪图方便直接使用通配符星号( * ),对语句的性能提升有一定的好处。
使用别名
AS
关键词能够给检索出来的结果集的列定义别名,这个别名会替换结果集的列名。
# column_alias: 列别名
# 给列定义别名
SELECT [column_name] AS [column_alias] FROM [table_name];
复制代码
除了定义列的别名,还能定义表的别名。
# table_alias: 表别名
#给表定义别名
SELECT [table_alias].[column_name] FROM [table_name] AS [table_alias];
复制代码
别名的合理使用能够让我们所书写的语句更加的直观化和语义化。
去重
DISTINCT
关键字用于行去重,得到每个都不同的行。例如:计算产品表省份列的列表,这个列表需要去除重复(可能多个产品一个省份)。
SELECT DISTINCT [column_name] FROM [table_name];
复制代码
其实,ALL
是这个功能位的默认关键词,不使用DISTINCT
关键词的时候,ALL
会默认添加上。
# ALL为默认
SELECT ALL [column_name] FROM [table_name];
# 等同于
SELECT [column_name] FROM [table_name];
复制代码
资料参考
-
《MySQL必知必会》
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END