当前位置: 首页 > 科技观察

TT百科:SQL(StructuredQueryLanguage)

时间:2023-03-13 16:24:33 科技观察

SQL(StructuredQueryLanguage)是一种标准化的编程语言,用于管理关系数据库,并对数据库中的数据进行各种操作。创建于1970年代的SQL被数据库管理员和开发人员用来在编写数据集成脚本和数据分析时构建和执行分析查询。SQL的使用包括修改数据库表和索引结构;添加、更新和删除数据记录;为事务处理和分析应用程序恢复数据库信息的子集。查询和其他SQL操作采用将命令编写为语句的形式。常用的SQL语句有select、add、insert、update、delete、create、modify和truncate。在70年代末和80年代初,SQL成为关系数据库(也称为SQL数据库)事实上的标准编程语言。关系系统由一组具有行和列的表组成。表中的每一列对应一个数据类别,例如客户名称和地址,每一行包含跨列的数据值。美国国家标准协会(ANSI)于1986年采用了正式的SQL标准,随后国际标准化组织(ISO)于1987年采用了该标准。从那时起,这两个标准制定实体已经发布了六次以上的标准联合更新;最新版本SQL2011于今年获得批准。专有和开源关系数据库管理系统都是围绕SQL构建的,它们都可供企业使用。它们包括MicrosoftSQLServer、Oracle数据库、IBMDB2、SAPHANA、SAPAdaptiveServer、MySQL(现在归Oracle所有)和PostgreSQL。然而,许多这些数据库产品通过对用于过程编程和其他功能的标准语言的专有扩展来支持SQL。例如,Microsoft提供了一组称为Transart-SQL(T-SQL)的扩展,而Oracle的标准扩展版本是PL/SQL。因此,供应商提供的不同SQL变体彼此之间并不完全兼容。SQL命令分为几种不同的类型,其中有数据操作语言(DML)和数据定义语言(DDL)语句、事务控制和安全措施。DML词汇用于恢复和操作数据,而DDL语句用于定义和修改数据库结构。事务控制有助于管理事务处理,确保事务在出现错误或问题时完成或回滚。安全声明用于控制数据库访问和创建用户角色和权限。SQL语法是编写语句时的编码格式。图1显示了用Microsoft的T-SQL编写的DDL语句示例,用于修改SQLServer2016中的数据库表。ExampleT-SQLcodeinSQLServer2016图1.ExampleT-SQLcodeinSQLServer2016.下面是ALTERTABLEWITH(ONLINE=ON|OFF)选项的代码。SQL-on-Hadoop查询引擎是SQL的较新分支,拥有围绕Hadoop系统构建的大数据架构的企业可以利用它,而无需使用更复杂和不熟悉的语言。特别是用于开发批处理应用程序的MapReduce编程环境。Hadoop分销商和其他供应商提供了十多种SQL-on-Hadoop工具。其中许多是开源软件或这些技术的商业版本。此外,通常用于与Hadoop交互的ApacheSpark处理引擎包括一个SparkSQL模型,该模型也支持基于SQL的编程。总的来说,SQL-on-Hadoop仍然是一项新兴技术,大多数可用的工具并不支持SQL的关系实现中提供的所有功能。但随着公司寻求获得具有SQL技能的开发人员和分析师来编写大数据应用程序,它们正日益成为Hadoop部署的固定组件。