当前位置:首页 > 百科

数据库语言

SQL是高级义早液地西布心的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库当易商走附父专展系统可以使用来自相同的SQL语言作为数据输入与管理的接口。

  • 中文名 数据库语言
  • 国际标准 SQL标准
  • 使    用 SQL语言
  • 操作对象 记录集合

简介

  它以记录集合作为操作对象来自,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL含乡情保助没审语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用S束先QL语言可以写出360百科非常复杂的语句。

  结构化查询语言(Structured Query Language)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语尼急差思我树创出看言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。如今无论是像Oracle、Sybase、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxp随界念践背写聚半周ro、PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。

际标准

  美国国家标准局(ANSI)与国际标准化组织(ISO)已经制定了SQL标准。ANSI是一个美国工业和商业集团组织,负责开发美国的商务和通讯标准。ANSI同时也是ISO和In范师空安置罗待投树客所ternational Electrotechnical Commission(IEC)的成员之一。ANSI 发布与国际标准组织相应的美国标准。1992年,ISO和IEC发布了SQL国际标准,称为SQL-92。ANSI随之发布的相应地强评标准是ANSI SQL-92。ANSI SQL-92有企赶军时被称为ANSI SQ春秋预很希围模案张扬L。尽管不同的关系数据库使用的SQL版本有一些差异,但大领贵派故迅善角施二等多数都遵循 ANSI SQL 标准。SQL Server使用ANSI SQL-92的扩展集,称为T-SQL,其遵循ANSI制定的 SQL-92标准。

起源

来自  1970年,美国IBM研吸万究亚波究中心的E.F.Codd吧倒推呼连续发表多篇论文,提出关系模属联市刘波染能述型。1972年,I站务BM公司开始研制实验由争七风型关系数据库管理系统SYSTEM R,为其配制的查询语言称为SQ觉烟灯末眼略UARE(Specifying Queries As Relational Expression)语言,在该语言中使用了较多的数学符号。1974年,Boyce和Chamberlin把SQUARE修改为SEQUEL(Structured English QUEry Language)语言。这两个语言在本质上是相同的,但后者去掉了数学符号,搞效处采用英语单词表示和结构式的语法规则,看起来很像英语句子,用户比较欢迎这种形式的语月束己际维言。后来SEQUEL简称为SQL(Structured Qu360百科ery Language)语言,即"结构化查询语言"。

  在认识到关系模正顶刘员理粮刚处按那季型的诸多优越性后,许多厂商纷纷研制关系数据库管理系统(例如:Oracle、DB2、Sybase等),这些数据库管理系统的操纵语言也以的了氧SQL参照。1986年10月美国国家标准化协会(ANSI)发布了X3.135-1986《数据库语言SQL》,19出校题续叶识眼简水87年6月国际标准化组织(ISO)采纳其为国际标准。我们称其为"SQL-86"标优医精常否情占准。1989年10月,ANS煤守井调础当温巴南I又颁布了增强完整性特征的"SQL-89"标准。随后,ISO对该标准进行了大量的修改和扩充,在1992年8月发布了标准化文件"ISO/IEC 9075:1992《数据库语领场聚迅沉言SQL》",我们称其为SQL92或S亚坐盾末血QL2标准。1999年ISO又颁布了"ISO/IEC 径假升志留湖袁细继9075:1999《数据库语言SQL》"标准化文件,我们称其为SQL99或SQL3标准。

标准语句

  --数据操作

  SELECT --从数据库表石段皮封般中检索数据行和列

  INSERT --向数据库表添加新数据行

  DELETE --从益山世明游货常胡数据库表中删除数据行

  UPDATE --更新数据库表中的数据

  --数据定义

  CREATE TABLE --创建一个数据库表

  DROP TABLE --从数据库中删除表

  ALTER TABLE --修改数据库表结构

  CREATE VIEW --创建一个视图

  DROP VIEW --从数据库中删除视图

  CREATE INDEX --为数据库表创建一个索引

  DROP INDEX --从数据库中删除索引

  CREATE PROCEDURE --创建一个存储过程

  DROP PROCEDURE --从数据库中删除存储过程

  CREATE TRIGGER --创建一个触发器

  DROP TRIGGER --从数据库中删除触发器

  CREATE SCHEMA --向数据库添加一个新模式

  DROP SCHEMA --从数据库中删除一个模式

  CREATE DOMAIN --创建一个数据值域

  ALTER DOMAIN --改变域定义

  DROP DOMAIN --从数据库中删除一个域

  --数据控制

  GRANT --授予用户访问权限

  DENY --拒绝用户访问

  REVOKE --解除用户访问权限

  --事务控制

  COMMIT --结束当前事务

  ROLLBACK --中止当前事务

  SET TRANSACTION --定义当前事务数据访问特征

  --程序化SQL

  DECLARE --为查询设定游标

  EXPLAN --为查询描述数据访问计划

  OPEN --检索查询结果打开一个游标

  FETCH --检索一行查询结果

  CLOSE --关闭游标

  PREPARE --为动态执行准备SQL 语句

  EXECUTE --动态地执行SQL 语句

  DESCRIBE --描述准备好的查询

  ---局部变量

  declare @id char(10)

  --set @id = '10010001'

  select @id = '10010001'

  ---全局变量

类型

  ※数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。

  ※数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。

  ※ 数据查询语言(DQL),例如:SELECT语句。(一般不会单独归于一类,因为只有一个语句)。

  ※数据控制语言(DCL),例如:GRANT、REVOKE等语句。

  ※事务控制语句(TCL),例如:COMMIT、ROLLBACK等语句。

  SQL语言包括四类种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)还有事务控制语言(TCL)。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章