SQL语言概述 结构化查询语言(Structured Query Language,简称SQL)是一种介于关系代数与关系演算之间的语言,是一种用来与关系数据库管理系统通信的标准计算机语言。其功能包括数据查询、数据操纵、数据定义和数据控制4个方面,是一个通用的、功能极强的关系数据库语言。目前已成为关系数据库的标准语言。 1 SQL基本功能 SQL语言集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体,充分体现了关系数据语言的特点和优点。 1.数据定义功能 通过DDL(Data Definition Language)语言来实现。可用来支持定义或建立数据库对象(如表、索引、序列、视图等),定义关系数据库的模式、外模式、内模式。常用DDL语句为不同形式的CREATE、ALTER、 DROP命令。 2.数据操纵功能 数据操纵功能通过DML(Data Manipulation Language)语言来实现,DML包括数据查询和数据更新两种语句,数据查询指对数据库中的数据进行查询、统计、排序、分组、检索等操作.数据更新指对数据的更新、删除、修改等操作。 3.数据控制功能 数据库的数据控制功能指数据的安全性和完整性。通过数据控制语句DCL(Data Control Language)来实现。 2、SQL语言的特点 1.语言简洁、易学易用 2.高度非过程化 用户只需提出“做什么”就可以得到预期的结果,至于“怎么做”则由RDBMS完成,并且其处理过程对用户隐藏 3.SQL语言既可交互式使用,也可以以嵌入形式使用 前者主要用于数据库管理者等数据库用户,允许用户直接对DBMS发出SQL命令,受到运行后的结果,或者主要嵌入(C、C++)等宿主语言中,被程序员用来开发数据库应用程序。而在两种不同的使用方式下,SQL语言的语法结构基本上是一致的。这种以统一的语法结构提供两种不同的使用方式的作法,为用户提供了极大的灵活性与方便性。 4.面向集合的操作方式 SQL语言采用集合操作方式,不仅查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。 5.SQL语言支持关系数据库三级模式结构 数据库三级模式指:内模式对应于存储文件,模式对应于基本表,外模式对应于视图。基本表是本身独立存在的表,视图是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,也就是说数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。用户可以用SQL语言对视图和基本表进行查询。在用户眼中,视图和基本表都是关系,而存储文件对用户是透明的。 6.综合统一 ① SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、录入数据以建立数据库、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,这就为数据库应用系统开发提供了良好的环境,例如用户在数据库投入运行后,还可根据需要随时地逐步地修改模式,并不影响数据库的运行,从而使系统具有良好的可扩充性。 ② 在关系模型中实体和实体间的联系均用关系表示,这种数据结构的单一性带来了数据操作符的统一,即对实体及实体间的联系的每一种操作(如:查找、插入、删除、修改)都只需要一种操作符 3、SQL语言分类简介 SQL语言设计非常巧妙,SQL语言结构简洁,功能强大,简单易学,只用了9个核心动词就完成了数据定义、数据查询、数据操纵、数据控制的大部分功能 表3-1 SQL核心动词 SQL功能 所使用动词 数据定义 CREATE、 DROP、 ALTER 数据查询 SELECT 数据操纵 INSERT 、UPDATE 、DELETE 数据控制 GRANT 、REVOKE SELECT 从一个表或多个表中检索列和行 CREATE 按特定的表模式创建一个新表 DROP 删除一张表 ALTER 在一个表格被建立之后,修改表格的字段设计 INSERT 向一个表中增加行 UPDATE 更新表中已存在的行的某几列的值 DELETE 从一个表中删除行 GRANT 向数据库中的用户授以操作权限(如修改某个表的权限、删除某个表的权限) REVOKE 收回以前授予给当前数据库中用户的权限