MySQL学习之SQL介绍

大兔子大兔子 提交于 2019-12-17 03:23:00

SQL介绍

SQL ,又称结构化查询语言 (Structured Query Language),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统SQL 是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言。

说明:

虽然 SQL 是一门 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,但是仍然存在着多种不同版本的 SQL 语言。

然而,为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。

除了 SQL 标准之外,大部分 SQL 数据库程序都拥有它们自己的专有扩展!

SQL用途

  • SQL 面向数据库执行查询
  • SQL 可从数据库取回数据
  • SQL 可在数据库中插入新的记录
  • SQL 可更新数据库中的数据
  • SQL 可从数据库删除记录
  • SQL 可创建新数据库
  • SQL 可在数据库中创建新表
  • SQL 可在数据库中创建存储过程
  • SQL 可在数据库中创建视图
  • SQL 可以设置表、存储过程和视图的权限

SQL功能

SQL具有数据定义数据操纵数据控制

  1. SQL数据定义功能

能够**定义数据库的三级模式结构**,即外模式、全局模式和内模式结构。在SQL中,外模式有叫做视图(View),全局模式简称模式( Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。

  1. SQL数据操纵功能

包括**对基本表和视图的数据插入、删除和修改**,特别是具有很强的数据查询功能。

  1. SQL的数据控制功能

主要是**对用户的访问权限加以控制**,以保证系统的安全性。

SQL语句结构

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

  1. 数据查询语言(DQL:Data Query Language)

其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHEREORDER BYGROUP BYHAVING。这些DQL保留字常与其它类型的SQL语句一起使用。

  1. 数据操作语言(DML:Data Manipulation Language)

其语句包括动词`INSERT、UPDATE和DELETE。它们分别用于添加、修改和删除。

  1. 事务控制语言(TCL

它的语句能确保被DML语句影响的表的所有行及时得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROLLBACK(回滚)命令。

  1. 数据控制语言(DCL

它的语句通过GRANT或REVOKE实现权限控制,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANTREVOKE控制对表单个列的访问。

  1. 数据定义语言(DDL

其语句包括动词CREATE,ALTERDROP。在数据库中创建新表或修改、删除表(CREAT TABLEDROP TABLE);为表加入索引等。

  1. 指针控制语言(CCL

它的语句,像DECLARE CURSORFETCH INTOUPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

SQL起源

在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版本。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!