本文主要介绍关系数据库标准语言 SQL的相关知识,供大家参考!
第五章 关系数据库标准语言 SQL
大纲要求
关系数据库标准语言 SQL
1、 SQL的数据定义功能:
(1) CREATE TABLE –SQL
(2) ALTER TABLE –SQL
2、 SQL的数据修改功能:
(1) DELETE –SQL
(2) INSERT –SQL
(3) UPDATE –SQL
3、 SQL的数据查询功能:
(1) 简单查询。
(2) 嵌套查询。
(3) 连接查询。
内连接
外连接:左连接、右连接、完全连接
(4) 分组与计算查询。
(5) 集合的并运算。
知识要点
一. SQL 语言的特点
1.综合统一
SQL 语言集数据定义(DDL)、数据操纵(DML)、数据管理(DCL)的功能于一体,语言风格统一,可以独立完成数据库的全部操作,包括定义关系模式、录入数据及建立数据库、查询、更新、维护数据、数据库的重新构造、数据库安全性等一系列操作的要求,为数据库应用系统开发者提供了良好的环境。
2.高度非过程化
3.语言简洁,易学易用
4.以同一种语法结构提供两种使用方式既可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。
二. SQL 语言的基本概念
SQL 语言支持关系型数据库的三级模式结构。其中外模式对应于视图(View)和部分基本表(Base Table),模式对应于基本表,内模式对应于存储文件。基本表是本身独立存在的表,在SQL 语言中一个关系对应一个表。一些基本表对应一个存储文件,一个表可以带若干索引,索引存放在存储文件中。
存储文件的逻辑结构组成了关系型数据库的内模式。而存储文件的物理文件结构是任意的。视图是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,也就是说数据库只存放在视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。
三. 数据定义
数据定义语言DDL 用于执行数据定义的操作,如创建或删除表、索引和视图之类的对象。由CREATE、DROP、ALTER 命令组成,完成数据库对象的建立(CREATE)、删除(DROP)和修改(ALTER)。
1. 定义(创建)表
【格式】:
CREATE TABLE <表名> (<字段名1><数据类型>;
[(<宽度>[,<小数位数>])][完整性约束];
[NULL | NOT NULL][,<字段名2>…])
【功能】定义(也称创建)一个表。
【例1】创建一个表SC(课程成绩表),它由以下字段组成:学号(C,10);课程号(C,2)。
CREATE TABLE SC(学号 C(10),课程号 C(2))
LIST STRUCTURE
【例2】创建一个表STUD(学生信息表),它由以下字段组成:学号 (C,10);姓名(C,8);性别(C,2);班级名(C,10);系别代号(C,2);地址(C,50);出生日期 (D);是否
团员 (L);备注 (M);照片(G)。
CREATE TABLE STUD(学号 C(10),姓名 C(10),性别 C(2),班级名 C(10),系别代号 C(2),地址C(50),出生日期 D,是否团员 L,备注 M,照片 G)LIST STRUCTURE
2. 修改表
【格式】
ALTER TABLE <表名>[ADD <新字段名><数据类型>[(<宽度>[,<小数位数>])][完整性约束][NULL | NOT NULL]][DROP [完整性约束]][MODIFY <字段名><数据类型>]
【功能】修改表结构。
【说明】ADD 子句用于增加指定表的字段变量名、数据类型、宽度和完整性约束条件;DROP子句用于删除指定的的完整性约束条件;MODIFY 子句用于修改原有的字段变量的值。
【例】在课程成绩表SC 中,增加一个成绩字段变量(N,3)。
ALTER TABLE SC ADD 成绩 N(3)
LIST STRUCTURE
3.删除数据库
【格式】DROP DATABASE <数据库名>
【功能】删除指定数据库的结构和数据。
【说明】谨慎使用。
4. 删除表
【格式】DROP TALBE <表名>
【功能】删除指定表的结构和内容(包括在此表上建立的索引)。
【说明】如果只是想删除一个表中的所有记录,则应使用DELETE 语句。
例题:
1.SQL是______语言。
A.结构化查询
B.数据定义
C.数据操作
D.数据控制
[解析] 本题考查的知识点是SQL语言的基础知识。在Visual FoxPro中,SQL是结构化查询语言。 选项B,C,D说法错误,在Visual FoxPro中有数据定义语言、数据操作语言、数据控制语言。
[答案] A
2.SQL除了具有数据查询的功能外,还有_____。
A. 数据定义
B.数据操纵
C. 数据控制
D.以上答案均正确
[ 解析] 本题考查的知识点是SQL语言的作用。在VisualFoxPro中,SQL的功能有四个:数据查询、数据定义、数据操纵、数据控制。因此正确答案为D。
[答案] D
3.下列选项中,不属于数据定义功能的SQL语句是__________。
A.CREATE
B.ALTER
C.SELECT
D.DROP
[解析] 本题考查的知识点是SQL命令动词的作用。选项A用来创建表;选项B用来修改表结构;选项C用来查询;选项D用来删除表文件。在Visual FoxPro中,选项A,B,D都具有数据定义功能,只有选项C具有数据查询的功能。
[答案] C
4.SQL的核心是__________。
A.数据查询
B.数据定义
C.数据操纵
D.数据控制
[解析] 本题考查的知识点是SQL的核心。SQL作为结构化查询语言,其核心是查询。因此正确答案为A。
[答案] A
5.SQL同其他数据操作语言不同,其关键在于_____。
A.SQL是一种过程性语言
B.SQL是一种非过程性语言
C.SQL语言简练
D.SQL的词汇有限
[解析] 本题考查的知识点是SQL不同于其他语言的关键。SQL同其他数据操作语言不同的关键是SQL是一种非过程性语言。通过这一功能用户只需说明做什么,而不用说明怎么做,不用了解数据存储的格式及SQL命令的内部执行过程,就可以方便地对数据库进行操作。选项A的说法错误,选项C和D是SQL语言的特点,但不是SQL语言同其他数据操作语言不同的关键。
[答案] B
6.建立表结构的SQL命令是____。
A.ALTER TABLE
B.DROP TABLE
C.CREAT TABLE
D.CREAT INDEX
[解析] 本题考查的知识点是建立表结构的SQL命令。建立表结构的SQL命令是CREAT TABLE。ALTER TABLE命令的作用是修改表结构;DROP TABLE命令的作用是删除表;CREAT INDEX命令的作用是建立索引。
[答案] C
7.SQL可以_____使用,也可以_____使用。
[解析] 本题考查的知识点是SQL语言的使用方式。SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。
[答案] 直接以命令方式交互,嵌入到程序设计语言中以程序方式
8.在ALTER TABLE中,_____用来添加新字段;_____修改已有字段。
[解析] 本题考查的知识点是ALTER TABLE命令及各子项的作用。在ALTER TABLE命令中,ADD用来添加新字段;ALTER用来修改已有字段。
[答案] ADD ALTER