您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据结构与算法 > (第5章-1)SQL-数据定义与操纵
电气信息学院计算机系计算机语言VFP第5章关系数据库标准语言—SQL—数据定义与操纵电气信息学院计算机系教学内容SQL简介SQL的数据定义功能SQL的数据操纵教学目的了解SQL语言的基本功能与特点掌握SQL语言的数据定义功能掌握SQL语言的数据操纵功能重点:SQL语言的数据定义功能难点:SQL语句的理解及如何使用电气信息学院计算机系SQL概述(数据库中操作)SQL是关系数据库的标准结构化查询语言(StructuredQueryLanguage)它包含数据定义、数据操纵、数据查询和数据控制4个部分,是一种功能齐全的数据库语言。SQL可以作为自含式语言、也可以作为嵌入式语言,在VFP中就可以嵌入SQL语言。VFP支持SQL的数据定义功能、数据操纵功能和数据查询功能,但VFP不支持SQL的数据控制功能。电气信息学院计算机系SQL的数据定义功能定义基本表()修改表结构删除基本表电气信息学院计算机系定义基本表格式:CREATETABLE|DBF表名(字段名1类型[(宽度[,小数位])][PRIMARYKEY|UNIQUE][NULL|NOTNULL][CHECK表达式[ERROR字符表达式]][DEFAULT表达式][REFERENCES父表名[TAG索引标识]][,字段名2…][,FOREIGNKEY表达式TAG索引标识REFERENCES父表名[TAG索引标识]])电气信息学院计算机系功能:创建一个表。可以定义新表中每个字段的名称、类型、精度、范围、对null值的支持,以及参照完整性规则。示例:例1:定义表结构CREATETABLEstudent1(s_numberC(4)primarykeynotnull,s_nameC(8),s_sexC(2)default“男”,s_birthdayD,s_tyfL,sch_numberC(6))电气信息学院计算机系例2:定义表的参照完整性等CREATETABLEscore1(s_numberC(4)primarykeyREFERENCESstudent1,chineseN(5,1)check(chinese=0andchinese=100),mathN(5,1),englishN(5,1),summationN(5,1))电气信息学院计算机系例3:定义表结构CREATETABLEschool1(sch_numberC(4),sch_nameC(20),sch_addressC(40),sch_phoneC(8))电气信息学院计算机系修改表结构增加字段及修改字段属性删改字段属性删改字段及完整性信息电气信息学院计算机系添加字段和修改字段属性格式:ALTERTABLE表名ADD|ALTER[COLUMN]字段名类型[(宽度[,小数位])][PRIMARYKEY|UNIQUE][NULL|NOTNULL][CHECK表达式[ERROR字符表达式]][DEFAULT表达式][REFERENCES父表名[TAG索引标识]]说明:不能修改字段名、不能删除字段或已定义的规则。电气信息学院计算机系示例4:为成绩表增加一个总评字段,该字段为字符型,宽度为6。ALTERTABLEscore1ADD总评C(6)示例5:将学生表中学校编号字段宽度改为4。ALTERTABLEstudent1ALTERsch_numberC(4)电气信息学院计算机系删改字段属性格式:ALTERTABLE表名ALTER[COLUMN]字段名[NULL|NOTNULL][SETDEFAULT字段默认值][SETCHECK字段规则[ERROR出错显示信息]][DROPDEFAULT][DROPCHECK]功能:定义、修改和删除有效规则及默认值定义电气信息学院计算机系示例6:定义学生表中性别字段的字段有效性规则。ALTERTABLEstudent1ALTERs_sexSETCHECKs_sex=‘男’ors_sex=‘女’ERROR‘性别输入错误!’电气信息学院计算机系删改字段及完整性信息格式:ALTERTABLE表名[DROP[COLUMN]]字段名[SETCHECK字段规则[ERROR出错信息]][DROPCHECK][ADDPRIMARYKEY表达式TAG索引标识[FOR过滤条件]][DROPPRIMARYKEY][ADDUNIQUE表达式[TAG索引标识[FOR过滤条件]]][DROPUNIQUETAG索引标识][ADDFOREIGNKEY[索引关键字]TAG索引标识[FOR过滤条件]REFERENCES主表名[TAG索引标识]][DROPFOREIGNKEYTAG索引标识[SAVE]][RENAMECOLUMN字段名TO字段名]电气信息学院计算机系示例7:将学生表中团员否字段删除。ALTERTABLEstudent1DROPs_tyf示例8:将成绩表中“总评”字段改为zp”。ALTERTABLEscore1RENAMECOLUMN总评TOzp电气信息学院计算机系示例9:将学校表中的学校编号设置为主索引。ALTERTABLEschool1ADDprimarykeysch_numbertagsch_number示例10:为学校表与学生表创建一对多关系。ALTERTABLEstudent1ADDFOREIGNKEYsch_numberTAGsch_numberREFERENCESschool1电气信息学院计算机系格式:DROPTABLE表名功能:删除一个表,在删除文件之前要将与表对应的数据库打开,以便同时删除表与数据库的联系,以免今后使用数据库时出现错误。示例11:DROPTABLEscore1注:数据库表的删除必须先把数据库打开,然后再删除其中的表文件。删除基本表电气信息学院计算机系SQL的数据操纵追加记录(INSERT)删除记录(DELETE)更新记录(UPDATE)电气信息学院计算机系追加记录格式:INSERTINTO表名[(字段名1[,字段名2,...])]VALUES(表达式1[,表达式2,...])功能:在一个已有表的末尾追加一个新记录。该新记录包含了INSERT命令中列出的或一个数组中的数据。说明:当数据值VALUES与表中字段一致时(字段数和顺序都一样),可以省略字段名表。电气信息学院计算机系示例12:向学生表中插入一条新记录。INSERTINTOstudent1VALUES(“0001”,“李珊”,“女”,{^1988.10.10},“1002”)INSERTINTOstudent1(s_name,sch_number)VALUES(“王晓伟”,“1001”)电气信息学院计算机系格式:DELETEFROM[数据库名!]表名[WHERE条件]说明:该命令从指定表中,根据指定的条件逻辑删除记录。示例13:删除学生表中性别为“男”的记录。DELETEFROMstudent1WHEREs_sex=“男”删除记录电气信息学院计算机系格式:UPDATE[库名!]表名SET字段名1=表达式1[,字段名2=表达式2…]WHERE条件1[AND|OR条件2…]]示例14:添加王晓伟的学号。UPDATEstudent1SETs_number=“0002”,WHEREs_name=“王晓伟”示例15:将所有图书的单价上调5%。UPDATE图书SET单价=单价*1.05更新记录电气信息学院计算机系教材导读与作业教材导读SQL定义功能:P135-140SQL数据操纵:P150-152作业见“练习4”
本文标题:(第5章-1)SQL-数据定义与操纵
链接地址:https://www.777doc.com/doc-7985833 .html