SQL, Structured Query Language结构化查询语言,是一种特定目的编程语言,用于管理关系数据库管理系统(RDBMS),或在关系流数据管理系统中进行流处理。SQL基于关系代数和元组关系演算,包括一个数据定义语言和数据操纵语言。SQL的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。
各种数据库的SQL方言通常不可移植,特别是在日期时间语法、字符串连接、NULL、比较的大小写敏感方面。SQL在1986年被ANSI标准化,1987年被ISO标准化。
SQL基于关系代数和元组关系演算,包括一个数据定义语言和数据操纵语言。SQL的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。尽管SQL经常被描述为编程语言,而且很大程度上是一种声明式编程(4GL),但是其也含有过程式编程的元素。
SQL是高级的非过程化编程语言,它允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解其具体的数据存放方式。而它的界面,能使具有底层结构完全不同的数据库系统和不同数据库之间,使用相同的SQL作为数据的输入与管理。它以记录项目〔records〕的合集(set)〔项集,record set〕作为操纵对象,所有SQL语句接受项集作为输入,回提交的项集作为输出,这种项集特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它拥有极大的灵活性和强大的功能。在多数情况下,在其他编程语言中需要用一大段程序才可实践的一个单独事件,而其在SQL上只需要一个语句就可以被表达出来。这也意味着用SQL可以写出非常复杂的语句,在不特别考虑性能情况下。
SQL同时也是数据库文件格式的扩展名。SQL包含四个部分:数据定义语言、数据操纵语言、数据控制语言、事务控制语言。
|参考资料|
[1] 阿里云开发者社区-学习中心-java学习路线-数据库开发
[2] Media Type registration for application/sql.Internet Assigned Numbers Authority.10 April 2013 [10 April 2013].
[3]Encyclopedia Britannica. SQL.[2013-04-02]