VF二级培训讲义-(SQL查询、查询设计器、SQL数据表的操作、视图设计器)_第1页
VF二级培训讲义-(SQL查询、查询设计器、SQL数据表的操作、视图设计器)_第2页
VF二级培训讲义-(SQL查询、查询设计器、SQL数据表的操作、视图设计器)_第3页
VF二级培训讲义-(SQL查询、查询设计器、SQL数据表的操作、视图设计器)_第4页
VF二级培训讲义-(SQL查询、查询设计器、SQL数据表的操作、视图设计器)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆市普通高校专转本统一选拔考试系数据库标准语言SQL第三部分关系数据库标准语言SQLSQL概述1.1SQL的概念:SQL(StructuredQueryLanguage)是结构化查询语言的简称,它引领着关系数据库的发展方向,是未来关系数据库发展的标准。1.2SQL的特点:一体化高度非过程化非常简洁直接以命令方式交互使用1.3SQL的主要命令:数据查询:SELECT数据定义:CREATE、DROP、ALTER数据操纵:INSERT、UPDATE、DELETE使用命令建立SQL查询2.1查询的概念:查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果。2.2SQL查询语句格式:SELECT:要查询的数据(字段)FROM:数据来源(要查询的数据来自哪个或哪些表)WHERE:查询需要满足的条件GROUPBY:对查询的数据进行分组ORDERBY:对查询结果进行排序2.3SQL简单查询:在当前数据库当前表中查询某一数据基本格式:SELECTSelect_ItemFROMTable其中:Select_Item:字段名列表Table:数据表名称例题2.1:从职工关系中检索所有工资值。实现语句:SELECT工资FROM职工在指定数据库指定表中查询某一数据基本格式:SELECT[Alias.]Select_ItemFROM[DatabaseName!]Table例题2.2:从订货管理数据库中的职工数据表中检索所有工资值。实现语句:SELECT职工.工资FROM订货管理数据库!职工在当前数据库当前表中查询所有数据基本格式:SELECT*FROMTable例题2.3:从当前数据库中当前数据表中检索所有数据。实现语句:SELECT*FROM职工在当前数据库当前表中查询所有数据(不允许内容重复)基本格式:SELECT[ALL|DISTINCT]Select_ItemFROMTable例题2.4:从当前数据库中当前数据表中检索所有不重复的工资数据。实现语句:SELECTDISTINCT工资FROM职工在当前数据库当前表中进行条件查询基本格式:SELECTSelect_ItemFROMTableWHEREJoinCondition例题2.5:在当前数据库当前表中,查询工资大于1210元职工的仓库号Select仓库号from职工where工资>1210实现语句:SELECT仓库号FROM职工WHERE工资>1210例题2.6:查询在仓库“WH1”或“WH2”工作,并且工资少于1250元的职工工号实现语句:SELECT职工号FROM职工WHERE工资<1250AND(仓库号=”WH1”OR仓库号=”WH2完整格式:SELECT[ALL|DISTINCT][Alias.]Select_Item|*FROM[DatabaseName!]Table[WHEREJoinCondition]2.4SQL联接查询:联接查询的含义:联接查询是一种基于多个关系的查询,即将多个数据表中数据构成一个查询集合,并在其中查询出符合要求的记录。例题2.7:找出工资多于1230元的职工号和他们所在的城市。实现语句:SELECT职工号,城市FROM职工,仓库WHERE工资>1230AND(职工.仓库号=仓库.仓库号)特别注意:职工.仓库号=仓库.仓库号是连接条件如果在FROM之后有两个关系,则这两个关系之间肯定有一种联系,否则无法构成检索表达式例题2.8:找出工作在面积大于400的仓库的职工号以及这些职工工作所在的城市。实现语句:SELECT职工号,城市FROM职工,仓库WHERE面积>400AND(职工.仓库号=仓库.仓库号)2.5SQL嵌套查询:例题2.9:哪些城市至少有一个仓库的职工工资为1250元?实现语句:SELECT城市FROM仓库WHERE仓库号in(SELECT仓库号FROM职工WHERE工资=1250)例题2.10:查询所有职工的工资都多于1210元的仓库信息。实现语句:SELECT*FROM仓库WHERE仓库号NOTIN(SELECT仓库号FROM职工WHERE工资<=1210)例题2.11:找出和职工E4挣同样工资的所有职工。实现语句:SELECT职工号FROM职工WHERE工资=(SELECT工资FROM职工WHERE职工号=”E4”2.6SQL几个特殊运算符:BETWEEN…AND:…和…之间LIKE:字符串匹配运算符例题2.12:检索出工资在1220元到1240元范围内的职工信息。实现语句:SELECT*FROM职工WHERE工资BETWEEN1220AND1240例题2.13:从供应商关系中检索出全部公司的信息,不要工厂或其他供应商的信息。实现语句:SELECT*FROM供应商WHERE供应商名LIKE“%公司”通配符:%:表示任意多个字符(含0个)_:表示一个字符2.7SQL排序:基本格式:ORDERBYOrder_Iten[ASC|DESC][,Order_Iten[ASC|DESC]…]例题2.14:按职工的工资值升序检索出全部职工信息。VFP特殊格式:INSERTINTOdbf_nameFROMARRAYArrayName|FROMMEMVAR例题4.1:往订购单关系中插入元组(”E7”,”S4”,”OR01”实现语句:INSERTINTO订购单VALUE(”E7”,”S4”,”OR01”例题4.2:往订购单关系中插入元组(”E7”,”OR01实现语句:INSERTINTO订购单(职工号,订购单号)VALUE(”E7”,”OR01注意:用INSERT命令在数据表中插入数据时,该数据表事先可以不必打开;当数据表设置了“主索引”或“候选索引”时,不能用以前的INSERT与APPEND来添加记录,只能使用INSERTINTO添加。(实际有出入)4.2更新:格式:UPDATETableNameSETColumn_Name1=eExoression1[,Column_Name2=eExoression2…][WHERECondition]例题3.4:给WH1仓库的职工提高10%的工资。实现语句:UPDATE职工SET工资=工资+工资*0.1WHERE仓库号=”WH1等价语句:replace工资with工资*1.1for仓库号=”WH14.3删除:格式:DELETEFROMTableName[WHERECondition]例题3.5:删除仓库关系中仓库号值是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)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] &&设置字段的有效性规则[PRIMARYKEY|UNIQUE] &&设置字段索引类型例题5.6:为订购单1表增加一个货币类型的总金额字段。实现语句:ALTERTABLE订购单1ADD总金额YCHECK总金额>0ERROR“总金额应该大于0例题5.7:将订购单1表的订购单号字段的宽度由原来的5改为6。实现语句:ALTERTABLE订购单1ALTER订购单号C(6)2.定义、修改、删除字段级有效性规则和默认值定义:基本格式:ALTERTABLETableNameALTER[COLUMN]FieldNameNULL|NOTNULL &&字段是否允许为空ALTERTABLETableNameALTER[COLUMN]FieldNameSETCHECKlExpression[ERRORcMessageText] &&设置字段的有效性规则ALTERTABLETableNameALTER[COLUMN]FieldNameDROPCHECK &&删除字段的有效性规则ALTERTABLETableNameALTER[COLUMN]FieldNameSETDEFAULTeExpression&&设置字段的默认值ALTERTABLETableNameALTER[COLUMN]FieldNameDROPDEFAULT &&删除字段的默认值例题5.8:修改(定义)总金额字段的有效性规则。实现语句:ALTERTABLE订购单1ALTER总金额SETCHECK总金额>100ERROR“总金额应该大于100例题5.9:删除总金额字段的有效性规则。实现语句:ALTERTABLE订购单1ALTER总金额DROPCHECK3.删除字段、修改字段名,定义、修改、删除表一级的有效性规则:基本格式:ALTERTABLETableNameDROP[COLUMN]FieldName &&删除字段ALTERTABLETableNameRENAME[COLUMN]FieldName1TOFieldName2 &&修改字段名ALTERTABLETableNameSETCHECKlExpression[ERRORcMessageText] &&设置表的有效性规则ALTERTABLETableNameDROPCHECK &&删除表的有效性规则例题5.10:将订购单1表的总金额字段名改为金额。实现语句:ALTERTABLE订购单1RENAME总金额TO金额例题5.11:删除订购单1金额字段。实现语句:ALTERTABLE订购单1DROP金额视图:6.1视图的命令操作:1.视图的定义格式:格式:CREATEVIEWViewNameAS其中:SelectStatement:查询语句,用于限定视图中的数据2.从单个表派生出视图:构成视图的内容来源于单个表。例题6.1:利用“职工”数据表,建立包含职工号与仓库号的视图。实现语句:CREATEVIEWewASSELECT职工号,仓库号FROM职工注:视图一旦定义,就可以和基本表一样进行各种查询与修改。3.从多个表派生出视图:例题6.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论