任务1-3 认识SQL及其组成
结构化查询语言(Structured Query Language,SQL)是一种用于实现特定目的的编程语言,主要用来管理数据库中的数据,如存取数据、查询数据、更新数据等。
SQL是高级的非过程化编程语言,它允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解其具体的数据存放方式。它的界面能使具有完全不同底层结构的数据库系统使用相同的SQL作为数据的输入与管理方式。
lBM公司于1975—1979年将SQL开发出来,在20世纪80年代,SQL被美国国家标准学会(American National Standards lnstitute,ANSl) 和国际标准化组织 (lnternational Organization for Standardization,lSO)定义为关系数据库语言的标准,它由4部分组成,具体如下。
(1)数据定义语言
数据定义语言(Data Definition Language,DDL)主要用来创建或者删除用于存储数据的数据库及数据库中的表等对象。DDL包含以下几种指令。
● CREATE:创建数据库和表等对象。
● ALTER:修改数据库和表等对象的结构。
● DROP:删除数据库和表等对象。
(2)数据操作语言
数据操作语言(Data Manipulation Language,DML)主要用来查询或者变更数据表中的记录。DML包含以下几种指令。
● lNSERT:向数据表中插入数据。
● UPDATE:修改数据表中的数据。
● DELETE:删除数据表中的数据。
(3)数据查询语言
数据查询语言(Data Query Language,DQL)语句也称为数据检索语句,用于从表中获取数据。保留字 SELECT 是 DQL(也是所有 SQL)用得最多的动词,DQL 其他常用的保留字有WHERE、ORDER BY、GROUP BY和HAVlNG等。
(4)数据控制语言
数据控制语言(Data Control Language,DCL)主要用来确认或者取消对数据库中的数据进行的变更。除此之外,它还可以对关系数据库管理系统的用户是否有权限操作数据库中的对象(数据表等)进行设定。DCL包含以下几种指令。
● COMMlT:确认对数据库中的数据进行的变更。
● ROLLBACK:取消对数据库中的数据进行的变更。
● GRANT:赋予用户操作权限。
● REVOKE:取消用户的操作权限。
初学者在写SQL语句时,只要遵守以下几个书写规则,就可以避免很多错误。
① SQL语句要以分号(;)结尾。
② SQL语句的关键字不区分字母大小写,插入表中的数据区分字母大小写。
③ 常数的书写方式是固定的,字符串和日期常数需要使用单引号(')引起来,数字常数无须加注单引号,直接书写即可。
④ 单词间需要用半角空格或者通过换行来分隔,不能使用全角空格作为单词的分隔符。
注意
标准SQL可以在任何数据库中使用,而数据库厂商的SQL只适用于与其对应的数据库,如T-SQL只适用于Microsoft SQL Server。本书讲解的SQL是专门针对MySQL的,虽然多数语法也适用于其他数据库管理系统,但不是所有SQL语法都是可移植的。