- 21天学通SQL Server
- 秦婧 刘存勇编著
- 1625字
- 2020-08-27 04:47:28
1.3 认识SQL语言
人与人交互必须使用人类的某种自然语言,例如英语、汉语和蒙语等。人与数据库交互就不能使用人类的自然语言了,而需要使用SQL语言。人们使用SQL语言可以告诉具体的数据库系统要干什么工作,让其返回什么数据等。
1.3.1 什么是SQL
SQL(Structured Query Language,结构化查询语言)是用于数据库查询和设计的语言。最早的SQL标准是在20世纪80年代初,由美国国家标准局(ANSI)制定的。出台SQL的标准后,很多数据库系统都支持SQL的标准,这也就是为什么学了SQL语言后,就可以使用任何一款数据库产品的原因。目前大部分的数据库使用的是1999年制定的SQL-99标准。在此之前有过SQL-92标准、SQL-89标准、SQL-86标准,分别是在1992年、1989年、1986年制定的SQL标准。SQL语言之所以被数据库采用,主要是因为SQL具有如下特点:
1.综合性
综合性是指使用SQL语言可以完成数据表的创建、删除、修改及对表中数据的添加、修改、删除、查询等操作,此外,还可以通过SQL语言为数据库的用户授予和收回用户的权限。
2.高度非过程化
所谓非过程化就是指在完成某些操作时不需要指定完成的步骤,过程化的操作就像安装文件,安装程序必须按安装步骤一步一步安装,并且在安装程序时还要执行安装文件的路径等操作。而非过程化的操作就是指出“做什么”就行,比如向表中插入数据。
3.语法简单易学
任何一种语言能够作为一个标准的前提是这种语言必须简单易学,SQL语言就是这样一种语言。数据库本身就是用来存储数据的,那么操作数据也不会那么复杂,因此SQL语言也是很多数据库厂商的首选,同时提高了数据库语言的通用性。虽然每一款数据库都使用SQL语言作为操作数据库的语言,但是每一款数据库中都在SQL语言的基础上添加了能够体现各自数据库特征的语言,也可以说是对SQL语言的扩充,比如在SQL Server中使用T-SQL语言,在Oracle中使用PL/SQL语言。
1.3.2 SQL语言的分类
SQL语言可以完成对数据表的操作、表中数据的操作、用户权限的操作以及数据查询的操作,根据SQL语言操作可以把SQL语言分为4类:数据定义语言、数据操纵语言、数据控制语言及数据查询语言。下面将分别讲解这4类语言的使用。
1.数据定义语言(DDL)
数据定义语言(DDL),即Data Definition Language。所谓数据定义语言,就是指对数据表定义的语言。在数据定义语言中主要有CREATE、ALTER、DROP及TRUNCATE 4个关键字。其中,
● CREATE:CREATE的中文意思就是创建,使用它可以完成创建表的操作。
● ALTER:ALTER的中文意思就是改变,使用它可以完成修改表的操作。
● DROP:DROP的中文意思就是放弃,使用它可以完成删除表的操作。
● TRUNCATE:TRUNCATE的中文意思就是截去,使用它可以完成删除表中全部数据的操作。但是如果使用TRUNCATE删除数据,数据是不能恢复的,所以使用TRUNCATE删除表中数据的效率是比较高的。
2.数据操纵语言(DML)
数据操纵语言(DML),即Data Manipulation Language。所谓数据操纵语言,是指对数据表中数据的操作。在数据操纵语言中主要有INSERT、UPDATE、DELETE 3个关键字。具体的相关含义如下。
● INSERT:INSERT的中文意思是插入,使用INSERT可以完成向数据表中添加数据的操作。
● UPDATE:UPDATE的中文意思是更新,使用UPDATE可以完成更新数据表中的数据。
● DELETE:DELETE的中文意思是删除,使用DELETE可以完成删除数据表中的数据。
说明:在DDL语言中讲解了TRUNCATE关键字也是用来删除表中数据的,DELETE与TRUNCATE的区别是使用DELETE删除的数据还能恢复,并且使用DELETE可以删除表中的部分数据,但是从性能方面考虑,使用DELETE删除数据性能差一些。
3.数据控制语言(DCL)
数据控制语言(DCL),即Data Control Language。所谓数据控制语言,是指对数据库中的用户进行权限的控制。在数据控制语言中主要有GRANT、DENY、REVOKE 3个关键字。它们的含义如下。
● GRANT:GRANT的中文意思是授予,使用它可以为数据库中用户授予权限。
● DENY:DENY的中文意思是拒绝、否认,使用它可以限制数据库中用户的权限。
● REVOKE:REVOKE的中文意思是撤销,使用它可以撤销数据库中用户的权限。
4.数据查询语言(DQL)
数据查询语言(DQL),即Data Query Language。在有的书上也把DQL语言归到DML语言中,本书为了方便区分对数据表的操作,特将其与DML语言分开。在数据查询语言中只有一个关键字,就是SELECT,主要用于查询数据表中的数据。查询可以说是数据表操作中最常用的一种操作,经常用于统计。