VFP国二辅导--第1讲SQL.ppt_第1页
VFP国二辅导--第1讲SQL.ppt_第2页
VFP国二辅导--第1讲SQL.ppt_第3页
VFP国二辅导--第1讲SQL.ppt_第4页
VFP国二辅导--第1讲SQL.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

2011国二VFP辅导,教师:安晓飞,教学安排1、3、5、日班,6月22-7月3日, 8月29日-9月13日 周一晚、周五晚(17:30-20:55):机房103 周三晚(17:30-20:00)、周日下午(1:00-3:25):博206,共60学时,教学安排2、4、6、日班,6月22-7月3日, 8月29日-9月13日 周二晚(17:30-20:55)、周六上(8:20-11:45):机房103 周四晚(17:30-20:00)、周日上(8:20-10:45):博203,共60学时,考试方式,3.考试时间 笔试:9月17日上午 上机:9月17日下午,9月18日,2.上机操作:90分钟 (1)基本操作:4个共30分 (2)简单应用:2个*20分=40分 (3)综合应用:1个*30分=30分,1.笔试:90分钟 选择题:35个*2分=70分(含公共基础知识20分) 填空题:15个*2分=30分(含公共基础知识10分),公共基础知识,一、数据结构与算法 二、程序设计基础 三、软件工程基础 四、数据库设计基础 占30分,题型为10个选择题、5个填空题,一、Visual FoxPro系统概述 二、数据与数据运算(10分) 三、数据库与数据表(10分) 四、SQL关系数据库查询语言(28分) 五、查询与视图(2分) 六、程序设计基础(2分) 七、表单设计与应用(12分) 八、菜单设计与应用(2分) 九、报表设计与应用(4分),VFP程序设计笔试,注:括号内为2011年3月考试各章节试题分数。,考点1:建立(关闭)数据库,1.建立数据库 CREATE DATABASE ,2.关闭数据库 CLOSE DATABASE 注意:不能写文件名。,例:建立自由表 先执行:CLOSE DATABASE 或: CLOSE ALL,CREATE TABLE; 表名(字段1 类型(宽度),字段2 类型(宽度,小数位).),考点2:使用SQL命令创建表,字符:C 数值:N 整型:I 日期:D 注意:整型I和日期型D不需要设置宽度。,例:基本操作15.3,CREATE TABLE rate(币种1代码 C(2),; 币种2代码 C(2), 买入价 N(8,4), 卖出价 N(8,4),ALTER TABLE 表名; ADD 字段名 字段类型(宽度) CHECK 域完整性约束条件 ERROR 出错信息 DEFAULT 默认值,考点3:表结构的修改-1 增加新字段、设置字段规则,56,ALTER TABLE 金牌榜 ; ADD 奖牌总数 I; CHECK 奖牌总数=0,51.3,ALTER TABLE student ADD UNIQUE 学号 TAG 学号,考点3:表结构的修改-2 新建索引,ALTER TABLE 表名 ADD PRIMARY KEY TAG ; ADD UNIQUE TAG ,ALTER TABLE ; ALTER 字段名 字段类型(宽度,小数位); ALTER 字段名 SET CHECK 域完整性约束条件 ERROR 出错信息; ALTER 字段名 SET DEFAULT 默认值,考点3:表结构的修改-3 修改表的字段(类型,宽度,有效性规则,信息,默认值),62.4,ALTER TABLE 评委表; ALTER 评委编号; SET CHECK LEFT(评委编号,2)=“11“,14.3,ALTER TABLE s_t ALTER 年度 SET DEFAULT “ 2004“,ALTER TABLE ; DROP COLUMN ; DROP PRIMARY KEY; DROP UNIQUE TAG 索引名; ALTER DROP CHECK; ALTER DROP DEFAULT,【例】删除学生表中“出生日期”字段。 ALTER TABLE 学生 DROP COLUMN 出生日期,【例】删除学生表中的主索引AB。 ALTER TABLE 学生 DROP PRIMARY KEY,【例】删除学生表中的候选索引ABC。 ALTER TABLE 学生 DROP UNIQUE TAG ABC,考点4:删除字段、索引、规则,在VFP中,如果要将学生表S(学号,姓名,性别,年龄)中“年龄”属性删除,正确的SQL命令是_。(2007年4月) A.ALTER TABLE S DROP COLUMN 年龄 B.DELETE 年龄 FROM S C.ALTER TABLE S DELETE COLUMN 年龄 D.ALTEER TABLE S DELETE 年龄,A,ALTER TABLE ; RENAME COLUMN TO 【例】将“学生”表中的“入学成绩”字段的名称修改为“成绩”。 ALTER TABLE 学生; RENAME COLUMN 入学成绩 TO 成绩 或 ALTER TABLE 学生; RENAME 入学成绩 TO 成绩,考点5:改字段名,考点6 SQL的记录修改功能-1 插入记录,格式1: INSERT INTO (字段名1,字段名2,) VALUES(数值1, 数值2,) 格式2: INSERT INTO VALUES(数值1, 数值2,),例1:插入记录(全部字段,可以省略字段名),学生1.DBF,INSERT INTO 学生1 VALUES (“8005”,“赵伟“,”男”,23),INSERT INTO 学生1(学号,姓名,性别,年龄) VALUES (“8005”,“赵伟“,”男”,23),例2:插入记录(部分字段),INSERT INTO 学生1(学号,姓名,性别); VALUES (”8006”, ”李四”, ”女” ),例:基本操作57,CREATE TABLE ; golden(国家代码 C(3),金牌数 I,银牌数 I, 铜牌数 I),INSERT INTO golden VALUES(“011“,9,7,11),DELETE FROM WHERE ,【例】删除学生表中学号为8006的记录,注意:该命令逻辑删除表中的记录。 使用该语句不需打开数据表。 如果没有WHERE语句,将删除表中所有的记录。,考点7 SQL的记录修改功能-2 删除记录,DELETE FROM 学生 WHERE 学号= “8006“,删除表命令 【格式】DROP TABLE ,UPDATE 表名 SET 字段名=表达式 WHERE 条件,考点8 SQL的记录修改功能-3 更新记录,例:30.3,update 雇员 set email=部门号+雇员号+“XXXX.“,第39题,1.SELECT * FROM stock_sl INTO TABLE stock_bk 2.INSERT INTO stock_bk VALUE(“600028“, 4.36, 4.60, 5500) 或INSERT INTO stock_bk (股票代码,买入价,现价,持有数量) VALUE(“600028“, 4.36, 4.60, 5500) 3.UPDATE stock_bk ; SET 现价 = 8.88 WHERE 股票代码 = “600007“ 4.DELETE FROM stock_bk WHERE 股票代码 = “600000“,考点9 简单查询,【例1】显示教师表中男教师的姓名、职称和性别信息。,SELECT 姓名,职称,性别 ; FROM 教师; WHERE 性别=“男“,【例2】显示教师表中职称是副教授的男教师信息。,SELECT * FROM 教师; WHERE 职称=“副教授“ and 性别=“男“,职工.DBF:部门号C(8),职工号C(10),姓名C(8),性别C(2),出生日期D,查询1962年10月27日出生的职工信息的正确命令是_。(2004年4月) A. SELECT * FROM 职工 WHERE 出生日期=1962-10-27 B. SELECT * FROM 职工 WHERE 出生日期=1962-10-27 C. SELECT * FROM 职工 WHERE 出生日期=“1962-10-27“ D. SELECT * FROM 职工 WHERE 出生日期=(“1962-10-27“),A,SELECT DISTINCT 专业 FROM 学生,考点10 去掉查询结果中的重复记录,【例】显示学生表中都有哪些专业。,SELECT 专业 FROM 学生,AS后面的字段是虚拟字段。 AS可以省略,【例】显示学生表的学号、姓名和年龄信息。,SELE 学号,姓名, FROM 学生,YEAR(DATE()-YEAR(出生年月),AS 年龄,考点11 产生新字段(虚拟字段),年龄,如果查询结果中不希望使用原表中的字段名,或查询结果是通过函数、表达式运算得到的,可以根据要求设置一个新的字段名,新产生的字段通常称为虚拟字段。,【例】查询“教师”表中所有党员教师的信息。,考点12 逻辑型字段条件查询,SELECT * FROM 教师 WHERE 党员否 此查询等价于如下语句: SELECT * FROM 教师 WHERE 党员否=.T.,【例】查询学生表中年龄小于19岁学生的学号、姓名和年龄信息。,考点13 虚拟字段条件查询,SELECT 学号,姓名,YEAR(DATE()-YEAR(出生日期) AS 年龄; FROM 学生; WHERE YEAR(DATE()-YEAR(出生日期)19,注意:WHERE语句后不能使用虚拟字段进行条件限定,即条件不能写成“年龄19”。,SELECT FROM WHERE ; BETWEEN AND 查询条件中字段的取值范围,考点14 几个特殊的运算符,SELECT FROM WHERE ; NOT LIKE 通配符”%” 表示0个或任意多个字符; 通配符”_ ” 表示任意1个字符。,【例】查询入学成绩在500到520之间的学生信息。,SELECT * FROM 学生 ; WHERE 入学成绩 BETWEEN 500 AND 520,【例】查询所有姓王的学生信息。,SELECT * FROM 学生 WHERE 姓名 LIKE “王%“,考点15 查询结果排序,SELECT ; FROM ; ORDER BY ASC|DESC, ASC|DESC , (注:字段名可以用字段序号代替),SELECT * FROM 学生1; ORDER BY 年龄 DESC,4,例1:按年龄降序显示学生信息,SELECT * FROM 学生; ORDER BY 年龄,学号 DESC,例2:按年龄升序,年龄相同的再按学号降序显示学生信息,【例】查询学生表中年龄大于21岁的学生的学号、姓名和年龄信息,查询结果按年龄升序排列。 SELECT 学号,姓名,YEAR(DATE()-YEAR(出生日期) AS 年龄; FROM 学生; WHERE YEAR(DATE()-YEAR(出生日期) 21; ORDER BY 年龄 【注意】 WHERE语句后不能使用虚拟字段,但可使用运算表达。 ORDER BY语句后不能使用运算表达式,但可使用虚拟字段。,SELECT TOP|PERCENT ; FROM ; ORDER BY;,考点16 显示前n(百分之n)条记录,SELECT TOP 3 *; FROM 学生; ORDER BY 入学成绩 DESC,SELECT TOP 3 PERCENT *; FROM 学生; ORDER BY 入学成绩,例1:查询入学成绩前3名的学生信息。,例2:查询按入学成绩升序排序前百分之3的学生信息。,* TOP 3;,注意: TOP语句要与ORDER BY语句同时使用才有效。,订单.DBF:订单号 C(4),客户号 C(4),职员号 C(3),签订日期 D,金额 N(6.2),查询金额最大的前10%订单的信息。正确的SQL语句是_。(2005年9月) A.SELECT * TOP 10 PERCENT FROM 订单 B.SELECT TOP 10% * FROM 订单 ORDER BY 金额 C.SELECT * TOP 10 PERCENT FROM 订单 ORDER BY 金额 D.SELECT TOP 10 PERCENT * FROM 订单 ORDER BY 金额 DESC,D,“歌手”表中有“歌手号”、“姓名”、和“最后得分”三个字段,“最后得分”越高名次越靠前,查询前10名歌手的SQL语句是: SELECT * _ FROM 歌手 ORDER BY 最后得分_ 。(2007.4),TOP 10,DESC,考点17 计算查询,统计查询:COUNT,【例】查询选课表记录个数。 Select count(*) From 选课,【例】查询选课学生人数(不计重复的学生) Select count(Distinct 学号) From 选课,最大、最小值查询,【例】查询学生的最高分 Select max(成绩) As 最高分 From 选课,【例】查询07010001学生的最低成绩 Select min(成绩) From 选课 Where 学号=“07010001“,求和、求平均值查询,【例】查询所有学生的平均成绩 Select avg(成绩) as 平均成绩 From 选课,【例】查询”07010001”学生的的总分 Select sum(成绩) as 总分From 选课 where 学号=“07010001”,考点18 分组查询,SELECT FROM WHERE ,GROUP BY HAVING ,【说明】 1.GROUP BY对记录分组,并分别对每组记录进行统计运算。 2.GROUP BY后可以接字段、虚拟字段、数值,不能接表达式。 3.HAVING只能跟在GROUP BY语句之后,用于限定分组条件。,【例】统计教师表各职称的人数 Select 职称, count(*) as 人数; From 教师 ; Group by 职称,【例】统计教师表除了“助教”外各职称的人数。 Select 职称, count(*)

温馨提示

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

评论

0/150

提交评论