SQL 和 Python 哪个更容易自学?
当然是 SQL,无论是文科还是理科,这个答案都是毋庸置疑的。
看了很多回答,竟然有人说二者差不多,甚至有的回答为了博眼球说 SQL 比 Python 要难,真实误人子弟,害人不浅。
下面,就从如下几个方面说一下我的看法:
什么是 SQL?
什么是 Python?
SQL 和 Python 有什么区别?
SQL 和 Python 谁更容易?
什么是 SQL?
SQL 是结构化查询语言(Structured Query Language)的缩写,是一种以检索为主编程语言,允许开发人员在数据库中管理和检索信息,对数据进行增删改查,也可以用于创建自己的数据库。
许多行业使用关系型数据库来组织信息和存储信息,SQL 最常开发和维护这些数据库。
开发人员也可以使用 SQL 来产生快速的数据分析,进行数据分析并从广泛的数据库中检索记录。
什么是 Python?
Python 是一种通用的编码语言,这意味着你可以用它来完成各种编程任务,除了处理数据之外,还可以用于网站开发、爬虫、机器学习等领域。
当然,数据领域经常使用 Python,因为其简单的语法和在业界的受欢迎程度使其在数据分析方面要远比 C++、Java 这些语言简单很多。
由于它能够与各种平台合作,并强调可读性,Python 已经成为数据分析的首选语言之一。
由于 Python 语言通用性,许多行业都在使用用 Python 编写的软件、应用程序和程序。
SQL 和 Python 有什么区别?
SQL 和 Python 的关键区别在于,开发人员使用 SQL 主要用来访问和提取数据库中的数据,而使用 Python 除了简单的访问和提取之外,还需要通过运行回归测试、时间序列测试和其他数据处理计算来分析和操作数据。
SQL 最大的优势是它能够通过一些简单的语句在一个数据库中关联多个表的数据。
与 Python 相比,SQL 更简单,功能范围更窄。
SQL 产生的查询依赖于函数,而函数是执行特定任务的代码。然而,SQL 函数的应用比 Python 少。Python 使用灵活的编程语言和第三方工具包,而不是使用函数,这可以适用于广泛的开发项目。这些库包含了开发特定软件或应用程序的特定片段和指令。
例如,一些 Python 库包括:
用于数据分析的 Pandas
用于操作 PDF 的 PyPDF2
用于数学运算和科学计算的 NumPy
用于机器学习的 Scikit-learn
SQL 和 Python 谁更容易?
开头已经给出了答案,SQL 更加容易。
而且,在前面介绍过程中也提到,SQL 是一种检索/查询语言,Python 则是一种通用语言,从常理来说,检索语言这类偏向于工具型的语言都会更加简单。
当然,为了增加说服力,我从如下几个方面阐述为什么 SQL 比 Python 更加容易。
SQL 是一种声明性语言
决定任何计算机语言是否容易学习的关键因素之一涉及到语言的类型。
目前有四种主要类型的编程语言:这些语言包括程序性语言(也被称为命令性语言)、面向对象的语言、功能性语言和声明性语言。
SQL 是一种声明性语言,它是非程序性的。
你只能通过关注你想得到的结果来编写查询,而不是关注得出结果的方法或步骤。换句话说,SQL 允许你专注于单一的事实而不是复杂的过程。
相反,像 Python 这样的通用编程语言是程序性的,它要求你不仅要编码你需要或想要完成的事情,而且需要完成实现的过程。
为了进一步说明它们的区别,举个日常的例子,假如你去商店买牛奶,如果使用程序性语言,就需要先后完成如下步骤:
走到门口
打开门
走向你的车
打开车门
进入汽车
启动车
开车到超市
停好你的车
关掉车并下车
走到超市门口
进入商店
走到乳制品区
拿到牛奶
走到收银台
付款
开车回家
一个简单的任务,如拿起一加仑的牛奶,当它必须用程序格式写出来时,就变得复杂而乏味了。
如果用声明性语言来对照这个实例,只需要一步:
去商店买牛奶
程序性和声明性编程语言之间的这种明显区别意味着你我们学习和使用 SQL 的成本都要比 Python 少很多,这也意味着编码结构可以大大简化。
在 SQL 中没有严格的格式要求
SQL 没有严格的格式化要求,换句话说,当你用 SQL 编写查询代码时,格式上的错误不会影响查询的执行。
尽管 SQL 没有格式化要求,但保持一致的风格是非常重要的,任何编程语言都是如此。
在 SQL 中,只要我们用语言表达出我们想要实现的操作,无论格式怎么样,都可以正常执行,相反,Python 则对格式要严格的要求,比如缩进。
SQL 是一种狭义的语言
我认为 SQL 是一种狭义的编程语言,它更加偏向于一种操作型的工具,用 SQL 写的查询主要依赖于四类函数;连接、聚合、子查询和窗口函数。
另一方面,Python 有许多库,你可以利用它们来实现专门的功能。例如,你可以使用 pandas 的数据分析功能和 scikit-learn 的机器学习应用,也可以实现一些大型项目。
SQL 语言对用户比较友好
当用 SQL 创建查询时,工作流程沿着一条线性路径发展。
假如我们想要处理一些数据结果,它涉及到从更广泛的数据集聚合和连接数据,并一直持续到提供所要求的结果。
即使查询时间很长,它们仍然保持着线性。
使用 Python,处理数据涉及到一个更复杂的过程。它包括将一个数据集分解成更小的单元,其中每一个单元都成为一个独立的分析线
之后,你需要把这些线程结合起来,然后再一次把它们分开,以完成你的分析查询。
在这个过程中要涉及到数组、列表、字典、变量、函数、类等数据结构和概念知识。
hello,大家好,我是 Jackpop,硕士毕业于哈尔滨工业大学,曾在华为、阿里等大厂工作,如果你对升学、就业、技术提升等有疑惑,不妨交个朋友:
版权声明: 本文为 InfoQ 作者【Jackpop】的原创文章。
原文链接:【http://xie.infoq.cn/article/16e35fdb5e4b48f9ca34abdea】。文章转载请联系作者。
评论