SQL作为一种广泛使用的数据库查询语言,在数据科学领域占据着不可或缺的地位。自20世纪70年代引入以来,它已成为关系型数据库的标准查询语言。随着数据存储技术的演进,尽管数据的多样性和体量日益增加,关系型数据库依然在各行各业中得到广泛应用。企业现在结合使用SQL和NoSQL数据库,以期从两种技术中获得最佳效果。如果对数据管理和数据分析感兴趣,学习SQL是必须掌握的技能。
根据Glassdoor的数据,SQL开发者在美国的平均年薪为8万美元。因此,如果对数据科学家、数据分析师或SQL开发者的职业感兴趣,SQL是简历上必须添加的技能。
对于刚入行的人来说,学习SQL会面临一些挑战。本文将讨论这些挑战,并提供一个学习路线图。假设每周学习约10小时,以下是4周内学习SQL的路线图。
学习SQL,需要关注三种主要类型的SQL命令:
数据操作语言(DML):如其名,DML用于操作数据库中的数据,主要包括SELECT、INSERT、UPDATE和DELETE语句。
数据定义语言(DDL):DDL命令用于设计和修改数据库结构,CREATE、ALTER和DROP语句属于这一类。
数据控制语言(DCL):DCL语句用于授予存储在数据库中数据的访问权限级别。GRANT和REVOKE语句用于控制数据库中用户的访问级别。
现在已经了解了4周内需要覆盖的主题,让从第1周开始。为了获得最佳效果,建议每周至少投入10小时。
在这一周,将熟悉数据库并在机器上设置SQL。将学习SQL的基础知识,并了解如何使用SQL操作数据。还将学习不同类型的数据库以及SQL数据库的ACID属性。
还将在机器上设置SQL,免费SQL课程提供了完整的安装指南。也可以使用任何在线SQL编辑器来练习SQL。最后,将学习如何通过执行数据库上的SELECT语句来执行基本查询,使用WHERE、Order By、Group By、Having和条件语句等。
因此,在第1周末,将理解数据库,并且能够查询和操作单个表中的数据。
在第二周,将学习如何在SQL中使用多个表。将学习关于键的知识,包括主键和外键,以及它们与表的关系。还将学习不同类型的连接,以及如何在SQL中使用它们。最后,将学习子查询和如何使用聚合函数,如SUM、AVG、MAX、MIN和COUNT。
作为一名SQL开发者,必须知道如何使用多个表。掌握这一点的唯一方法是通过实践。在涵盖连接和子查询等主题后,建议在喜欢的任何在线资源上进行实践。对于那些不知道的人,一些实践资源包括hackerrank.com和w3schools.com。
在第3周,将学习如何使用CRUD操作创建和管理数据库及表。将学习如何创建数据库、创建表、插入记录以及从这些表中检索记录。然后将学习如何根据需要更新和删除记录。还将学习关于约束的知识,这是创建表时需要理解的关键概念。这些步骤在SQL中被称为CRUD操作。
在上周学习了键的概念,这周将能够创建数据库,将能够创建带有适当约束的表,并将数据插入这些表中。到第3周末,可以创建一个合适的数据库。
第3周总结: