结构化查询语言(Structured Query Language),简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

SQL是最重要的关系数据库操作语言,而且它的影响已经超出数据库领域,得到其他领域的重视和采用,如人工智能领域的数据检索,第四代软件开发工具中嵌入SQL的语言等。

结构化查询语言包含6个部分:

一:数据查询语言(DQL:Data Query Language):
其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。

http://www2.jjlvip.cn/usa/scholarship/2515986.html

二:数据操作语言(DML:Data Manipulation Language):
其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。
三:事务处理语言(TPL):
它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。

四:数据控制语言(DCL):
它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。

五:数据定义语言(DDL):
其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。

六:指针控制语言(CCL):
它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

发展历史:

在1970年代初,由IBM公司San Jose,California研究实验室的埃德加·科德发表将数据组成表格的应用原则(Codd's Relational Algebra)。1974年,同一实验室的D.D.Chamberlin和R.F. Boyce对Codd's Relational Algebra在研制关系数据库管理系统System R中,研制出一套规范语言-SEQUEL(Structured English QUEry Language),并在1976年11月的IBM Journal of R&D上公布新版本的SQL(叫SEQUEL/2)。1980年改名为SQL。

1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2和SQL/DS数据库系统中也实现了SQL。

1986年10月,美国ANSI采用SQL作为关系数据库管理系统的标准语言(ANSI X3. 135-1986),后为国际标准化组织(ISO)采纳为国际标准。

1989年,美国ANSI采纳在ANSI X3.135-1989报告中定义的关系数据库管理系统的SQL标准语言,称为ANSI SQL 89,该标准替代ANSI X3.135-1986版本。该标准为下列组织所采纳:
国际标准化组织(ISO),为ISO 9075-1989报告“Database Language SQL With Integrity Enhancement”
美国联邦政府,发布在The Federal Information Processing Standard Publication(FIPS PUB)127

目前(21世纪初期)主要的关系数据库管理系统支持某些形式的SQL,大部分数据库打算遵守ANSI SQL89标准。

转载于:https://blog.51cto.com/13584848/2066208

SQL是高级的非过程化编程语言相关推荐

  1. QL是高级的非过程化编程语言

    SQL介绍: 结构化查询语言(Structured Query Language),简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一 ...

  2. c是过程化语言吗数据库,关于SQL错误的是()A、所有数据库的公共语言B、非过程化的C、统一的语言D、所有用SQL缩写的程序都...

    关于SQL错误的是()A.所有数据库的公共语言B.非过程化的C.统一的语言D.所有用SQL缩写的程序都 更多相关问题 [多选] 在彩色电视机遥控系统中,属于模拟量控制的有()等几种. [多选] 在色度 ...

  3. 如何使用 SQL Server FILESTREAM 存储非结构化数据?

    作者 | ALEN İBRIÇ 译者 | 火火酱,责编 | Carol 封图 | CSDN 付费下载于视觉中国 在本文中,我将解释如何使用SQL Server FILESTREAM来存储非结构化数据. ...

  4. 如何使用 SQL Server FILESTREAM 存储非结构化数据?这篇文章告诉你!

    作者 | ALEN İBRIÇ 译者 | 火火酱,责编 | Carol 封图 | CSDN 付费下载于视觉中国 在本文中,我将解释如何使用SQL Server FILESTREAM来存储非结构化数据. ...

  5. 【数据库系统】过程化和非过程化语言的相对优点

    非过程语言极大地简化了查询的规范(至少,它们旨在处理的查询类型). 用户无需担心如何评估查询:这不仅减少了编程工作量,而且实际上,在大多数情况下,查询优化器比通过反复试验的程序员能够更好地选择最佳的评 ...

  6. 【梳理】数据库系统概论 第8章 数据库编程 8.1 嵌入式SQL 8.2 过程化SQL 8.3 存储过程和函数 8.4 ODBC编程

    教材:王珊 萨师煊 编著 数据库系统概论(第5版) 高等教育出版社 注:文档高清截图在后 第8章 数据库编程 标准SQL是非过程化的查询语言,操作统一.面向集合.功能丰富.使用简单.非过程化语言是相对 ...

  7. 数据库编程之过程化SQL

    SQL99标准支持过程化和函数的概念,SQL可以使用过程设计语言来定义过程和函数,也可以用关系数据库管理系统自己的过程语言来定义. 一.过程化SQL的块结构 基本的SQL是高度非过程化的语言.嵌入式S ...

  8. 探索GaussDB(DWS)的过程化SQL语言能力

    摘要:在当前GaussDB(DWS)的能力中主要支持两种过程化SQL语言,即基于PostgreSQL的PL/pgSQL以及基于Oracle的PL/SQL.本篇文章我们通过匿名块,函数,存储过程向大家介 ...

  9. pl/sql过程化语言

    plsql过程化语言 --控制输出-- declare begindbms_output.put_line('hello/plsql'); end; --变量的声明和使用-- declarev_num ...

最新文章

  1. Windows 8 图标前面的勾选
  2. mySQL之单表更新
  3. 2020年浙江高考考python吗_2020年浙江高考改革最新消息 浙江新高考规则解读
  4. php和python-PHP与Python语言有哪些区别之处?选择哪一个好?
  5. CSDN自定义模块内容编写
  6. node mysql gbk_nodejs gb2312、GBK中文乱码解决方法
  7. AnyLogic建模笔记
  8. 戴尔修复计算机软件,DELL电脑系统恢复工具(Dell OS Recovery Tool)2019 v2.3.6066官方版...
  9. 计算机断层扫描技术,温泽集团推出通用型exaCT U计算机断层扫描技术
  10. 消费新品周报 | 歌帝梵携手大白兔推出全冰品系列;MK推出新一代智能触屏腕表...
  11. 自学iOS开发系列----UI(视图编程入门:UITabBarController)
  12. 6-1 判断顺序表是否有序(Java语言描述)
  13. $作为分隔符的字符串如何进行切割
  14. JavaScript实现异步请求并发数限制
  15. JAVA-Gson-格式化输出json字符串
  16. 分析ERP审单失败,提示:库存不足的原因及应对方案
  17. 云服务ftp服务器搭建_在阿里云服务器搭建FTP服务器,在本地电脑连接并操作
  18. android图标分组名称唯美,Android 使用网络图片当图标创建快捷方式(整理版本)
  19. 快速收集资料的一种方法
  20. kali:ARP欺骗

热门文章

  1. Pyramid Vision Transformer(PVT): 纯Transformer设计,用于密集预测的通用backbone
  2. 全国行政区域数据库(地市数据库)
  3. 机器人仿真平台——RobotHw
  4. xss-labs/level-3
  5. Scrapy_Study01
  6. vue——devtools安装(实时监测vue的data数据变动)
  7. 云南大学计算机专业双一流排名,云南大学是双一流吗
  8. 一个android应用,搜你妹视频,你懂的
  9. Spring boot 整合disruptor
  10. 使用python语言编写常见的文本分类算法