重庆市计算机等级考试(二级VFP)系数据库标准语言SQL-40–四、数据表记录的SQL操作:4.1插入:标准格式:INSERTINTOdbf_name[(fname1[,fname2,…])]VALUES(eExoression1[,eExoression2,…])VFP特殊格式:INSERTINTOdbf_nameFROMARRAYArrayName例题4.1:往订购单关系中插入元组(”E7”,”S4”,”OR01”,2001/05/25)。实现语句:INSERTINTO订购单VALUE(”E7”,”S4”,”OR01”,{^2001-05-25})例题4.2:往订购单关系中插入元组(”E7”,”OR01”)。实现语句:INSERTINTO订购单(职工号,订购单号)VALUE(”E7”,”OR01”)注意:用INSERT命令在数据表中插入数据时,该数据表事先可以不必打开;4.2更新:格式:UPDATETableNameSETColumn_Name1=eExoression1[,Column_Name2=eExoression2…][WHERECondition]例题4.3:给WH1仓库的职工提高10%的工资。实现语句:UPDATE职工SET工资=工资+工资*0.1WHERE仓库号=”WH1”等价语句:replace工资with工资*1.1for仓库号=”WH1”4.3删除:格式:DELETEFROMTableName[WHERECondition]例题4.4:删除仓库关系中仓库号值是WH2的元组。实现语句:DELETEFROM仓库WHERE仓库号=”WH2”注意:在VFP中,SQLDELETE命令同样是逻辑删除,如果要物理删除记录同样需要使用PACK命令。五、数据表结构的SQL操作:5.1表定义:1.建立数据表简单操作基本格式:CREATETABLE|DBFTableName[NameLongTableName]|[FREE](FieldName1FieldType[(nFieldWidth[,nPrecision])]…)其中:TableName:新建数据表的表名称FieldName:字段名FieldType:用字母表示的字段类型NFieldWidth:字段总宽度NPrecision:小数位数FREE:建立自由表例题5.1:用SQL命令建立“订货管理1”数据库,然后建立“仓库1”数据表。实现语句:CREATEDATABASE订货管理1CREATETABLE仓库1(仓库号C(5),城市C(10),面积I)重庆市计算机等级考试(二级VFP)系数据库标准语言SQL-41–2.数据表字段有效性...设置方法基本格式:CREATETABLE|DBFTableName1[NameLongTableName][FREE](FieldName1FieldType[(nFieldWidth[,nPrecision])][CHECKlExpression[ERRORcMessageText1]]…)例题5.2:用SQL命令建立“订货管理1”数据库,然后建立“仓库1”数据表,并定义面积字段的有效性规则为[面积必须大于0]。实现语句:CREATEDATABASE订货管理1CREATETABLE仓库1(仓库号C(5),城市C(10),面积I;CHECK(面积0)ERROR“面积必须大于0”)3.数据表字段默认值...设置方法基本格式:CREATETABLE|DBFTableName1[NameLongTableName][FREE](FieldName1FieldType[(nFieldWidth[,nPrecision])][DEFAULTeExpression]…)例题5.3:建立数据表“仓库1”,并将“仓库1”数据表的“面积”字段的默认值设置为200。实现语句:CREATETABLE仓库1(仓库号C(5),城市C(10),面积IDEFAULT200)4.数据表字段主关键字或候选索引.........设置方法基本格式:CREATETABLE|DBFTableName1[NameLongTableName][FREE](FieldName1FieldType[(nFieldWidth[,nPrecision])][PRIMARYKEY|UNIQUE]…)注意:UNIQUE在此处是候选索引例题5.4:建立数据表“仓库1”,并将“仓库号”字段设置为主关键字。实现语句:CREATETABLE仓库1(仓库号C(5)PRIMARYKEY,城市C(10),面积I)5.2表删除:基本格式:DROPTABLE|DBFTableName例题5.5:删除数据表“仓库1”。实现语句:DROPTABLE仓库15.3表结构修改:1.添加新字段、修改已有字段并设置字段级...相关规则:基本格式:ALTERTABLETableNameADD|ALTER[COLUMN]FieldNameFieldType[(nFieldWidth[,nPrecision])][NULL|NOTNULL]&&字段是否允许为空[CHECKlExpression[ERRORcMessageText]]&&设置字段的有效性规则[DEFAULTeExpression]&&设置字段的有效性规则重庆市计算机等级考试(二级VFP)系数据库标准语言SQL-42–[PRIMARYKEY|UNIQUE]&&设置字段索引类型例题5.6:为订购单1表增加一个货币类型的总金额字段。实现语句:ALTERTABLE订购单1ADD总金额YCHECK总金额0ERROR“总金额应该大于0”例题5.7:将订购单1表的订购单号字段的宽度由原来的5改为6。实现语句:ALTERTABLE订购单1ALTER订购单号C(6)2.定义、修改、删除字段级...有效性规则和默认值定义:基本格式:ALTERTABLETableNameALTER[COLUMN]FieldName[NULL|NOTNULL]&&字段是否允许为空[SETCHECKlExpression[ERRORcMessageText]]&&设置字段的有效性规则[DROPCHECK]&&删除字段的有效性规则[SETDEFAULTeExpression]&&设置字段的默认值[DROPDEFAULT]&&删除字段的默认值例题5.8:修改(定义)总金额字段的有效性规则。实现语句:ALTERTABLE订购单1ALTER总金额SETCHECK总金额100ERROR“总金额应该大于100”例题5.9:删除总金额字段的有效性规则。实现语句:ALTERTABLE订购单1ALTER总金额DROPCHECK3.删除字段、修改字段名,定义、修改、删除表一级...的有效性规则:基本格式:ALTERTABLETableName[DROP[COLUMN]FieldName]&&删除字段[RENAME[COLUMN]FieldName1TOFieldName2]&&修改字段名[SETCHECKlExpression[ERRORcMessageText]]&&设置表的有效性规则[DROPCHECK]&&删除表的有效性规则例题5.10:将订购单1表的总金额字段名改为金额。实现语句:ALTERTABLE订购单1RENAME总金额TO金额例题5.11:删除订购单1金额字段。实现语句:ALTERTABLE订购单1DROP金额六、视图:6.1视图的命令操作:1.视图的定义格式:格式:CREATEVIEWViewNameASSelectStatement其中:SelectStatement:查询语句,用于限定视图中的数据2.从单个表派生出视图:构成视图的内容来源于单个表。例题6.1:利用“职工”数据表,建立包含职工号与仓库号的视图。实现语句:CREATEVIEWewASSELECT职工号,仓库号FROM职工重庆市计算机等级考试(二级VFP)系数据库标准语言SQL-43–注:视图一旦定义,就可以和基本表一样进行各种查询与修改。3.从多个表派生出视图:例题6.2:利用“职工”和“仓库”数据表,建立包含职工号、仓库号、城市、面积、工资的视图。实现语句:CREATEVIEWewAS;SELECT职工号,职工.仓库号,城市,面积,工资FROM职工,仓库WHERE仓库.仓库号=职工.仓库号注:视图一旦定义,就可以和基本表一样进行各种查询与修改。4.删除视图:基本格式:DROPVIEWViewName例题6.3:删除视图ew。实现语句:DROPVIEWdw5.关于视图的说明:视图可以更新;视图不含真正的数据,仅是原表的一个窗口;在视图中可以进行查询操作,但视图的插入、更新操作有一定的限制;如果一个视图来源于单个表,则可以进行插入与更新操作,不能进行删除操作;如果一个视图来源于多个表,则插入、更新与删除操作都不能进行。可以从一个表或多个相关联的表中提取有用信息;可以用来更新表,并将结果永久保存在磁盘上;只有在包含视图的数据库打开时,才能使用视图。6.2建立视图:1.建立视图的方法:使用“项目管理器”建立视图;使用“新建”对话框建立视图;使用命令CREATEVIEW命令打开视图设计器建立视图;通过直接使用命令CREATEVIEW…AS…建立。2.视图设计器:3.视图设计器与查询设计器的区别:视图建立后直接保存在数据库中,在磁盘上没有相应文件,查询要形成.qpr文件;视图可以更新,查询不能更新(除非重新查询);查询有“查询去向”,视图没有。重庆市计算机等级考试(二级VFP)系数据库标准语言SQL-44–6.3视图的分类:本地视图:使用当前数据库中的表建立的视图。远程视图:使用非当前数据库中的表建立的视图。6.4使用视图:1.视图操作:在数据库中使用USE命令打开或关闭视图;在“浏览器”窗口中显示或修改视图中的记录;使用SQL语句操作视图;在文本框、表格控件、表单或报表中使用视图作为数据源等。