文档详情

《数据库原理及应用(第二版)》课件 第5章 SQL语言.pptx

发布:2025-06-04约1.97万字共156页下载文档
文本预览下载声明

第5章SQL语言;本章要点;一、SQL概述;1、SQL语言的特点;2、SQL语言的组成;常见SQL语句;3、SQL语句的结构;4、常用的SQL语句;4、常用的SQL语句;4、常用的SQL语句;2010年10月第页;2010年10月第页;2010年10月第页;2010年10月第页;二、数据定义语言(DDL);【例5-5】创建玩具表Toys。

CREATETABLEToys(

cToyId CHAR(6),

vToyName VARCHAR(20),

vToyDescription VARCHAR(250),

cCategoryId CHAR(3),

mToyRate DECIMAL(12,2),

cBrandId CHAR(3),

vPhotopath VARCHAR(1000),

siToyQoh SMALLINT,

siLowerAge SMALLINT,

siUpperAge SMALLINT,

siToyWeight FLOAT,

vToyImgPath VARCHAR(50)

);SQL语句中的ALTERTABLE语句来修改字段数据类型、添加和删除字段等。其一般格式为:

ALTERTABLE表名

[ADD[COLUMN]新列名数据类型[完整性约束]

[ADD表级完整性约束]

[DROP[COLUMN]列名]

[DROPCONSTRAINT完整性约束名]

[ALTERCOLUMN列名数据类型];;【例5-6】在玩具表中添加一个进货时间列dStockTime。命令如下:

ALTERTABLEToysADDdStockTimeDATETIME

【例5-8】将玩具表中的进货时间列删除。命令如下:

ALTERTABLEToysDROPCOLUMNdStockTime

;【例5-7】将玩具表的玩具描述列的数据类型修改为varchar(1000)。

SQLServer的命令如下:

ALTERTABLEToysALTERCOLUMNvToyDescriptionVARCHAR(1000)

MySQL的命令如下:

ALTERTABLEToysMODIFYCOLUMNvToyDescriptionVARCHAR(1000)

;DROPTABLE命令可以删除一个表和表中的数据及其与表有关的所有索引、触发器、约束。语法如下:

DROPTABLEtable_name

注意:在删除一个表之前要先删除与此表相关联的表中的外关键字约束。

【例5-9】删除Toys表。

DROPTABLEToys;实体完整性是通过在表中创建主键来实现的。主键值不能取空值并且不能重复。可以在CREATETABLE语句中用PRIMARYKEY定义主键。

;或者

CREATETABLEToyBrand(

cBrandIdCHAR(3),

cBrandNameCHAR(20)NOTNULL,

PRIMARYKEY(cBrandId)/*在表级定义主键*/

)

或者

CREATETABLEToyBrand(

cBrandIdCHAR(3),

cBrandNameCHAR(20)NOTNULL,

CONSTRAINTpkBraIdPRIMARYKEY(cBrandId)/*在表级定义主键*/

);二、数据定义语言(DDL);如果数据表已经存在但没有定义主键,可??使用ALTERTABLE语句对表进行修改,添加主键约束,但要求主键列设置了NOTNULL属性,否则不能添加。

【例5-12】将订单表的订单编号设置为主键。

ALTERTABLEOrders

ADDCONSTRAINTpkOrderNoPRIMARYKEY(cOrderNo)

或者

ALTERTABLEOrders

ADDPRIMARYKEY(cOrderNo);如果要删除主键约束,同样可以使用ALTERTABLE命令。

SQLServer的语句如下:

ALTERTABLEOrders

DROPCONSTRAINTpkOrderNo

MySQL的语句如下:

ALTERTABLEtoys

DROPPRIMARYKEY

;当向表中插入或修改数据时,系统要对实体完整性规则自动进行检查,包括:

检查主键值是否唯一,如果不唯一则拒绝插入或修改。

检查主键的每一个列是否为空,只要有一个为空就拒绝插入或修改。;在关系数据库中用外键来实现参照完整性。可以在CREATETABLE语句中用FOREIGN

显示全部
相似文档