目录第4章 是上页关系数据库标准语言SQL 下一页 退出
1 第4章 关系数据库标准语言SQL 目 录 上一页 下一页 退 出
本章要点 A且录 41SQL语言的基本概述 42数据定义 上一页 下页43数据操纵 退出 44数据管理 4.5SOL中的数据查询语句
目 录 上一页 下一页 退 出 2 本 章 要 点 4.1 SQL语言的基本概述 4.2 数据定义 4.3 数据操纵 4.4 数据管理 4.5 SQL中的数据查询语句
41.1SQL语言的特点 x1.综合统一 且录」SQL语言集数据定义(DDL)、数据操纵(DML)、数 据管理(DCL)的功能于一体,语言风格统一,可以独立完 成数据库的全部操作,包括定义关系模式、录入数据及建立 上一页数据库、查询、更新、维护数据、数据库的重新构造、数据 下一页库安全性等一系列操作的要求,为数据库应用系统开发者提 供了良好的环境。 退出 2.高度非过程化 3.面向集合的操作方式 以同一种语法结构提供两种使用方式 5.语言简洁,易学易用
目 录 上一页 下一页 退 出 3 1.综合统一 SQL语言集数据定义(DDL)、数据操纵(DML)、数 据管理(DCL)的功能于一体,语言风格统一,可以独立完 成数据库的全部操作,包括定义关系模式、录入数据及建立 数据库、查询、更新、维护数据、数据库的重新构造、数据 库安全性等一系列操作的要求,为数据库应用系统开发者提 供了良好的环境。 2.高度非过程化 3.面向集合的操作方式 4.以同一种语法结构提供两种使用方式 5.语言简洁,易学易用 4.1.1 SQL语言的特点
412SQL语言的基本概念 A且录 S癿L语言支持关系型数据库的三级模式结构。其中外模式对 应于视图(View)和部分基本表( Base table),模式对应于 上一页基本表,内模式对应于存储文件 下一页 基本表是本身独立存在的表,在SQL语言中一个关系对应 个表。一些基本表对应一个存储文件,一个表可以带若干索引 4退出索引存放在存储文件中。 存储文件的逻辑结构组成了关系型数据库的内模式。而存 储文件的物理文件结构是任意的。 视图是从基本表或其他视图中导出的表,它本身不独立存 之」。储在数据库中,也就是说数据库只存放在视力的定义而不存放 视图对应的数据,这些数据仍存放在导出视图的基本表中,因 此视图是一个虚表
目 录 上一页 下一页 退 出 4 4.1.2 SQL语言的基本概念 SQL语言支持关系型数据库的三级模式结构。其中外模式对 应于视图(View)和部分基本表(Base Table),模式对应于 基本表,内模式对应于存储文件。 基本表是本身独立存在的表,在SQL语言中一个关系对应一 个表。一些基本表对应一个存储文件,一个表可以带若干索引, 索引存放在存储文件中。 存储文件的逻辑结构组成了关系型数据库的内模式。而存 储文件的物理文件结构是任意的。 视图是从基本表或其他视图中导出的表,它本身不独立存 储在数据库中,也就是说数据库只存放在视力的定义而不存放 视图对应的数据,这些数据仍存放在导出视图的基本表中,因 此视图是一个虚表
42数据定义 且』数据定义语言DL用于执行数据定义的操作,如创建或删 除表、索引和视图之类的对象。由 CREATE、DROP、 ALtER 上一页 命令组成,完成数据库对象的建立( CREATE)、删除(DROP 和修改( ALTER)。 下一页 42.1定义(创建)表 退出 【格式】 CREATE TABLE((…) 【功能】定义(也称创建)一个表
目 录 上一页 下一页 退 出 5 数据定义语言DDL用于执行数据定义的操作,如创建或删 除表、索引和视图之类的对象。由CREATE、DROP、ALTER 命令组成,完成数据库对象的建立(CREATE)、删除(DROP) 和修改(ALTER)。 4.2.1 定义(创建)表 【格式】CREATE TABLE ([([,])][完整性约束][NULL | NOT NULL][,…]) 【功能】定义(也称创建)一个表。 4.2 数据定义
【例41】创建一个表STUD(学生信息表),它由以下字段组 2+且录成:学号(C,10):姓名(C,8):性别(C2):班级名 (C,10);系别代号(C,2);地址(C,50);出生日期 (D);是否团员(L);备注(M)。 上一页 CREATE TABLE STUD(学号C(10),姓名c(10),性别 下一页c(2),班级名C(0),系别代号C(2),地址c(50) 出生日期D,是否团员L,备注M,照片G) 退出 LIST STRUCTURE 【例4-2】创建一个表SC(课程成绩表),它由以下字段组成: 学号(C,10);课程号(C,2)。 CREATE TABLE SC(学号c(10),课程号c(2)) LIST STRUCTURE
目 录 上一页 下一页 退 出 6 【例4-1】创建一个表STUD(学生信息表),它由以下字段组 成:学号 (C,10);姓名(C,8);性别(C,2);班级名 (C,10);系别代号(C,2);地址(C,50);出生日期 (D);是否团员 (L);备注 (M)。 CREATE TABLE STUD(学号C(10),姓名 C(10),性别 C(2),班级名 C(10),系别代号 C(2),地址 C(50), 出生日期 D,是否团员 L,备注 M,照片 G) LIST STRUCTURE 【例4-2】创建一个表SC(课程成绩表),它由以下字段组成: 学号(C,10);课程号(C,2)。 CREATE TABLE SC(学号 C(10),课程号 C(2)) LIST STRUCTURE
42.2修改表 【格式】 ALTER TABLEADD数据类 2名且录型(宽度数据类型习 【功能】修改表结构。 上一页 【说明】ADD子句用于增加指定表的字段变量名、数据类型、 礼下一页宽度和完整性约束条件:DROP子句用于删除指定的的完整性 退出约束条件; MODIFY子句用于修改原有的字段变量的值。 【例4-3】在课程成绩表SC中,增加一个成绩字段变量(N, 3) ALTER TABLE SC ADD成绩N(3) LIST STRUCTURE
目 录 上一页 下一页 退 出 7 【格式】ALTER TABLE [ADD [([,])][完整性约束][NULL | NOT NULL]][DROP [完整性约束]][MODIFY ] 【功能】修改表结构。 【说明】ADD子句用于增加指定表的字段变量名、数据类型、 宽度和完整性约束条件;DROP子句用于删除指定的的完整性 约束条件;MODIFY子句用于修改原有的字段变量的值。 【例4-3】在课程成绩表SC中,增加一个成绩字段变量(N, 3)。 ALTER TABLE SC ADD 成绩 N(3) LIST STRUCTURE 4.2.2 修改表
42.3删除数据库 【格式】 DROP DATABASE 且录【功能】删除指定数据库的结构和数据。 【说明】谨慎使用 上一页 下一页 42.4删除表 4退出【格式】 DROP TALBE 【功能】删除指定表的结构和内容(包括在此表上建 立的索引)。 【说明】如果只是想删除一个表中的所有记录,则应 使用 DELETE语句
目 录 上一页 下一页 退 出 8 【格式】DROP DATABASE 【功能】删除指定数据库的结构和数据。 【说明】谨慎使用。 4.2.4 删除表 【格式】DROP TALBE 【功能】删除指定表的结构和内容(包括在此表上建 立的索引)。 【说明】如果只是想删除一个表中的所有记录,则应 使用DELETE语句。 4.2.3 删除数据库
4.3数据操纵 数据操纵语言是完成数据操作的命令,一般分为两种类型 且录的数据操纵,它们统称为DM: 数据检索(常称为查询):寻找所需的具体数据。 上一页●数据修改:添加、删除和改变数据。 下一页数据操纵语言一般由 INSERT(插入)、DELE(删除) 退出 UPDATE(更新), SELETE(检索,又称查询)等组成,由 于 SELETE比较特殊,所以一般又将它以査询(检索)语言 单独出现
目 录 上一页 下一页 退 出 9 数据操纵语言是完成数据操作的命令,一般分为两种类型 的数据操纵,它们统称为DML: ● 数据检索(常称为查询):寻找所需的具体数据。 ● 数据修改:添加、删除和改变数据。 数据操纵语言一般由INSERT(插入)、DELETE(删除)、 UPDATE(更新),SELETE(检索,又称查询)等组成,由 于SELETE比较特殊,所以一般又将它以查询(检索)语言 单独出现。 4.3 数据操纵
4.3.1插入记录 【格式1】 INSERT NTO字段名表> VALUES 且录() 【格式2】 INSERT INTO FROM ARRAY 上一页 I FROM MEMVAR 下一页 【功能】在指定的表文件末尾追加一条记录。格式1用表达式表 中的各表达式值赋值给中的相应的各字段。格式2 退出用数组或内存变量的值赋值给表文件中各字段。 【说明】如果某些字段名在ⅠNTO子句中没有出现,则新记录在 这些字段名上将取空值(或默认值)。但必须注意的是,在表 定义说明了 NOT NULL的字段名不能取空值
目 录 上一页 下一页 退 出 10 【格式1】INSERT INTO [] VALUES () 【格式2】INSERT INTO FROM ARRAY | FROM MEMVAR 【功能】在指定的表文件末尾追加一条记录。格式1用表达式表 中的各表达式值赋值给中的相应的各字段。格式2 用数组或内存变量的值赋值给表文件中各字段。 【说明】如果某些字段名在INTO子句中没有出现,则新记录在 这些字段名上将取空值(或默认值)。但必须注意的是,在表 定义说明了NOT NULL的字段名不能取空值。 4.3.1 插入记录