SQL,PL-SQL和T-SQL有什么区别?
任何人都可以解释这三者之间的差异,并提供相关使用的场景吗?
答案 0 :(得分:343)
SQL
是一种对集合进行操作的查询语言。
它或多或少是标准化的,几乎所有关系数据库管理系统都使用它:SQL Server,Oracle,MySQL,PostgreSQL,DB2,Informix等。
PL/SQL
是Oracle使用的专有程序语言
PL/pgSQL
是PostgreSQL
TSQL
是Microsoft在SQL Server中使用的专有过程语言。
过程语言旨在扩展SQL的能力,同时能够与SQL很好地集成。添加了一些功能,如局部变量和字符串/数据处理。这些功能使语言Turing-complete。
它们还用于编写存储过程:驻留在服务器上的代码片段,用于管理使用基于集合的操作很难或无法管理的复杂业务规则。
答案 1 :(得分:97)
SQL
SQL用于与数据库通信,它是标准 关系数据库管理系统的语言。
详细信息结构化查询语言是一种专用编程语言,用于管理关系数据库管理系统(RDBMS)中保存的数据,或用于关系数据流管理系统(RDSMS)中的流处理)。
最初基于关系代数和元组关系演算,SQL由数据定义语言和数据操作语言组成。 SQL的范围包括数据插入,查询,更新和删除,模式创建和修改以及数据访问控制。虽然SQL通常被描述为,并且在很大程度上是一种声明性语言(4GL),但它也包括过程元素。
PL / SQL
PL / SQL是SQL与编程语言程序功能的结合。 它是由Oracle Corporation开发的
PL / SQL的特色
<强> T-SQL 强>
Transaction-SQL的缩写,一种扩展形式的SQL,它将声明的变量,事务控制,错误和异常处理以及行处理添加到SQL
结构化查询语言或SQL是一种专注于管理关系数据库的编程语言。 SQL有其自身的局限性,这促使软件巨头 Microsoft在SQL之上构建自己的扩展以增强SQL的功能。 Microsoft向SQL添加了代码并将其称为Transact-SQL或T-SQL。请记住,T-SQL是专有的,并且在Microsoft的控制之下,而SQL虽然是由IBM开发的,但已经是一种开放格式。
T-SQL添加了SQL中不可用的许多功能。
这包括过程编程元素和局部变量,以便更灵活地控制应用程序的流动方式。 T-SQL还增加了许多功能,使其功能更强大;用于数学运算,字符串运算,日期和时间处理等的函数。这些新增功能使T-SQL符合图灵完整性测试,这是一种确定计算语言普遍性的测试。 SQL并不是图灵完整的,它的功能范围非常有限。
T-SQL和SQL之间的另一个重要区别是对SQL中已有的DELETE和UPDATE命令所做的更改。使用T-SQL,DELETE和UPDATE命令都允许包含允许使用JOIN的FROM子句。这简化了对记录的过滤,以便轻松挑选出符合某个标准的条目,这与SQL相比可能有点复杂。
在T-SQL和SQL之间进行选择完全取决于用户。当您处理Microsoft SQL Server安装时,使用T-SQL仍然更好。这是因为T-SQL也来自微软,并且使用这两者最大限度地兼容。具有多个后端的人首选SQL。
<强>参考强> ,Wikipedea ,教程要点 :www.differencebetween.com
答案 2 :(得分:43)
SQL
一种与人交谈的语言
数据库。它可以让你选择数据,
改变并创建数据库对象
(如表,视图等),改变
数据库设置。PL-SQL
一种过程式编程语言(带有嵌入式SQL)T-SQL
用于SQL的(过程)扩展
通过SQL Server 答案 3 :(得分:29)
<强> 1。 SQL 或结构化查询语言由IBM为其产品&#34; System R&#34;开发。
后来 ANSI 将其作为标准,所有查询语言都基于该标准并对其进行了扩展,以创建自己的数据库查询语言套装。第一个标准是 SQL-86 ,最新的是 SQL:2011
<强> 2。 T-SQL 或Transact-SQL由 Sybase 开发,后来由 Microsoft SQL Server共同拥有。
第3。 PL / SQL 或过程语言/ SQL是 Oracle 数据库,称为&#34;关系软件&#34;那个时候。
我已在blog post中记录了这一点。
答案 4 :(得分:7)
结构化查询语言 - SQL:是世界上几乎所有SGBD供应商都使用的ANSI标准。基本上,SQL是一种用于定义和操作数据的语言[DDL和DML]。
PL / SQL是Oracle Universe创建的一种语言。 PL / SQL结合了编程程序指令,允许创建直接在数据库场景下运行的程序。
T-SQL是Microsoft产品对齐SQL模式,具有一些特殊性。所以,随意测试你的极限。