程序设计 课件第5章.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《程序设计 课件第5章.ppt》由会员分享,可在线阅读,更多相关《程序设计 课件第5章.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 基本要求与基本知识点基本要求与基本知识点(1)掌掌握握SQL的的数数据据查查询询功功能能,包包括括简简单单查询、关联查询及超联结查询、关联查询及超联结(2)掌握)掌握SQL的数据操作功能的数据操作功能(3)掌握)掌握SQL的数据定义功能的数据定义功能第第5章章关系数据库标准语言关系数据库标准语言SQL(1)SQL的数据查询功能的数据查询功能(2)SQL的数据操作功能的数据操作功能(3)SQL的数据定义功能的数据定义功能教学重点与难点教学重点与难点SQL是结构化查询语言是结构化查询语言StructuredQueryLanguage的缩写,的缩写,SQL包括数据定义、数据查询、包括数据定义、数据
2、查询、数据操纵和数据控制等功能,其中查询是数据操纵和数据控制等功能,其中查询是SQL的主的主体,体,SQL已作为关系数据库管理系统的标准化语言。已作为关系数据库管理系统的标准化语言。本章主要讲述本章主要讲述SQL的数据定义、数据查询、数据操的数据定义、数据查询、数据操纵等功能。纵等功能。5.1SQL概述概述SQL的定义功能可以定义数据库、表、试图、存储过程、的定义功能可以定义数据库、表、试图、存储过程、索引等,索引等,VFP主要支持表和视图的定义。主要支持表和视图的定义。1、表的定义、表的定义CREATETABLE|DBF表名表名FREE(字段名字段名1字段类型字段类型(宽度宽度,小数点位,小
3、数点位)NULL|NOTNULLCHECKERROR出错信息出错信息DEFAULT表达式表达式PRIMARYKEY|UNIQUE(侯选索引侯选索引),字段名,字段名25.2数据定义数据定义【功能】定义(创建)一个表。【说明】用CREATETABLE命令可以完成第3章介绍的“表设计器”的所有操作,各选项作用如下:(1)TABLE与DBF等价,都是建立表文件;指定新建表的名称。(2)FREE:指定建立自由表,即新建立的表不添加到打开的数据库中。(3)(,):指定字段名、字段的数据类型、字段宽度及小数位数。字段类型可以用类型字符表示,例如字符型用C,数值型用N表示。(4)NULL|NOTNULL:指
4、定该字段值可以为空或不能为空,默认值是NOTNULL。(5)CHECK:指定该字段的合法值以及该字段值的约束条件;ERROR:指定在浏览或编辑窗口中为该字段输入的值不符合CHECK子句的条件时显示的提示信息。(6)DEFAULT:为该字段指定一个默认值,表达式的数据类型与该字段的数据类型要一致。每添加一条记录时,该字段自动取该默认值。(7)KEY:为该字段创建一个主索引,索引标识名与字段名相同。主索引字段值必须惟一;UNIQUE:为该字段创建一个候选索引,索引标识名与字段名相同。例例1:建立成绩表:建立成绩表Createtable成绩表成绩表(XhC(7),khC(2),cjN(5,1))例例
5、2:建立一个学生数据库,并建立属于学生数据库的:建立一个学生数据库,并建立属于学生数据库的学生表和成绩表学生表和成绩表CreatedatabasestudentCreatetable学生表学生表(xhc(7)primarykey,xmc(8),xbc(2)default“男男”,bjc(20)default“2002级会计级会计1班班”,zfn(5,1)check(zf=0andzf=500)Error”总分的值超界总分的值超界”)例例2:用用SQL语句创建学生基本信息表语句创建学生基本信息表stud1,stud1表由学号、姓名、性别、班级、出生日期、表由学号、姓名、性别、班级、出生日期、是否
6、团员、特长、照片组成。要求以学号为主索是否团员、特长、照片组成。要求以学号为主索引,姓名不允许有空值。引,姓名不允许有空值。(为区别于第为区别于第3章所创建章所创建的的stud表,此处使用表名表,此处使用表名stud1。)创建表之后,创建表之后,显示表的结构显示表的结构。CREATETABLEstud1(学号学号C(9)PRIMARYKEY,姓名姓名C(8)NOTNULL,性别性别C(2),班级班级C(14),出生日期出生日期D,是否团员是否团员L,特长特长M,照片照片G)LISTSTRU注意:注意:创建表后,新创建的表即成为当前数据创建表后,新创建的表即成为当前数据表,可以在命令窗口中输入命
7、令:表,可以在命令窗口中输入命令:APPENDFROM把已经存在的表中的数据追加到新建表中。但把已经存在的表中的数据追加到新建表中。但要求两个表的结构要完全一致。要求两个表的结构要完全一致。Creatablesc1(学号学号C(9),课程号课程号C(3),成绩成绩N(6,2)Appenfromsc格式格式1:ALTERTABLEADD|ALTERCOLUMN(,)NULL|NOTNULLCHECK ERRORDEFAULTPRIMARY KEY|UNIQUE该格式主要是用于该格式主要是用于添加新的字段或修改添加新的字段或修改已有字已有字段的类型、宽度、有效性规则、错误信息、缺省段的类型、宽度、
8、有效性规则、错误信息、缺省值、主关键字和联系等,但不能修改字段名、删值、主关键字和联系等,但不能修改字段名、删除字段、删除已经定义的有效性规则。除字段、删除已经定义的有效性规则。例如:例如:Altertablenew2addkmc(12)2、表结构的修改、表结构的修改例例1.在在stud1表表中中增增加加“籍籍贯贯”字字段段,字字段段类类型型为为字字符符型,长度为型,长度为10。ALTERTABLEstud1ADD籍贯籍贯C(10)例例2.将将stud1表表的的“籍籍贯贯”字字段段宽宽度度修修改改为为14,设设置置合合法值的左面法值的左面6个字符为个字符为“北京市北京市”或或“上海市上海市”。
9、ALTERTABLEstud1ALTER籍贯籍贯C(14);CHECKLEFT(籍籍贯贯,6)=北北京京市市.OR.LEFT(籍籍贯贯,6)=上海市上海市【注注意意】执执行行命命令令前前需需要要将将stud1表表中中所所有有记记录录的的“籍籍贯贯”字字段段开开头头三三个个汉汉字字设设置置为为北北京京市市或或上上海海市市,以以满满足足CHECK规则。规则。2、表结构的修改、表结构的修改格式格式2:ALTERTABLE表名表名ALTERCOLUMN字段名字段名NULL|NOTNULLSETCHECK表达式表达式ERROR出错信息出错信息SETDEFAULT表达式表达式DROPDAFAULTDROP
10、CHECK【功能】修改指定表中指定字段的DEFAULT和CHECK约束规则,不影响原有表中的数据。【说明】:指明被修改表的表名。ALTERCOLUMN:指明要修改列的字段名。NULL|NOTNULL:指定该字段可以为空或不能为空。SETDEFAULT:重新设置该字段的默认值。SETCHECKERROR:重新设置该字段的合法值限定,要求该字段的原有数据满足合法值限定条件。DROPDEFAULT:删除默认值。DROPCHECK:删除该字段的合法值限定。例 删除stud1表中“籍贯”字段的合法值约束,然后设置字段中左面6个字符的默认值为“山东省”。ALTERTABLEstud1ALTER籍贯DROP
11、CHECKALTER TABLE stud1 ALTER籍贯SET DEFALUT LEFT(籍贯,6)=“山东省”例:altertablenew1alterzf;setcheck(zf=0andzf=500);error“总分值应在0500之间”;setdafault0格式3:ALTERTABLEDROPCOLUMNRENAMECOLUMNTOSETCHECKERRORDROPCHECKADDPRIMARYKEYTAGFORDROPPRIMARYKEYADDUNIQUETAGFORDROPUNIQUETAG【功能】删除指定表中的指定字段,修改字段名,修改指定表的完整性规则,包括添加或删除索引
12、及表的合法值限定。【说明】DROP COLUMN:从指定表中删除指定的字段。SETCHECKERROR:为该表指定合法值限定及错误提示信息。DROPCHECK:删除该表的合法值限定。ADDPRIMARYKEYTAG:为该表建立主索引,一个表只能有一个主索引。DROPPRIMARYKEY:删除该表的主索引。ADDUNIQUETAG:为该表建立候选索引,一个表可以有多个候选索引。DROPUNIQUETAG:删除该表的候选索引。修改自由表时,不能使用DEFAULT、PRIMARYKEY等子句或SET子句。例例删除删除stud1表中的表中的“籍贯籍贯”字段,将字段,将“特长特长”字字段名改为段名改为“
13、专长专长”。ALTERTABLEstud1DROP籍贯籍贯RENAMECOLUMN特长特长TO专长专长例如:将例如:将new2表的表的kh字段名改为字段名改为kchaltertablenew2renamekhtokch例如例如:建立一个按照建立一个按照xh+kch进行索引的索引方式进行索引的索引方式Altertablenew2adduniquexh+kchTagxh_kchDROPTABLE将指定的表文件从磁盘上删除,如果是数据库中将指定的表文件从磁盘上删除,如果是数据库中的表文件应将表文件所属的数据库打开,再进行的表文件应将表文件所属的数据库打开,再进行删除,即将数据表文件从磁盘上删除,同时
14、,清删除,即将数据表文件从磁盘上删除,同时,清除表与数据库的关系。除表与数据库的关系。Opendatabasedata1Droptable学生表学生表3、表的删除、表的删除主要完成数据的插入、删除和更新等操作1、插入格式1 INSERTINTOVALUES()功能:在指定的表文件末尾追加一条记录。将表达式表中的值赋给中相应的各字段;5.3数据操纵数据操纵说明:指定表文件中的各个字段,如果省略,按表文件字段的顺序依次赋值。:指定要追加的记录各个字段的值。在INTO子句中没有出现的字段,新记录将取空值(或默认值),但表定义中说明了NOT NULL的字段不能取空值。格式格式2(只适用于(只适用于VF
15、P的特殊格式)的特殊格式)Insertintodbf_namefromarraay数组名数组名|frommemvar从指定的数组中插入记录的值或从同名的内存从指定的数组中插入记录的值或从同名的内存变量来插入记录的值,如果同名的内存变量不变量来插入记录的值,如果同名的内存变量不存在,则相应的字段为默认值或空值存在,则相应的字段为默认值或空值例如:在例如:在new2表中插入一条新记录表中插入一条新记录Declareaa(5)Aa(1)=“1313”,aa(2)=“0005”,aa(3)=82Insertintonew2fromarrayaa用表达式方式追加第用表达式方式追加第1条记录:条记录:IN
16、SERTINTOstud1(学学号号,姓姓名名,性性别别,班班级级,出生日期出生日期,是否团员是否团员,籍贯籍贯);VALUES(200621054,刘刘玉玉坤坤,男男,06自自动动化化,1989/04/28,.T.,浙江绍兴浙江绍兴)例如 分别使用3种不同的方法在stud1表的末尾追加3条记录,然后显示数据表的记录。用数组方式追加第用数组方式追加第2条记录:条记录:DIMENSIONDA(9)DA(1)=200605011DA(2)=夏雨薇夏雨薇DA(3)=女女DA(4)=06国际贸易国际贸易DA(5)=1989/09/02DA(6)=.F.DA(9)=湖南长沙湖南长沙INSERTINTOs
17、tud1FROMARRAYDA用内存变量方式追加第用内存变量方式追加第3条记录:条记录:学号学号=200626068姓名姓名=柳依依柳依依性别性别=女女班级班级=06社会工作社会工作籍贯籍贯=广西桂林广西桂林出生日期出生日期=1989/02/21是否团员是否团员=.T.INSERT INTO stud1 FROM MEMVARupdate表名表名set字段名字段名1=表达式表达式1,字段名,字段名1=表达式表达式1where功能:更新指定表文件中满足功能:更新指定表文件中满足WHERE条件的记录条件的记录数据。数据。其中其中SET子句用于指定字段和修改的值子句用于指定字段和修改的值WHERE子
18、句用于指定更新的记录,如果省略子句用于指定更新的记录,如果省略WHERE,则更新表中所有记录。则更新表中所有记录。2、更新、更新【例】将【例】将SC1选课表中所有课程号为选课表中所有课程号为02的成绩加的成绩加上上5分,然后再将分,然后再将SC1选课表中所有记录的成绩提选课表中所有记录的成绩提升升10%。UPDATESC1SET成绩成绩=成绩成绩+5;WHERE课程号课程号=02UPDATESC1SET成绩成绩=成绩成绩*(1+0.1)2、更新、更新3、删除删除格式:格式:deletefrom表名表名where该删除为逻辑删除,如需执行物理删除则执行该删除为逻辑删除,如需执行物理删除则执行pa
19、ckDeletefromnew2wherecj60【例】删除例】删除STUD1表中所有表中所有88年出生的记录年出生的记录。DELETEFROMSTUD1;WHERE YEAR(出生日期出生日期)=88完成单表或多表中数据的查询,又称完成单表或多表中数据的查询,又称Select查询查询1.语句格式语句格式Selectdistinct,From表名表名1,asWheregroupby,havingorderbyasc|desc5.4数据查询数据查询功能:功能:根据根据where子句中的条件表达式,从子句中的条件表达式,从指定的表或视图中找出满足条件的元组,按照指定的表或视图中找出满足条件的元组,
20、按照select子句中指定的列和顺序显示查询到的元组子句中指定的列和顺序显示查询到的元组结果。结果。Select子句子句:说明要输出的结果元组中需要的字段说明要输出的结果元组中需要的字段From子句:子句:说明查询的数据来源,包括表和视图说明查询的数据来源,包括表和视图Where子句:子句:说明查询的条件说明查询的条件Groupby子句:子句:用于对查询结果进行分组,可用于对查询结果进行分组,可以利用分组进行分组汇总以利用分组进行分组汇总Having子句:子句:与与groupby结合使用,用于限定结合使用,用于限定分组必须要满足的条件。分组必须要满足的条件。Orderby子句:子句:对查询的结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 课件第5章 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内