您的位置  > 互联网

SQL的核心功能只用了9个动词,语法接近英语

编辑

SQL语言由Boyce和于1974年提出,首先在IBM开发的关系数据库系统上实现。 由于其功能丰富、使用方便灵活、语言简单易学等突出优点,深受计算机业界和计算机用户的欢迎。 1980年10月,经美国国家标准学会(ANSI)数据库委员会X3H2批准,采用SQL作为关系数据库语言的美国标准。 标准 SQL 于同年发布。 此后不久,国际标准化组织(ISO)也做出了同样的决定。 。 [1]

SQL从功能上可以分为三个部分:数据定义、数据操作和数据控制。 [1]

SQL的核心部分相当于关系代数,但它还具有很多关系代数所不具备的功能,如聚合、数据库更新等,是一种全面、通用、功能极其强大的关系数据库语言。 其特点是:[1]

1、数据描述、操纵、控制等功能的集成。 [1]

2.两种使用方式,统一语法结构。 SQL 可以通过两种方式使用。 一是在线互动使用。 这样的SQL实际上是作为一种独立的语言来使用的。 另一种方式是将其嵌入到一些高级编程语言中(如C语言等)。 前一种方法适合非计算机专业人员,后一种方法适合计算机专业人员。 尽管它们的使用方式不同,但所使用的语言的语法结构基本相同。 [1]

3、高度非程序化。 SQL 是第四代语言(4GL)。 用户只需要询问“做什么”,不需要指定“怎么做”。 访问路径的选择和具体的处理操作由系统自动完成。 [1]

4.语言简洁,易学易用。 SQL虽然功能强大,但语言非常简洁,核心功能仅使用了9个动词。 SQL的语法接近英语口语,因此用户很容易学习和使用。 [1]

历史起源广播

编辑

20 世纪 70 年代初,IBM 圣何塞研究实验室 (Codd's) 的 Edgar Codd 发表了 Edgar Codd 将数据组织到表格中的原则。 1974年,同一实验室的DD和RF Boyce为Codd的关系数据库管理系统R开发了一套规范语言——(QUEry),并于1976年11月在研发部的IBM公布了新版本的SQL(QUEry)。调用 /2)。 1980 年更名为 SQL。 [2]

1979年,该公司首次提供商业SQL,IBM也在DB2和SQL/DS数据库系统中实现了SQL。 [2]

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

1989年,美国ANSI采用了ANSI X3.135-1989报告中定义的关系数据库管理系统的SQL标准语言,称为ANSI SQL 89,取代了ANSI X3.135-1986版本。 [2]

功能报告

编辑

SQL具有数据定义、数据操作、数据控制等功能。 [3]

1. SQL数据定义功能:能够定义数据库的三级模式结构,即外部模式、全局模式和内部模式结构。 在SQL中,外部模式也称为视图(View),全局模式称为(),内部模式是系统根据数据库模式自动实现的,一般不需要用户干预。 [3]

2、SQL数据操作功能:包括基本表和视图的数据插入、删除和修改,尤其是强大的数据查询功能。 [3]

3、SQL数据控制功能:主要控制用户访问权限,保证系统安全。 [3]

句子结构广播

编辑

结构化查询语言由6部分组成:

1.数据查询语言(DQL:Data Query):它的语句也称为“数据检索语句”,用于从表中获取数据并确定数据在应用程序中的呈现方式。 保留字是 DQL(以及所有 SQL)中最常用的动词。 DQL 中其他常用的保留字包括 WHERE、ORDER BY、GROUP BY 和 。 这些 DQL 保留字通常与其他类型的 SQL 语句一起使用。 [4]

2.数据操作语言(DML:Data):其语句包括动词、和。 它们分别用于添加、修改和删除。 [4]

3.事务控制语言(TCL):它的语句可以保证受DML语句影响的表的所有行都得到及时更新。 包括(提交)命令、(保存点)命令、(回滚)命令。

4、数据控制语言(DCL):其语句通过GRANT实现权限控制或确定单个用户和用户组对数据库对象的访问权限。 某些 RDBMS 可以使用 GRANT 或控制对表中各个列的访问。 [4]

5.数据定义语言(DDL):其语句包括动词、ALTER和DROP。 在数据库中创建新表或修改或删除表(TABLE或DROP TABLE); 为表添加索引等[4]

6. 指针控制语言(CCL):它的语句(例如 FETCH INTO 和 WHERE)用于对一个或多个表的各个行进行操作。

语言特色播报

编辑

统一的SQL风格

SQL可以独立完成数据库生命周期中的所有活动,包括定义关系模式、录入数据、建立数据库、查询、更新、维护、数据库重建、数据库安全控制等一系列操作,为开发提供了一系列操作的数据库应用系统。 数据库投入运行后,可以根据需要随时逐步修改模式,而不影响数据库的运行,使系统具有良好的可扩展性。 [5]

高度非程序化

非关系数据模型的数据操作语言是面向过程的语言。 使用它完成用户请求时,必须指定访问路径。 当使用SQL进行数据操作时,用户只需要问“做什么”而不是“怎么做”。 因此,用户不需要知道访问路径。 访问路径的选择以及SQL语句的运行过程均由系统自动完成。 这不仅大大减轻了用户的负担,而且有助于提高数据独立性。 [5]

面向采集的运营

SQL使用的是集合操作方法。 不仅搜索结果可以是元组的集合,插入、删除、更新操作的对象也可以是元组的集合。 [5]

提供两种语法结构相同的使用方法

SQL 既是一种独立的语言,又是一种嵌入式语言。 作为一种独立的语言,它可以独立用于在线交互。 用户可以直接在终端键盘上输入SQL命令来操作数据库。 SQL语句作为一种嵌入式语言,可以嵌入到高级语言(如C、C#、JAVA)程序中,供程序员在设计程序时使用。 两种不同的使用方式下,SQL的语法结构基本相同。 这提供了两种不同的操作模式和统一的语法结构,为用户提供了极大的灵活性和便利性。 [5]

语言简单,易学易用

SQL极其强大,但由于其巧妙的设计和非常简洁的语言,只用了9个动词就完成了数据定义、数据操作、数据控制的核心功能:ALTER、DROP、、、、、GRANT、。 而且SQL语言语法简单,接近英语口语,易于学习和使用。 [5]

SQL语句广播

编辑

数据定义

在实现关系数据库的过程中,第一步是建立关系模式并定义基本表的结构,即关系模式由哪些属性组成,每个属性的数据类型和可能的数据长度属性,是否允许空值,以及其他完整性约束。 [6]

定义基表:

TABLE([列级完整性约束]

[,[列级完整性约束]]...

[,[列级完整性约束]]

[,列级完整性约束]); [6]

阐明:

①是SQL语句中必须定义的部分,[]是SQL语句中的可选部分,可以省略。 [6]

② TABLE代表一个SQL关键字,表示这条SQL语句的功能。 [6]

③是要定义的基本表的名称。 一张表可以由一个或多个属性(列)组成,但必须至少有一个属性。 不允许使用没有任何属性的表,这并不意味着空表。 多个属性定义用括号标记以指示其边界,每个属性定义用逗号分隔。 每个属性的名称彼此不同,并且可以按任意顺序排列。 通常,它们按照实体或关系定义属性的顺序排列。 关键字属性组位于First,这样很容易区分,并且可以防止丢失已定义的属性。 [6]

④每个属性由列名、数据类型以及该列的多个完整性约束组成。 列名一般是属性的英文缩写。 2010年也可以有中文版了。 建议不要这样做,因为这样在编程和开发时很不方便。 [6]

⑤完整性约束分为列级完整性约束和表级完整性约束。 如果完整性约束涉及表的多个属性列,则必须在表级别定义,否则可以在列级别定义。 级别也可以在表级别定义。 这些完整性约束存储在系统的数据字典中。 当用户操作表中的数据时,RDBMS会自动检查操作是否违反了这些完整性约束。 如果违反操作,RDBMS 会拒绝该操作,从而保持数据库的正确状态。 准确性和完整性,不需要用户提供检查,提高了编程效率,降低了编程难度。 列级完整性通常由主键的定义以及是否允许空值来定义。 表级完整性约束通常定义为外键。 [6]

数据操纵

数据操作语言是完成数据操作的命令,一般分为两种类型的数据操作。 [5]

①数据检索(常称为查询):查找所需的具体数据。 [5]

②数据修改:插入、删除、更新数据。 [5]

数据操作语言一般由(插入)、(删除)、(更新)、(检索,又称查询)等组成,由于使用频繁,一般称为查询(检索)语言,单独出现。 [5]

数据管理

数据管理(也称为数据控制)语言用于管理(或控制)用户访问权限。 它由GRANT(授权)和(回收)命令组成。 不支持这种权限管理。 [5]

SQL中的数据查询语句

数据库中的数据经常用于查询,因此数据查询是数据库的核心操作。 在SQL中,只有一种查询语言,那就是语句。 [5]