文档详情

第五章 结构化查询语言.pptx

发布:2025-03-11约3千字共51页下载文档
文本预览下载声明

第五章结构化查询语言;1.SQL简介

SQL语言是结构化查询语言(StructuredQueryLanguage)的缩写,它是一种介于关系代数和关系演算之间的语言,是关系数据库的标准语言。其功能包括数据定义、数据操纵和数据控制三个部分。

2.SQL语言的三个方面

数据定义语言DDL:定义数据表、视图和索引等

数据操纵语言DML:查询、插入、删除和修改数据库中数据的操作。

数据控制语言DCL:包括对数据库的安全控制、完整性控制以及对事务的定义、并发控制和恢复等。;定义数据表结构

CREATETABLE是用于定义表的语句。

语句基本格式为:

CREATETABLE|DBF表名[NAME长表名][FREE]

(字段名1字段类型(字段宽度[,小数位数])

[NULL|NOTNULL][CHECK逻辑表达式[ERROR提示信息]]

[DEFAULT默认值]

[PRIMARYKEY|UNIQUE]

[,字段名2字段类型(字段宽度[,小数位数])…],…);-NAME子句定义长表名

-NULL|NOTNULL选择字段的值是否允许为空值

-DEFAULT子句取默认值。

-CHECK子句检查约束,限制字段的取值范围。

-ERROR子句定义执行有效性规则时显示的提示信息。

-PRIMARYKEY|UNIQUE子句定义该字段为主关键字或候选关键字。;例5.1定义一个数据库表(student);CREATETABLEstudent(stunoC(10)NOTNULL

PRIMARYKEY,stunameC(8)NOTNULL,

genderC(2)default女,

depcodeC(2),birthplaceC(12),birthdateD,partyL)

其中:

-学号(stuno)和姓名(stuname)字段设置为非空

-stuno为主关键字

-性别(gender)字段默认值为“女”;执行SQL语句:

CREATETABLEsscore(stunoC(10)NOTNULL,;

ccodeC(7)NOTNULL,gradeN(5,1)CHECKgrade=0andgrade=100;

ERROR成绩应在0~100之间);执行SQL语句:

CREATETABLEcourseFREE(ccodeC(7)NOTNULL;UNIQUE,cnameC(20)NOTNULL,;

creditsN(3,1),depcodeC(2),characterC(10),examwayC(4));ALTERTABLE语句用于更改基本表结构,包括增加、删除、修改字段以及设置字段属性和表属性等。

该语句格式有两种:表字段属性和表属性。;ALTERTABLE语句语法结构:

ALTERTABLE表名

ALTER[COLUMN]字段名字段类型(字段宽度[,小数位数])

[NULL|NOTNULL]

[SETCHECK逻辑表达式[ERROR提示信息]]

[SETDEFAULT默认值]

[DROPCHECK]

[DROPDEFAULT];例5.4修改student,将性别(gender)字段规则设置为“性别为男或女”,并设置出错信息提示。

ALTERTABLEstudentALTERCOLUMNgender;

SETCHECKgender=男ORgender=女ERROR性别只能为男或女;修改字段类型和或宽度;2024-12-30;增加字段;2024-12-30;1.数据插入

语句格式如下:

INSERTINTO表名[(字段名1[,字段名2],…)]

VALUES(常量1[,常量2],…)

语句的功能是将VALUES子句中各常量组成的记录添加到表名所指定的表中。;例5.8向course表中插入一条新记录(4210211,男子篮球初级班,2.0,公共任选课,考查“)。

INSERTINTOcourse;

VALUES(4210211,男子篮球初级班,2.0,公共任选课,考查);2.数据修改

语句格式如下:

UPDATE表名SET字段名1=表达式1[,字段名2=表达式2]…

[WHERE条件表达式]

该语句的功能是修改指定数据表中满足WHERE子句指定条件的记录。

其中SET子句给出需修改的字段及其新的值。若不使用WHERE子句,则更新所有记录的指定字段值。;例5.10将教师表(teacher)中工号为“41165”教师的学历修改为“博士”。

UPDATEteac

显示全部
相似文档