第9讲 SQL的数据定义语句Word格式.docx
- 文档编号:16037896
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:15
- 大小:66.67KB
第9讲 SQL的数据定义语句Word格式.docx
《第9讲 SQL的数据定义语句Word格式.docx》由会员分享,可在线阅读,更多相关《第9讲 SQL的数据定义语句Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
SQL语言功能很强,但它只有为数不多的几条命令。
另外SQL的语法也非常简单,它很接近英语自然语言,因此容易学习、掌握。
表5-1SQL命令动词
SQL功能
命令动词
数据查询
SELECT
数据定义
CREATE、DROP、ALTER
数据操纵
INSERT、UPDATE、DELETE
数据控制
GRANT、REVOKE
4.SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。
现在所有的关系数据库管理系统都支持SQL,VFP在SQL方面支持数据定义、数据查询和数据操纵,但没有提供数据控制功能。
二、SQL功能
1.操作功能
SQL的操作功能是指对数据库中数据的操作功能,主要包括数据的的插入、更新和删除三个方面的内容。
(1)插入操作
命令如下:
格式一:
INSERTINTO表名[(字段名表)]VALUES(字段值,字段值,…)
格式二:
INSERTINTO表名FROMARRAY数组名|FROMMEMVAR
其中:
●INSERTINTO表名说明向由表名指定的表中插入记录;
●当插入的不是完整的记录时,可以用“字段名表”指定字段;
●VALUES(字段值,字段值,…)给出具体的记录值;
●FROMARRAY数组名说明从指定的数组中插入记录值;
●FROMMEMVAR说明根据同名内存变量来插入记录值,如果同名的变量不存在,那么相应的字段为默认值或空值。
例1往订购单表中插入一个元组(“E7”,“S4”,“OR01”,{^2001-05-25})
订购单表(职工号C
(2),供应商号C(4),订购单号C(4),订购日期D)
INSERTINTO订购单表VALUES(“E7”,“S4”,“OR01”,{^2001-05-25})
往订购单表中插入一个元组只有“职工号”和“订购单号”两个属性的值,这时可用如下命令:
INSERTINTO订购单表(职工号,订购单号)VALUES(“E7”,“OR01”)
例2假设在数组arr1中有一组订购单记录,则可以用如下命令把它们插入到表中;
INSERTINTO订购单表FROMARRAYarr1
例3下列一组命令将数组中的数据插入到表中。
USE订购单表A
GO3
SCATTERTOARR1
COPYSTRUCTURETOORD2
INSERTINTOORD2FROMARRAYARR1
SELEORD2
BROWSE
USE
DELEFILEORD2.DBF
例4将同名变量的内容插入表中
GO2
SCATTERMEMVAR
COPYTOSTRUORD2
INSERTINTOORD2FROMMEMVAR
BROWSE
USE
DELEFILEORD2
注意:
当一个表定义了主索引或候选索引后,由于相应的字段具有关键字的特性,即不能为空,所以只能用此命令插入记录。
Foxpro以前的插入命令(INSERT或APPEND)是先插入一条空记录,然后再输入各字段的值,由于关键字字段不允许为空,所以使用以前的方法就不能成功地插入记录。
(2)更新操作
SQL的数据更新命令格式如下:
UPDATE表名SET字段名=表达式[,字段名=表达式,…][WHERE〈条件〉]
例5给职工表在WH1仓库的职工提高10%的工资。
条件短语
UPDATE职工表SET工资=工资*1.10WHERE仓库号=”WH1”
例6给“学生表X4”表中年有同学的年龄增加一岁
UPDATE学生SET年龄=年龄+1
又如
UPDATE学生表X4SET年龄=年龄+1,成绩=成绩+5
(3)删除操作
SQL从表中删除数据的命令格式如下:
DELETEFROM表名[WHERE<
条件>
]
注意:
该命令同样是逻辑删除记录的,如果要物理删除记录要继续使用PACK命令。
例7删除仓库表中仓库号值是WH2的元组。
DELETEFROM仓库WHERE仓库号=“WH2”
又如:
DELETEFROM仓库
此命令表示删除仓库表中的所有记录。
2、定义功能
(1)表的定义
在VFP中可以使用SQL的CREATETABLE命令建立表文件,并且完全可以完成表设计器的功能。
SQL中建立表的基本格式如下:
CREATETABLE|DBF表名(字段名1字段类型(字段宽度[,小数位数]设置短语,字段名2字段类型(字段宽度[,小数位数]设置短语,……)
默认值、字段有效性规则、主索引或候选索引、表之间的联系
例1用SQLCREATE命令建立仓库1表。
CREATETABLE仓库1(仓库号C(5)PRIMARYKEY,;
主关键字
城市C(10),;
面积ICHECK(面积>
0)ERROR“面积应该大于0”)
字段有效性规则
例2用SQLCREATE命令建立职工1表。
CREATETABLE职工1(仓库号C(5),;
职工号C(5)PRIMARYKEY,;
工资ICHECK(工资>
=1000AND工资<
=5000);
ERROR“工资值的范围在1000—5000!
”DEFAULT1200,;
FOREIGNKEY仓库号TAG仓库号REFERENCES仓库1)
职工1表与仓库1表的联系
例3用SQLCREATE命令建立供应商1表。
CREATETABLE供应商1(供应商号C(5)PRIMARYKEY,;
供应商名C(20),;
地址C(20))
例4用SQLCREATE命令建立订购单1表。
CREATETABLE订购单1;
(职工号C(5),供应商号C(5),;
订购单号C(5),PRIMARYKEY;
订购日期D,;
FOREIGNKEY职工号TAG职工号REFERENCES职工1,;
FOREIGNKEY供应商号TAG供应商号REFERENCES供应商1)
在以上例子中,我们用到了SQLCREATE命令的主要内容,下面把其他几个具有VF特色的关键词或短语做一简单解释:
●NAMElongTableName为建立的表指定一个长名;
●FREE建立的表不添加到当前数据库中,即建立一个自由表;
●NULL或NOTNULL说明字段允许或不允许为空值;
●UNIQUE说明建立候选索引
1)用SQLCREATE命令新建的表自动在最低可用工作区打开,并可以通过别名引用。
新表的打开方式为独占方式。
2)如果建立自由表,则很多选项在命令中不能使用。
(2)表的删除
删除表的SQL命令是:
DROPTABLE表名
此命令直接从磁盘上删除表文件。
如果是数据库表,删除时最好在数据库打开的情况下删除相应的表。
(3)表结构的修改
修改表结构的命令是ALTERTABLE,该命令有三种格式。
第一种格式用来添加新的字段或修改已有的字段。
格式1:
ALTERTABLE表名1ADD|ALTER[COLUMN]字段名字段类型[(字段宽度[,小数位数])][NULL|NOTNULL][CHECK逻辑表达式[ERROR提示信息]][DEFAULT表达式][PRIMARYKEY|UNIQUE][REFERENCES表名2[TAG索引名]]
例1为订购单1表增加一个总金额字段(货币类型)
ALTERTABLE订购单1;
ADD总金额YCHECK总金额>
0ERROR“总金额应该大于0!
”
例2将订购单1表的订购单号字段的宽度改为6(原来为5)
ALTERTABLE订购单1ALTER订购单号C(6)
第二种格式用来定义、修改和删除有效性规则和默认值定义。
格式2:
ALTERTABLE表名1ALTER[COLUMN]字段名[NULL|NOTNULL][SETDEFAULT表达式][SETCHECK逻辑表达式[ERROR提示信息]][DROPDEFAULT][DROPCHECK]
例3修改(定义)订购单1表总金额字段的有效性规则。
ALTERTABLE订购单1;
ALTER总金额SETCHECK总金额>
100ERROR“总金额应该大于100!
例4删除订购单1表总金额字段的有效性规则。
ALTERTABLE订购单1ALTER总金额DROPCHECK
第三种格式可以删除字段,可以修改字段名,可以定义、修改和删除表一级的有效性规则等。
格式3:
ALTERTABLE表名1[DROP[COLUMN]字段名1]
[SETCHECK逻辑表达式1[ERROR提示信息]]
[DROPCHECK]
[ADDPRIMARYKEY表达式1TAG索引名1[FOR逻辑表达式2]]
[DROPPRIMARYKEY]
[ADDUNIQUE表达式2[TAG索引名2[FOR逻辑表达式3]]]
[DROPUNIQUETAG索引名3]
[ADDFOREIGNKEY[表达式3]TAG索引名3[FOR逻辑表达式4]
REFERENCES表名2[TAG索引名4]]
[DROPFOREIGNKEYTAG索引名5[SAVE]]
[RENAMECOLUMN原字段名TO新字段名]
例5将订购单1表的总金额字段改为金额。
ALTERTABLE订购单1RENAMECOLUMN总金额TO金额
例6删除订购单1中的金额字段。
ALTERTABLE订购单1DROPCOLUMN金额
例7将订购单1表的职工号和供应商号定义为候选索引,索引名是emp_sup。
ALTERTABLE订购单1ADDUNIQUE职工号+供应商号TAGemp_sup
例8删除订购单1表的候选索引emp_sup。
ALTERTABLE订购单1DROPUNIQUETAGemp_sup
第1上机考试试题
在考生文件夹下完成下列操作:
(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第9讲 SQL的数据定义语句 SQL 数据 定义 语句