结构化查询语言 (SQL) 是一种编程语言,通常用于关系数据库或数据流管理系统。
它由 IBM 在 1970 年代初期开发,现在是美国国家标准协会 (ANSI) 和国际标准化组织 (ISO) 认可的官方标准。
多年来,SQL 一直是数据库用户的热门选择,这主要是因为它易于使用,而且查询、操作、聚合数据和执行各种其他功能的方式非常有效,可以将大量结构化数据转化为有用的信息。
出于这个原因,它已被整合到众多商业数据库产品中,例如 MySQL、Oracle、Sybase、SQL Server、Postgres 等。事实上,很多非关系型数据库,如MongoDB、DynamoBD,由于没有SQL编程,所以被称为NoSQL产品。
虽然 SQL 的不同迭代可能对关键操作使用不同的语法,但一般来说,选择、插入、更新和创建等基本命令对所有 SQL 版本都是通用的。这使得具有 SQL 基础知识的人可以很容易地在许多不同的环境中工作并执行各种各样的任务。
数据定义语言 (DDL)
这包括 CREATE(表、视图、对象等)、ALTER 和 DROP(删除)。
数据操作语言 (DML)
选择、插入、更新、删除表中的记录。
数据控制语言 (DCL)
GRANT 和/或 REVOKE 用户权限等。
数据库索引
CREATE INDEX 和 DROP INDEX 语句用于在表中创建和删除索引。
SQL 还允许用户在表或列上建立约束以限制它们包含的数据类型。这有助于确保数据的准确性和相关性,并通过简化搜索和其他功能来简化整体数据库管理。
不为空
这可以防止列具有空值。
独特的
确保所有值都不同。
此外,DBA 可以使用 SQL 通过防止创建重复行、只允许输入有效数据、禁止删除与多条记录相关的数据以及其他功能来将完整性构建到数据库中。
然而,与此同时,SQL 提供了许多规范化工具,旨在简化数据依赖性,并通常减少数据库的大小和范围,以使其在操作上有效和资源高效。
显然,SQL 并不是所有数据库应用程序的最佳选择,否则就别无选择。一方面,虽然 SQL 在 1990 年代及以后一直有效地扩展数据,但在世纪之交的超大规模级别上,实施和关系数据库管理系统(而不是语言本身)开始动摇。
一些用户还抱怨它的分片限制,这阻碍了将大型数据库分解成更小、更易于管理的数据库的能力。
事实上,这些缺点导致了 NoSQL 和最近的 NewSQL 的诞生,后者试图在不牺牲其固有的原子性、一致性、隔离性和持久性 (ACID) 的情况下增强传统 SQL 的可扩展性。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习