13.2 体验SQL

13.1.2节中描述的所有RDMS的名称中都有“SQL”的原因是,它们都使用相同的SQL语法来操作存储在数据库中的数据。SQL(结构化查询语言)是一种用于查询(访问)数据库的结构化编程语言,专门用于管理关系数据库中的数据。SQL提供了一组相对较小的命令(称为语句)集,每个命令都用于与数据库交互(类似于dplyr使用的数据操作语法中描述的操作)。

本节介绍最基本的SQL语句:用于访问数据的SELECT语句。注意,完全可以不使用SQL而通过R访问和操作数据库,可参阅13.3节。但是,这对了解R操作的底层命令通常很有用。此外,如果最终需要与其他人讨论数据库操作,SQL将提供一些共同的基础。

警告:大多数RDMS都支持SQL,尽管系统的SQL“风格”通常稍有不同。例如,数据类型的命名可能不同,或者不同的RDMS可能支持某些特有的功能或特性。

技巧:为了更全面地介绍SQL,w3schools[1]为新手提供了一个非常友好的关于SQL语法和用法的教程。还可以在Forta,Sams Teach Yourself SQL in 10 Minutes,第4版(Sams,2013)和van der Lans,Introduction to SQL,第4版(Addison-Wesley,2007)中找到更多相关信息。

最常用的SQL语句是SELECT语句。SELECT语句是一个查询语句,用于访问和提取数据库中的数据(不修改该数据)。它与dplyr中的select()函数执行相同的工作。SELECT语句最简单的使用格式如下:

(SQL中,注释单独占一行并且用/**/括起来。)

上述查询将返回指定表中指定列的数据(SQL中像SELECT这样的关键字通常所有字母都用大写,尽管它们不区分大小写,而列名和表名通常用小写)。例如,下面的语句将从songs表的title列返回所有数据(如图13-3所示): ...

Get 数据科学之编程技术:使用R进行数据清理、分析与可视化 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.