《数据库原理及应用(第二版)》课件 第5章 SQL语言.pptx
第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