第3章关系数据库标准语言SQL(1)

时间:2025-07-08

数据库SQL语言

数据库原理及应用Principle and Application of Database

第四章 关系数据库标准语言SQL

数据库原理及应用

数据库SQL语言

学习目标了解SQL语言的特点 掌握SQL的数据定义

掌握SQL的单表查询

数据库原理及应用

数据库SQL语言

4.1

SQL概述

SQL的特点 综合统一:SQL语言集数据定义语言DDL、数据操纵语言DML 、数据控制语言DCL的功能于一体。 高度非过程化:非关系数据模型的数据操纵语言是面向过程的语 言,操作必须指明存取路径;而用SQL语言进行数据操作,只要 提出“做什么”,无须指明“怎么做”,因此无需了解存取路径 。 面向集合的操作方式:非关系数据模型采用的是面向记录的操作 方式,操作对象是一条记录;而SQL语言采用的集合操作方式, 不仅操作对象、查询结果可以是元组的集合,而且一次插入、删 除、更新操作的对象也可以是元组的集合。 以同一种语法结构提供两种使用方法:SQL语言既是自含式语言 ,能独立地用于联机交互;又是嵌入式语言,能嵌入到高级语言 中进行混合编程。数据库原理及应用3

数据库SQL语言

语言简洁,易学易用:完成核心功能只用9个动词:表 3.1 SQL 语言的动词 SQL 功 能 数 据 定 义 数 据 查 询 数 据 操 纵 数 据 控 制 动 词 CREATE, DROP, ALTER SELECT INSERT,UPDATE DELETE GRANT,REVOKE

数据库原理及应用

数据库SQL语言

4.2定义、修改与删除基本表 定义基本表 CREATE TABLE <表名>

数 据 定 义

(<列名> <数据类型>[ <列级完整性约束条件> ] [,<列名> <数据类型>[ <列级完整性约束条件>] ] … [,<表级完整性约束条件> ] ); 其中:表名为所要定义的基本表的名字,列名为组成该表的 各个属性(列),列级完整性约束条件为涉及相应属性列的完整性 约束条件,表级完整性约束条件为涉及一个或多个属性列的完整 性约束条件。常用的完整性约束有:主码约束PRIMARY KEY 、唯一性约束UNIQUE、非空值约束NOT NULL、参照完整性约 束FOREIGN KEY REFERENCES。数据库原理及应用5

数据库SQL语言

[例1]建立一个“学生”表Student,它由学号Sno、姓名 Sname、性别Ssex、年龄Sage、系别Sdept五个属性组成。 其中学号不能为空,值是唯一的,并且姓名取值也唯一。CREATE TABLE Student (Sno CHAR(5) NOT NULL UNIQUE,

Sname CHAR(20) UNIQUE, Ssex CHAR(1) ,Sage INT,Sdept CHAR(15)); Sno Sname Ssex Sage Sdept

字符型, 长度为5, 不能为空

字符型, 长度为 20

字符型 长度为 1

整数

字符型 长度为 15

数据库原理及应用

数据库SQL语言

修改基本表

ALTER TABLE <表名> [ ADD <新列名> <数据类型> [ 完整性约束 ] ] [ DROP <完整性约束名> ] [ DROP column <列名> ] [ MODIFY <列名> <数据类型> ]; 其中:表名为要修改的基本表,ADD子句为增加新列和新的完 整性约束条件,DROP子句为删除指定

的完整性约束条件, MODIFY子句为用于修改列名和数据类型。[例2]向Student表增加“入学时间”列,其数据类型为日期型。 ALTER TABLE Student ADD Scome DATE;

不论基本表中原来是否已有数据,新增加的列一律为空值。数据库原理及应用7

数据库SQL语言

[例3]将年龄的数据类型改为半字长整数。 ALTER TABLE Student MODIFY Sage SMALLINT; 修改原有的列定义有可能会破坏已有数据。 [例4]删除学生姓名必须取唯一值的约束。

ALTER TABLE Student DROP UNIQUE(Sname);SQL没有提供删除属性列的语句,用户只能间接实现这一功能 :先把表中要保留的列及其内容复制到一个新表中,然后删除 原表,再将新表重命名为原表名。但有的DBMS提供直接删除 属性列的语句,如:ALTER TABLE Student Drop Scome;

数据库原理及应用

数据库SQL语言

删除基本表 DROP TABLE <表名>; 基本表定义一旦删除,表中的数据、表上建立的索引和视图都 将自动删除。但Oracle中删除基本表后建立在此表上的视图仍保 留在数据字典中,但用户引用时就出错。 [例5]删除Student表。 DROP TABLE Student ;

建立与删除索引建立索引是加快查询速度的有效手段,建立与删除索引由DBA 或表的属主负责完成,但有些DBMS自动建立PRIMARY或KEY UNIQUE列上的索引。数据库原理及应用9

数据库SQL语言

建立索引 CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…); 用<表名>指定要建索引的基本表。 索引可以建立在该表的一列或多列上,各列名之间用逗号分隔 用<次序>指定索引值的排列次序,升序ASC,降序DESC。缺省ASC。 UNIQUE表明此索引的每一个索引值只对应唯一的数据记录。 CLUSTER表示要建立的索引是聚簇索引。 [ 例 6] 为 学 生 - 课 程 数 据 库 中 Student,Course,SC 三 个 表 建 立 索 引 。 其 中 Student表按学号升序建唯一索引,Course表按课程号升序建唯一索引, SC表按学号升序和课程号降序建唯一索引。 CREATE UNIQUE INDEX Stusno ON Student(Sno); CREATE UNIQUE INDEX Coucno ON Course(Cno); CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);数据库原理及应用10

数据库SQL语言

唯一索引:对于已含重复值的属性列不能建UNIQUE索引,对 某个列建立UNIQUE索引后,插入新记录时DBMS会自动 …… 此处隐藏:2144字,全部文档内容请下载后查看。喜欢就下载吧 ……

第3章关系数据库标准语言SQL(1).doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219