请问一下SQL语言具有哪些特点?

 我来答
匿名用户
2013-08-03
展开全部
SQL全称是“结构化查询语言(Structured Query Language)”
  SQL(Structured Query Language)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
  SQL同时也是数据库脚本文件的扩展名。
  SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。
  结构化查询语言(Structured Query Language)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。如今无论是像Oracle、Sybase、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxporo、PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。
  美国国家标准局(ANSI)与国际标准化组织(ISO)已经制定了SQL标准。ANSI是一个美国工业和商业集团组织,负责开发美国的商务和通讯标准。ANSI同时也是ISO和International Electrotechnical Commission(IEC)的成员之一。ANSI 发布与国际标准组织相应的美国标准。1992年,ISO和IEC发布了SQL国际标准,称为SQL-92。ANSI随之发布的相应标准是ANSI SQL-92。ANSI SQL-92有时被称为ANSI SQL。尽管不同的关系数据库使用的SQL版本有一些差异,但大多数都遵循 ANSI SQL 标准。SQL Server使用ANSI SQL-92的扩展集,称为T-SQL,其遵循ANSI制定的 SQL-92标准。
  SQL语言包含4个部分:
  ※ 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。
  ※ 数据操作语言(DML),例如:INSERT、UPDATE、DELETE语句。
  ※ 数据查询语言(DQL),例如:SELECT语句。
  ※ 数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。
  SQL语言包括三种主要程序设计语言类别的陈述式:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。
匿名用户
2013-08-03
展开全部
首先,尽管查询是设计SQL的最初目的,检索数据也仍然是其最重要的功能之一,但SQL决不仅仅是一个查询工具。SQL用于控制DBMS提供给用户的所有功能,包括: 数据定义(Data definition):SQL可用于定义被存放数据的结构和组织,以及数据项之间的关系。 数据检索(Data retrieval):SQL能使用户或应用程序从数据库中检索数据并使用这些数据。 数据操纵(Data manipulation):用户或应用程序通过SQL更改数据库,如增加新数据,删除旧数据,修改已存入的数据等。 存取控制(Access control):SQL可用来限制用户检索,增加和修改数据的权限,一保护所存储的数据不被非法存取。 数据共享(Data sharing):SQL可用于调整数据让并发用户共享,以保证用户之间彼此不受影响。 数据完整性(Data integrity):SQL能对数据库的完整性条件作出规定,以使其不会因为修改紊乱或系统出错而被破坏。 第二,SQL并不是一种像COBOL,FORTRAN和C语言等那样完整的计算机语言。SQL没有用于条件测试的IF语句,没有用于程序分支的GOTO语句,也没有用于循环的DO或FOR语句。 确切地说,SQL是一种数据库子语言(sublanguage)。也称为第四代语言(4GL),一种非过程语言。 SQL语言简洁,为完成其核心功能只用了6个动词:SELECT、CREATE、INSERT、UPDATE、DELETE、GRANT(REVOKE)。ANSI SQL的类型 目前的ANSI SQL标准认可四种SQL语句的方法。采用何种方法依赖于应用程序编程环境:交互式SQL(Interactive SQL):类似于Forpro,以命令行形式执行SQL语句。 嵌入式SQL(Embedded SQL):通过在SQL语句前假如一个关键字来执行SQL语句。例如C中的EXEC SQL。 模块SQL(Module SQL):允许创建独立于3GL源代码的编译SQL语句,然后把编译好的目标模块连入可执行程序。SQL模块类似于Visual Basic代码模块,模块中包含变量说明和用来容纳查询结果集合的临时表,可以把变元值从3GL传递给SQL模块说明的过程参数。在数据库服务器上执行预编译查询的存储过程有许多与模块SQL共同的性质。 动态SQL(Dynamic SQL):可以创建在编写语句时无法预测其内容的SQL语句(前面的多种SQL类型属于静态SQL类)。例如:读者想设计一个可以针对多种数据库处理查询的Visual Basic应用程序。动态SQL可以以字符串形式向数据库传送查询。例如,可以向数据库传送一个查询并获得详细的信息,这些信息来自描述数据库表及表中字段的数据库字典。在知道了数据库结构之后,应用程序用户可以创建向查询添加正确字段名的定制查询。 SQL的作用 SQL本身不是一个数据库管理系统,也不是独立的产品。事实上,SQL是数据库管理系统的一个组成部分,是用户和DBMS通信的语言和工具。 SQL有下列作用:SQL是一种交互式查询语言 SQL是一种数据库编程语言 SQL是一种数据库管理语言 SQL是一种客户机/服务器语言 SQL是一种分布式数据库语言 SQL是一种数据库网关语言
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-03
展开全部
SQL语言集数据查询(data query)、数据操纵(data manipulation)、数据定义(data definition)和数据控制(data control)功能于一体,充分体现了关系数据语言的特点和优点。其主要特点包括:

1.综合统一

SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、录入数据以建立数据库、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,这就为数据库应用系统开发提供了良好的环境,例如用户在数据库投入运行后,还可根据需要随时地逐步地修改模式,并不影响数据库的运行,从而使系统具有良好的可扩充性。

2.高度非过程化

非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求,必须指定存取路径。而用SQL语言进行数据操作,用户只需提出“做什么”,而不必指明“怎么做”,因此用户无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。

3.面向集合的操作方式
SQL语言采用集合操作方式,不仅查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
非关系数据模型采用的是面向记录的操作方式,任何一个操作其对象都是一条记录。例如查询所有平均成绩在80分以上的学生姓名,用户必须说明完成该请求的具体处理过程,即如何用循环结构按照某条路径一条一条地把满足条件的学生记录读出来。

4.以同一种语法结构提供两种使用方式
SQL语言既是自含式语言,又是嵌入式语言。
作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作。作为嵌入式语言,SQL语句能够嵌入到高级语言(例如C、PB)程序中,供程序员设计程序时使用。而在两种不同的使用方式下,SQL语言的语法结构基本上是一致的。这种以统一的语法结构提供两种不同的使用方式的作法,为用户提供了极大的灵活性与方便性。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式