跳到主要内容

任务一 结构化查询语言SQL

知识点​

1.什么是SQL?它有什么作用?​

答:SQL(Structured Query Language)是一种结构化查询语言,专门用来访问和操作数据库,可与多种数据库管理系统软件协同工作,如Oracle、SQL Server、MySQL、MS Access、DB2等。SQL具有交互性,能为用户提供极大的便利,提高计算机应用系统的工作质量与效率。

2.SQL语言按功能分为哪几类?它们的作用分别是什么?​

答:SQL语言按功能分为三部分:

(1)数据定义语言(DDL,Data Definition Language):主要用于对数据库、表、视图、索引等数据库对象进行创建、删除、修改操作。例如:CREATE语句创建数据库和数据表,ALTER语句修改表的定义,DROP语句删除数据库和数据表。

(2)数据操作语言(DML,Data Manipulation Language):又称为数据操纵语言,主要用于对数据表中的数据进行查询及增删改操作。例如:SELECT语句查询记录,INSERT语句插入记录,UPDATE语句更新记录,DELETE语句删除记录。

(3)数据控制语言(DCL,Data Control Language):主要用于控制用户的访问权限。例如:GRANT语句给用户增加权限,REVOKE语句收回用户的权限。

3.简述SQL的发展历程。​

答:SQL是IBM公司于1975-1979年开发出来的。1986年10月美国国家标准局(ANSI)数据库委员会批准SQL作为关系数据库语言的美国标准,公布SQL-86标准。1987年6月ISO正式采纳SQL为国际标准。1989年4月,ISO提出具有完整性特征的SQL-89标准。1992年11月公布SQL-92标准,1999年公布SQL-99标准。各大数据库厂商的产品都从很大程度上支持SQL标准,但在实践中作了一些修改和补充,不同数据库产品的SQL存在少量差别。

4.SQL语言有哪些主要特点?​

答:(1)一体化语言:SQL包括了数据定义、数据查询、数据操纵和数据控制等各方面的功能,可以完成数据库活动中的全部工作。 (2)高度非过程化语言:不需要告诉计算机"如何"去做,只需要描述清楚用户要"做什么",SQL自动完成全部工作,减轻了用户负担,提高了数据独立性。 (3)语言简洁:功能极强但设计巧妙,完成核心功能只需要几条命令,语法简单,接近自然语言(英语),容易学习和掌握。 (4)使用方式灵活:可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。很多数据库应用开发工具将SQL直接融入进来(如MySQL)。

5.SQL语言的语法规则有哪些?​

答:(1)SQL语句可以写在一行或者多行,较长语句的各子句可以分行写,必要时使用缩进。 (2)每条命令可以以分号";"或"\g"或"\G"结束。 (3)关键字不能缩写也不能分行书写。 (4)必须保证所有的圆括号、单引号、双引号成对出现,必须使用英文状态下的半角输入方式。 (5)MySQL在Windows环境下大小写不敏感,在Linux环境下大小写敏感。 (6)单行注释使用"-- 注释文字"(--后面必须至少包含一个空格),MySQL中还支持用"#"做单行注释;多行注释使用"/* 注释文字 */"。

6.SQL语言中常用的命令动词有哪些?各属于哪种类型?​

答:DDL类型的命令:CREATE(创建数据库、数据表、视图等)、DROP(删除数据库、数据表等)、ALTER(修改表的定义等)。 DML类型的命令:SELECT(查询记录)、INSERT(插入记录)、DELETE(删除记录)、UPDATE(更新数据)。 DCL类型的命令:GRANT(给用户增加权限)、REVOKE(收回用户的权限)。

7.为什么不同数据库产品的SQL仍然存在少量差别?​

答:当前尽管许多DBMS供应商通过增加语句或指令的方式对SQL进行了各自的扩展,但它们仍然遵循SQL标准,并以标准SQL为主体。这种扩展的目的主要是为了提供执行特定操作的额外功能或简化方法。因此不同数据库产品的SQL存在少量差别,MySQL也不例外。对于MySQL数据库交互操作的学习,应以SQL为基础。

8.SQL成为国际标准后有什么影响?​

答:SQL成为国际标准后,由于功能丰富、语言简捷,被众多计算机公司和软件公司所采用,对数据库以外的领域也产生了很大影响。各个数据库厂家纷纷推出各自的SQL软件或与SQL的接口软件,使大多数数据库均用SQL作为共同的数据存取语言和标准接口,使不同数据库系统之间的互操作有了共同的基础。SQL已成为数据库领域的主流语言,几乎所有关系数据库管理系统都支持SQL。