MySQL——数据检索

前言

检索数据,是我们日常在使用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];
复制代码

资料参考

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享