您好,欢迎访问三七文档
第三章SQL语言学习目标:1、掌握数据定义功能。2、掌握数据操纵功能。3、重点掌握数据的查询功能。3.1SQL概述VisualFoxpro支持结构化查询语言(SQL),SQL的全称为StructuredQueryLanguage,即结构化查询语言。一个SQL命令可以代替多个VisualFoxpro命令。由于它具有功能强大、使用方便灵活、语言简单易用等特点,深受用户的欢迎。现在很多数据库应用开发工具都将SQL语言直接融入自身的语言之中,VisualFoxpro就是如此。SQL现已成为关系数据库广泛使用的标准语言。一、SQL语言的特点如下:1、SQL是一种一体化的语言,查询是SQL的重要组成部分,但SQL还包括数据定义、数据操纵和数据控制等功能。标准的SQL只使用以下命令动词来实现几乎全部的功能。见下表3-1:SQL功能命令动词数据定义CREATE、DROP、ALTER数据操纵INSERT、UPDATE、DELETE数据查询SELECT数据控制GRANT、REVOKE2、SQL是一种高度非过程化的语言。3、SQL语言简洁。4、SQL语言可以直接以命令方式交互使用,也可以以程序方式使用。二、SQL语言可以在3个区域中使用命令窗口分别是VisualFoxpro程序查询设计器3.2数据定义SQL的数据定义功能非常广泛,包括数据库的定义、表的定义、视图的定义、规则的定义和索引的定义等若干部分。本节介绍VisualFoxpro支持表的定义功能。教学目标:1、会使用CREATETABLE语言定义表。2、会使用ALTERTABLE语言修改表结构,包括添加新字段、修改已有字段、删除字段。3、会使用DROPTABLE命令删除表。教学重点:1、表的定义。2、表的修改。3、表的删除。教学难点:自由表和数据库表的定义。教学方法:讲授、演示、练习三结合。教学工具:多媒体计算机教室教学内容:一、表的定义第二章学习了使用VisualFoxpro命令CREATE表名建立表的方法,本节介绍通过SQL的CREATETABLE命令建立表。【命令格式】CREATETABLE|DBF表名(字段名1字段类型[(字段宽度[,小数位数])][,字段名2字段类型[(字段宽度[,小数位数])]]……)【命令功能】创建一个含有指定字段的表。【命令说明】(1)字段类型说明见下表3-2。字段类型字段宽度小数位数说明Cn字符型,字段宽度nY货币性,字段宽度固定为8位Nnd数值型,宽度n,小数位数为dFnd浮点型,宽度n,小数位数为dD日期型,固定宽度为8位T日期时间型,固定宽度为8位Bd双精度型,固定宽度为8位,小数位数为dI整型,固定宽度4位L逻辑型,固定宽度1位M备注型G通用型(2)该命令既可以建立数据库表,又可以建立自由表。若要建立数据库表,必须首先用CREATEDATABASE命令建立数据库,然后建立数据库表。若要建立自由表,必须关闭所有已打开的数据库,再使用该命令建立表。【上机实训3-1】在当前文件夹中建立一个“学生管理.DBC”,在该数据库下建立一个“学生信息.DBF”,表结构见下表3-3。学生信息.DBF表字段名字段类型字段宽度小数位数学号字符型(C)6姓名字符型(C)8性别字符型(C)2出生日期日期型(D)8是否团员逻辑型(L)1入学成绩整型(N)51简介备注型(M)4照片通用型(G)4操作命令:CREATEDATABASE学生管理CREATETABLE学生信息;(学号C(6);姓名C(8);性别C(2);出生日期D;是否团员L;入学成绩I(5,1);简介M;照片G)几点说明:(1)用TABLE和DBF是相同的。(2)分号(;)是续行符号,如果将命令写在同一行上就不用写续行符号。(3)命令中的符号都是半角英文符号。(4)建立完该表,可用MODIFYSTRUCTURE命令修改表结构。【上机实训3-2】在当前文件夹中,当前数据库下建立一个“学生成绩.DBF”,表结构如下:学生成绩(学号C6,课程C18,成绩I)。操作命令:CREATEDBF学生成绩(学号C(6),课程C(18),成绩I)【上机实训3-3】在当前文件夹下,建立一个自由表“教师信息.DBF”,表结构如下:教师信息(教工号C3,姓名C8,性别C2,出生日期D)操作命令:CREATETABLE教师信息(教工号C(3),姓名C(8),性别C(2),出生日期D)注意:这是建立一个自由表,建立表之前,必须关闭所有已打开的数据库文件,可用CLOSEDATABASE关闭数据库文件。二、表的修改表结构的修改有添加新字段、修改已有字段、删除字段,命令是ALTERTABLE,该命令有以下常用格式。命令一:添加新字段【命令格式】ALTERTABLE|DBF表名ADD字段名字段类型[(字段宽度[,小数位数])]【命令功能】向指定的表中添加新字段。【命令说明】(1)用TABLE和DBF是相同的。(2)字段类型[(字段宽度[,小数位数])]参照表3-2。【上机实训3-4】为“学生信息”表中添加身份证号码(C15)字段。操作命令:ALTERTABLE学生信息ADD身份证号C(15)【上机实训3-5】为“学生信息”表中添加“入学日期”字段。操作命令:ALTERTABLE学生信息ADD入学日期D命令二:修改字段【命令格式1】ALTERTABLE|DBF表名ALTER字段名字段类型[(字段宽度[,小数位数])]【命令功能】修改字段类型。【命令说明】该字段可以修改字段的类型、宽度、小数位数等,但不能修改字段名。【上机实训3-6】修改“身份证号码”字段的总长度由原来的宽度15位改为18位。操作命令:ALTERTABLE学生信息ALTER身份证号C(18)【上机实训3-7】将“学生信息”表中“成绩”字段由原来的(N,5,1)改为(N,6,1)。操作命令:ALTERTABLE学生信息ALTER成绩N(6,1)【命令格式2】ALTERTABLE|DBF表名RENAMECOLUMN字段名TO新字段名【命令功能】修改字段名。【上机实训3-8】将“学生信息”表的“入学成绩”字段改为“成绩”。操作命令:ALTERTABLE学生信息RENAMECOLUMN入学成绩TO成绩命令三:删除字段【命令格式】AKTERTABLE|DBF表名DROPCOLUMN字段名【命令功能】删除已有字段。【上机实训3-9】将“学生信息”表的“入学日期”字段删除。操作命令:ALTERTABLE学生信息DROPCOLUMN入学日期三、表的删除【命令格式】DROPTABLE表名【命令功能】该命令既可以删除数据库表,又可以删除自由表。【命令说明】若要删除数据库表,则要保证该表所在的数据库是当前打开的数据库,否则会出现错误提示。若要删除自由表,则要将当前打开的数据库关闭,否则会出现错误提示。【上机实训3-10】删除“教师信息”自由表。操作命令:DROPTABLE教师信息教学总结:本节介绍了使用SQL的数据定义功能创建表、修改表结构以及删除表的命令,在学习这些命令的同时应注意其与第二章VisualFoxpro命令的区别。作业布置:1、利用本节所学命令创建课本65-66页的表3-7、表3-8、表3-9、表3-10。2、下列选项中,不属于SQL数据定义功能的是()。A、SELECTB、CREATEC、ALTERD、DROP3、SQL语言又称为()。A、结构化定义语言B、结构化控制语言C、结构化查询语言D、结构化操纵语言3.3数据操纵教学目标:1、会使用INSERT命令向表中添加记录。2、会使用UPDATE命令修改记录。3、会使用DELETE命令删除表中记录。教学重点:记录的添加、修改及删除。教学难点:记录的添加及修改。教学方法:讲授、演示、练习。教学工具:多媒体微机教室学时安排:2课时教学内容:SQL的数据操纵是对数据库中的记录的添加、修改和删除。第一课时记录的添加【命令格式】INSERTINTO表名[(字段名1[,字段名2,……])]VALUE(表达式1[,表达式2,……])【命令功能】向指定表中添加记录。【命令说明】1、如果插入完整的记录,则[(字段名1[,字段名2,……])]可省略。如果某些信息尚不确定只向表中添加部分字段的内容,就须在表名后加上所需的字段名。2、该命令可以在不打开数据库和不打开表的前提下,直接向表中插入记录,若想查看记录可用BROWSE命令查看。3、对于有些字段一定要加定界符号,如字符型一定要加单引号、双引号或方括号(‘’,“”,[]);日期型要加{};对于备注型字段可以插入信息。【上机实训3-11】向“学生管理”数据库下的“学生成绩”表中添加记录,表结构:学号C6,课程C18,成绩I。操作命令:INSERTINTO学生成绩(‘060101’,‘语文’,78)INSERTINTO学生成绩(‘060101’,‘数学’,65)INSERTINTO学生成绩(‘060101’,‘计算机’,82)【上机实训3-12】向“学生管理”数据库下的“学生信息”表中添加记录,只添加学生信息,学号为‘060101’、姓名为‘刘强’、性别为‘男’。操作命令:INSERTINTO学生信息(学号,姓名,性别)VALUE(‘060101’,‘刘强’,‘男’)【上机实训3-13】向“学生管理”数据库下的“学生信息”表中添加记录,只添加学生信息,学号为‘060201’、姓名为‘许鑫’、性别为‘男’,入学成绩为456。操作命令:INSERTINTO学生信息(学号,姓名,性别,入学成绩)VALUE(‘060101’,‘刘强’,‘男’,456)【上机实训3-14】向“学生管理”数据库下的“学生信息”表中添加记录,只添加学生信息,学号为‘060102’、姓名为‘孙彬’、性别为‘男’,出生日期为1990年11月5日。操作命令:INSERTINTO学生信息(学号,姓名,性别,出生日期)VALUE(‘060102’,‘孙彬’,‘男’,{…^1990/11/05})【上机实训3-15】向“学生管理”数据库下的“学生信息”表中添加记录,只添加学生信息,学号为‘060202’、姓名为‘王政’、性别为‘女’,简介信息为“该生从第十三中学考入我校,在文艺方面很有特长!”。操作命令:INSERTINTO学生信息(学号,姓名,性别,简介)VALUE(‘060202’,‘王政’,‘女’,“该生从第十三中学考入我校,在文艺方面很有特长!”)注:可用BROWSE命令查看,简介中没有信息会出现memo,简介中有信息会出现Memo字样,双击既可以出现输入的内容。第二课时记录的修改与删除一、记录的修改【命令格式】UPDATE表名SET字段名=表达式[,字段名=表达式……][WHERE条件表达式]【命令功能】更新表中的记录。【命令说明】不使用WHERE子句则更新全部内容,使用WHERE子句则更新满足条件的记录。【上机实训3-16】将“学生成绩”表中成绩不及格的同学,每人增加10分。操作命令:UPDATE学生成绩SET成绩=成绩+10WHERE成绩60【上机实训3-16】将“学生成绩”表中,每人成绩提高10%。方法一:操作命令:UPDATE学生成绩SET成绩=成绩+成绩*0.1方法二:操作命令:UPDATE学生成绩SET成绩=成绩*1.1说明:%在写命令的时候不能写成%,必须写成小数的形式。二、记录的删除【命令格式】DELETEFROM表名[WHERE条件]【命令功能】逻辑删除表中的记录。【命令说明】1、不使用WHERE子句则删除表中全部内容,使用WHERE子句则删除满足条件的记录。2、该命令没有这种删除记录,而是在该记录前加了一个删除标记,若要物理删除(彻底删除)记录,则使用PACK命令。【上机实训3-18】将“学生信息”表中的孙彬同学删除。操作命令:DELETEFROM学生信息WHERE姓名=‘孙彬’作业布置:课本54页习题2,4,5,6题。
本文标题:第三章SQL语言
链接地址:https://www.777doc.com/doc-2212149 .html