




已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第4章 关系数据库标准语言SQL,主要内容: SQL语言概述 数据定义 数据操纵 数据查询 数据控制,本章重点: 掌握SQL命令语句 的功能、用法!,2,4.1 SQL语言概述,结构化查询语言SQL(Structured Query Language),是关系数据库的标准语言。 SQL的特点: 1. 功能强大 2. 高度过程化 3. 语言简洁 4. 操作方式自由,SQL 的功能,数据定义 (DDL,DataBase Define Language) 数据操纵 (DML,DataBase Manipulation Language) 数据控制 (DCL,DataBase Control Language) 数据查询,3,SQL的9个动词,CREATE 创建表 DROP 移出表 ALTER 修改(结构) SELECT 查询 INSERT 插入 UPDATE 修改(数据) DELETE 删除 GRANT 授权 REVOKE 收回权限,4,4.2 查询功能,格式:SELECT ALLDISTINCT 字段表达式列表 AS 列名 FROM 表文件名,4.2.1基本查询,其中: ALL:表示选出的记录中包括重复记录。 DISTINCT:表示选出的记录中不包括重复记录,将重复记录只保留一条缺。缺省时默认为ALL。 字段表达式列表:可以是一组用“,”分开的字段名,也可以是函数或表达式。 AS 列名:为查询结果的重新指定一个列标题。 提示: 如果将表中所有字段都选择输出,则用“*”代替。 在函数或表达式中还可以用一些专用统计函数。SQL命令中常用的统计函数有: AVG(字段名):求所有满足条件的记录在该字段上的平均值。 MIN(字段名):求所有满足条件的记录在该字段上的最小值。 MAX(字段名):求所有满足条件的记录在该字段上的最大值。 SUM(字段名):求所有满足条件的记录在该字段的和。 COUNT(*或字段名):求所有满足条件的记录总数,字段名可以不写。 提示:除COUNT函数外,能进行统计的字段必须是表示数值的数据类型。而且用了统计函数后,视情况会将统计的记录压缩成一条或多条。 FROM 表文件名:设定查询的来源数据。,5,SQL语句书写说明: 语句涉及两个以上表的数据时,共有字段名前面必须冠以用“.”分隔的表名作为前缀。 语句需要分成几行时,除最末行外,其它行末尾加分号。 (3) 书写注意各个子句之间以空格分隔,子句内部各个项目之间用逗号分隔。 (4) 表无需打开,4.2 查询功能,6,4.2 查询功能,4.2.1基本查询,例4.1,在stu1.daf表中,检索所有记录的所有字段。 SELECT FROM stu1,例4.2,在stu1.daf中,检索所有学生姓名。 SELECT DISTINCT name FROM stu1,例4.3,检索出每个人的姓名、性别和生日 SELECT name as 姓名,sex as 性别,生日 FROM stu1,例4.4,统计表中的学生人数,并计算平均年龄。 SELECT COUNT(*),AVG(age) FROM stu1,7,4.2 查询功能,4.2.1基本查询,例,stu1表中共有几种系部 SELECT COUNT(distinct 系部 )from stu1,说明:除非对表中的记录个数进行计数,一般应用count函数时应该使用distinct。,8,4.2 查询功能,格式:SELECT ALL|DISTINC 字段列表 FROM 表文件名 WHERE 条件,4.2.2条件where 查询,说明 该命令的作用是检索出满足条件记录中的指定信息。 从命令格式可以看出此命令的格式比基本查询增加了WHERE 条件子句。其中的条件除了可以使用VFP语言中的关系表达式以及逻辑表达外,还可以使用几个特殊运算符: (1)NOTIN:表示不在之中。 (2)NOTBETWEENAND:表示不在之间。 (3)NOTLIKE:表示不与匹配。匹配符“%”表示0个或多个任意字符,. 匹配符“_”:表示一个任意字符或一个任意汉字。 注意:若like后面的匹配串中不含通配符,则可以用=运算符取代like谓词,9,4.2 查询功能,例4.5,在stu1表中,检索性别是男的学生记录。 SELECT num,name,sex FROM stu1 WHERE sex=“男“,例4.6,在stu1表中检索学号前两位是“11”的记录。 SELECT num,name,sex FROM stu1 WHERE num LIKE “11%“,4.2.2条件where 查询,10,4.2 查询功能,例4.7,例4.8,在stu1表中检索,姓名中第二个字为“亮”的记录。 select name,num from stu1 where name like “_亮“,在stu1表中检索,学生年龄在18和21岁之间的学生信息。 select name,num,age from stu1 where age between 18 and 21,4.2.2条件where 查询,例4.9,在stu1表中,检索所有姓陈和吕的记录。 select num,name from stu1 where name in(“陈“,吕),说明:in 的运算对象可以是一个SELECT的查询结果。,WHERE子句常用的查询条件,4.2 查询功能,12,12,4.2 查询功能,查询学号为“0001”号学生的信息,思考,1.查询所有不姓李的学生姓名 2.查询男生学生总人数,13,4.2 查询功能,4.2.3 排序,格式:SELECT ALL|DISTINCTOP 数值表达式PERCENT 字段列表 FROM 表文件名 ORDER BY 关键字表达式1 ASC | DESC, 关键字表达式2 ASC | DESC,说明 TOP 要与ORDER BY同时使用才有效。 TOP 数值表达式:表示在符合条件的记录中,选取排在最前的指定数量的记录。这里数值表达式指要查询的记录的条数。 含PERCEN选项时,数值表达式表示百分比,是指选取指定百分比的记录。如:top 50 percen 表示在符合条件的记录中选取50%个记录 ASC为升序(默认为升序),DESC为降序。允许按一列或多列排序。 注意 DISTINCT短语的作用范围是所有目标列,14,例4.10,在stud2表中,检索出总分最高的三位学生记录。 select top 3 * from stud2 order by 总分 desc,4.2 查询功能,4.2.3 排序,例4.12,在stu1表中,对90年以后出生的学生按年龄从高到低的顺序, 检索出20的记录。 select top 20 perc num, name, 生日 from stu1 order by age desc; where 生日=1990-01-01 year(出生年月)1970,例4.13,在stu1表中,先按性别升序排序,再按年龄降序排序并输出全部学生的 学号、姓名、性别和年龄 select num,name,age,sex from stu1 order by sex asc ,age desc,15,4.2.4分组与计算查询,格式:SELECT ALL | DISTINCT 字段列表 FROM 表文件名 GROUP BY 分组字段列表HAVING 过滤条件,说明 1.group by 子句将查询结果按某一列或多列的值分组,值相等的为一组。对查询结果分组的目的是为了细化聚集函数的作用对象。如果未对查询结果分组,聚集函数作用于整个查询结果,分组后聚集函数将作用于每一个组。 2.过滤条件:对分组的结果根据条件(可以是来自于字段列表项中的选项,也可以是一个统计函数)进行记录组的过滤。,4.2 查询功能,HAVING短语与WHERE子句的区别: 作用对象不同 WHERE子句作用于基表或视图,从中选择满足条件的元组 HAVING短语作用于组,从中选择满足条件的组。,思考:分别统计男女学生的党员人数。,例4.14,给表stu1中增加字段(系部)并录入相应的内容 求各个系部相应的人数及平均年龄。 select 系部,count(*) ,avg(age) from stu1 group by 系部,思考,4.2 查询功能,求至少有3个学生的系部名称 及平均年龄。 select 系部,count(*),avg(age) from stu1 group by 系部 having count(*)=3,select sex ,count(*) from stu1 group by sex having 是否党员=.t. select sex ,count(*) from stu1 group by sex where 是否党员=.t.,例4.15,17,求所有歌手最后得分(去掉一个最高分,去掉一个最低分 ,求出总分),并按最后得分降序排列。,例补,4.2 查询功能,select 姓名,sum(分数)-max(分数)-min(分数) as zh from 歌手 a,评分 b where a.歌手号=b.歌手号 group by 评分.歌手号 order by zh desc,19,4.2.5联结查询,在一个数据库中的多个表之间一般都存在着某些联系,在一个查询语句中同时涉及到两个或两个以上的表时,这种查询称之为连接查询(也称为多表查询),(1) 简单的联接查询,例,查询女学生的姓名,学号及高考成绩。 select name,stu1.num ,stud2.* from stu1,stud2 where; alltrim(stu1.num)=alltrim(stud2.num) and sex =“女“ 或 select name,stu1.num ,stud2.数学,stud2.语文,stud2.英语,stud2.综合,; stud2.总分 from stu1,stud2 where; alltrim(stu1.num)=alltrim(stud2.num) and sex =“女“,思考,查询选修了”1004”号课程的学生的姓名,学号,4.2 查询功能,sele stu1.num, , xk.kcnum from stu1,xk where alltrim(stu1.num)=alltrim(xk.xhao) .and. xk.kcnum=1004,20,4.2.5联结查询,(2) 别名的使用,例,在联接操作中, SQL允许在FROM短语中为关系名定义别名。 格式: 关系名 别名,查询女学生的姓名,学号及高考总分。 select ,b.num,b.总分 from stu1 a,stud2 b where; a.学号=b.学号. and. a.sex =“女“,4.2 查询功能,思考,查询选修1004号课程且成绩在80分以上的所有学生的 学号、姓名。,查询每个学生的学号、姓名、选修的课程编号,课程名称 sele stu1.num, , kc1.kname,kc1.knum from stu1,kc1,xk; where stu1.num=xk.xhao.and.xk.kcnum=kc1.knum,sele a.num, , b.kname,c.kccj from stu1 a,kc1 b ,xk c where a.num=c.xhao.and.c.kcnum=b.knum.and. kcnum=1004.and.c.kccj=70,当一个表中的信息要与同一表中的其他信息相比较时,需要用到自身联接,需要使用自身连接有两种典型情况:一种是表中有多对多关系;一种是表中有跨越时间段的信息。 使用自身连接需要注意: 同一来源数据表无比给予不同的别名; 位于select语句的字段串列中各个字段前要加上别名。,4.2.5联结查询,(3) 自然联接,4.2 查询功能,SQL不仅可以对多个表实行联接操作,也可以将同一个表与其自身 进行联接,这种联接就称为自然联接或自联接。,select dist b.系部,b.学号,b.姓名 from stu1 a, stu1 b where a.系部=b.系部 and a.姓名=“张小强“,查询和张小强在同一系的学生信息,4.2.5联结查询,(3) 自然联接,例补充,4.2 查询功能,23,4.2.5联结查询,(4) 超联接查询,SELECT FROM 表文件名 INNER | LEFT | RIGHT| FULL JOIN 表文件名 ON 联接条件 其中: INNER JOIN:等价于JOIN,为内部联接。 LEFT JOIN:称为左联接。 RIGHT JOIN:称为右联接。 FULL JOIN:称为全联接。,Visual Foxpro不支持超联接运算符“*=”(左联接)和“=*”(右联接),Visual Foxpro可以在SELECT命令中,使用专门的联接运算语法格式,来支持超联接查询,其语法如下:,4.2 查询功能,连接形式: (Inner) JOIN (内连接):只返回完全满足连接条件的记录。 LEFT JOIN (左连接):返回JOIN关键字左侧表中的所有记录以及右侧表中匹配的记录。 RIGHT JOIN (右连接):返回JOIN关键字右侧表中的所有记录以及左侧表中匹配的记录。 FULL JOIN (全连接):返回两个表中的匹配和不匹配的所有记录。,4.2 查询功能,25,4.2.5联结查询,(4) 超联接查询,例补充,(哪门课程没人选)左连接。 select xk.xhao,kname,knum from kc1 left join xk; on alltrim (kc1.knum)=alltrim(xk.kcnum),例补充,(哪个人选错了课)右连接。 select xk.xhao,kname,knum from kc1 right join xk; on alltrim (kc1.knum)=alltrim(xk.kcnum),例补充,(所有选课情况)全联接。 select xk.xhao,kname,knum from kc1 full join xk; on alltrim (kc1.knum)=alltrim(xk.kcnum),4.2 查询功能,26,左联接查询,右联接查询,全联接查询,27,4.2 查询功能,例补充,内连接。 select xk.xhao,kname,knum from kc1 join xk; on kc1.knum=xk.kcnum 等价于 select xk.xhao,kname,knum from kc1 ,xk; where kc1.knum=xk.kcnum,4.2.5联结查询,28,形式一:WHERE 表达式 关系运算符 ANY|ALL|SOME(子查询) 形式二:NOTEXISTS (子查询) 其中: 关系运算符:除了可以使用在第二章介绍的关系运算符之外,还有本章介绍到的特殊运算符。 ANY,ALL,SOME是量词,其中ANY和SOME是同义词,在进行比较运算时,只要子查询中有一条记录能使结果为真,则结果就为真;而ALL 则要求子查询中的所有行都为真,结果才为真。 EXIST是谓词。EXISTS 或 NOT EXISTS是用来检查子查询中是否有结果返回,即子查询的结果中存在的记录或不存在记录。,所谓查询的嵌套,就是在条件筛选即WHERE 子句中又包括了SELECT查询。嵌套查询常用的WHERE形式为:,4.2 查询功能,4.2.6 嵌套查询,29,4.2 查询功能,例补充,查询kc1.dbf中所有未被学生选修(学生选修的课程在xk表中)的课程编号和课程名称。 SELECT knum ,kname FROM kc1 WHERE knum NOT IN ; (SELECT kcnum FROM xk),例补充,查询出生时间在1991年以前的所有同学的课程及成绩。 Select * from xk Where xhao in; (select num from stu1 where YEAR(生日)1991),Select * from xk,stu1 Where xhao =num.and. YEAR(生日)=1991,2. 使用in操作符的嵌套查询,4.2 查询功能,例查询kc1.dbf中所有未被学生选修的课程编号和课程名称。 此查询要求可以分步来完成 确定所有学生所选的课程编号 SELECT kcnum FROM xk 结果为: 查找所有课程表中的课程编号,课程名称 SELECT knum,kname FROM kc1 结果为:,2. 使用in操作符的嵌套查询,构造嵌套查询 将第一步查询嵌入到第二步查询的条件中 SELECT knum,kname FROM kc1 WHERE knum NOT IN ( SELECT kcnum FROM xk),31,2. 使用比较符的嵌套查询,例4.25,查询和学号1001的同学在同一学院的学生信息 select * from stu1 where 系部=(select 系部 from stu1 where num=“1001“),说明 1.查询1001在哪个系。 2.查询与1001在一个系的学生信息,4.2 查询功能,32,4.2 查询功能,3. 使用量词的嵌套查询(自学),在jbqk表中,检索其他部门中比培训中心某一职工基本工资少的职工信息。 SELECT 编号,姓名,部门,基本工资 FROM jbqk WHERE 基本工资“培训中心“),some,例4.26,例4.27,“,SELECT 编号,姓名,部门,基本工资 FROM jbqk WHERE 基本工资“培训中心“,在jbqk表中,检索其他部门中比培训中心所有职工基本工资都少的职工信息。 SELECT 编号,姓名,部门,基本工资 FROM jbqk WHERE 基本工资“培训中心,33,4. 使用谓词exists的嵌套查询,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。,总结 SELECT * FROM 表A WHERE EXISTS (SELECT * FROM 表B WHERE 表B.id=表A.id),对于表A中每一条数据,都执行 select * from 表B where 表b.id=表A.id 的存在性判断,如果表b中存在表A当前行相同的id,则exists为真,该行显示, 否则不显示。,说明: 1. Exist 关键字的查询总是相关查询, 2. Exist关键字的子查询是唯一允许使用通配符”*”的情况,4.2 查询功能,1. EXISTS谓词 存在量词 带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值 “true”或逻辑假值“false”。 若内层查询结果非空,则外层的WHERE子句返回真值 若内层查询结果为空,则外层的WHERE子句返回假值 由EXISTS引出的子查询,其目标列表达式通常都用* ,因为 带EXISTS的子查询只返回真值或假值,给出列名无实际意义 2. NOT EXISTS谓词 若内层查询结果非空,则外层的WHERE子句返回假值 若内层查询结果为空,则外层的WHERE子句返回真值,34,4.2 查询功能,35,例补,查询所有选修了 1002号课程的学生学号,姓名,4. 使用谓词exists的嵌套查询,select * from stu1 where exists(select xhao from xk; where kcnum=1002.and. stu1.num=xk.xhao) 或者: select * from stu1 where num in( select xhao from xk where kcnum=1002),4.2 查询功能,36,例补,查询学生课程成绩超过课程总平均成绩的课程号,5. 内外层相关的嵌套查询,查询每个学生超过他选修课程平均成绩的课程号 select xhao,avg(kccj) from xk y group by xhao into cursor t2 sele xk.xhao,kcnum,kccj from xk,t2 where kccjt2.avg_kccj .and. xk.xhao=t2.xhao,4.2 查询功能,select * from xk where x.kccj=(select avg(kccj) from xk ),37,例4.32,4.2.7 利用空值查询,例4.33,列出已经确定了供应商的订购单信息。 SELECT * FROM dgd WHERE 供应商号 IS not null,SELECT * FROM dgd WHERE 供应商号 IS null,找出尚未确定供应商的订购单。,4.2 查询功能,38,例4.34,4.2.8 集合的并运算,在stu1表中查询机械学院和信息学院学生的信息。,select * from stu1 where 系部=“机械学院“; union; select * from stu1 where 系部=“信息学院“,4.2 查询功能,39,语法,INTO ARRAY 数组名 | CURSOR 临时表名 | DBF 表名 | TABLE 表名 TO FILE 文件名 ADDITIVE | TO PRINTER PROMPT ARRAY 数组名把查询结果存放到数组中,一般为二维数组。 CURSOR 临时表名把查询结果存放到临时文件中,当临时表关闭时此表就被删除。 DBF 表名 | TABLE 表名 把查询结果存入到一个指定的永久表中。 TO FILE 文件名 ADDITIVE 把查询结果存放到指定的文本文件中,如果加入选项ADDITIVE 表示添加到文件的末尾。 TO PRINTER PROMPT 把查询结果输出到打印机上,参数PROMPT 表示Visual FoxPro出现打印提示对话框。,功能,4.2.9 查询输出去向,4.2 查询功能,40,SELECT,: SELECT ALL | DISTINCTTOP 表达式 . AS ,别名 , . AS . FROM ! AS INNER | LEFT OUTER | RIGHT OUTER | FULL OUTER JOIN ! AS ON 连接条件 INTO | TO FILE ADDITIVE WHERE AND . GROUP BY , . HAVING UNION ALL ORDER BY ASC | DESC 功能:查询、检索表或库中的记录数据。,41,说明: SELECT 后紧跟的是将要查询的数据; FROM 子句指出查询数据的来源,即属于哪个表; WHERE子句表示查询的数据满足的条件; GROUP 子句说明查询结果的分组依据; HAVING子句限定分组所需满足的条件; ORDER BY 子句用来对查询的结果进行排序。,SELECT,42,4.3 数据定义,组成: CREATE、ALTER 、DROP 功能:对表(含临时表)的结构、查询及视图等数据库对象进行建立、修改或删除等基本操作。,43,CREATE,命令格式 CREATE TABLE|DBF 表文件名 NAM 长表名FREE (字段名1 类型(字段宽度,小数位数) NULL | NOT NULL CHECK 逻辑表达式1 ERROR 字符型文本信息1 DEFAULT 表达式1 PRIMARY KEY | UNIQUE REFERENCES 表文件名2 TAG 标识名1 NOCPTRANS ,字段名2 ,PRIMARY KEY 表达式2 TAG 标识名2|,UNIQUE 表达式3 TAG 标识3 ,FOREIGN KEY 表达式4 AG 标识名4 NODUP REFERENCES 表文件名3 TAG 标识名5 ,CHECK 逻辑表达式2 ERROR 字符型文本信息2) |FROM ARRAY 数组名 命令功能,实体完整性,44,4.3 数据定义,例4.38,Creat Database 学生管理 Create Table 学生( 学号 c(5) Primary Key,姓名 C(8) Null,; 年龄 N(2) Check (年龄10 And 年龄25) Error“年龄应大于10,小于25“,; 性别 C(2),入学时间 D Default2006-09-01) Create Table 成绩(学号 c(5) ,英语 N(6,2),法律 N(6,2) Create Table成绩(学号 c(5) ,英语 N(6,2),法律 N(6,2),foreign key 学号 tag 学号 references 学生) Alter Table 成绩 Alter Column 学号 c(5) Primary Key References 学生 Tag 学号 Modify Database,45,4.3 数据定义,只有数据库表才能指定字段的有效性系列信息和定义主关键字,46,3. 修改表结构 ALTER TABLE,命令格式1 ALTER TABLE ADD | ALTER COLUMN ( , ) NULL | NOT NULL CHECK ERROR DEFAULT PRIMARY KEY | UNIQUE REFERENCES TAG 功能:可以修改字段的类型、宽度、有效性规则,错误性信息,默认值,也可以定义主关键字、联系等,但不能修改字段名,不能删除字段,也不能删除已定义的规则。,VFP中的命令是什么?,4.3 数据定义,47,4.3 数据定义,例4.40,3. 修改表结构 ALTER TABLE,为学生表增加一个数值型类型的“入学成绩”字段。 ALTER TABLE 学生; ADD 入学成绩 N(6,2) CHECK 入学成绩500 ERROR“入学成绩应在500分以上“,例4.41,ALTER TABLE 学生 ALTER 学号 C(6),将学生表的学号字段的宽度由原来的5改为6。,48,命令格式2 语法: ALTER TABLE ALTER COLUMN NULL|NOT NULL SET DEFAULT SET CHECK ERROR DROP DEFAULT DROP CHECK 功能:设置或更改表中指定字段的默认值及约束条件等。 说明:该命令只能用于数据库表。,3. 修改表结构 ALTER TABLE,49,4.3 数据定义,例4.42,3. 修改表结构 ALTER TABLE,将学生表的入学成绩字段的有效性规则修改成:入学成绩高于450。 ALTER TABLE 成绩; ALTER 入学成绩 SET CHECK 入学成绩=450 ERROR “应该大于450” 或者 (根据格式1) ALTER TABLE 成绩; ALTER 入学成绩 N CHECK 入学成绩=450 ERROR “应该大于450”,例4.43,ALTER TABLE 学生 ALTER 入学成绩 DROP DEFAULT,删除学生表中入学成绩字段的默认值。,50,ALTER TABLE 表名1 DROP COLUMN 字段名3 SET CHECK 逻辑表达式3 ERROR字符表达式3 DROP CHECK ADD PRIMARY KEY 表达式3 TAG 索引名2 FOR 逻辑表达式4 DROP PRIMARY KEY ADD UNIQUE 表达式4 TAG索引名3 FOR 逻辑表达式5 DROP UNIQUE TAG 索引名4 ADD FOREIGN KEY 表达式5 TAG TagName4 FOR 逻辑表达式6 REFERENCES 表名2 TAG索引名5 DROP FOREIGN KEY TAG TagName6 RENAME COLUMN字段名4 TO字段名5 功能:修改表的结构,包括更改、删除字段、重新设置约束条件,添加或删除主索引等。 说明:对自由表只能进行删除、更改字段操作;对数据库表可以进行所有操作。,3. 修改表结构 ALTER TABLE,命令格式3,51,4.3 数据定义,例4.44,3. 修改表结构 ALTER TABLE,将学生表的“入学时间”字段名改为”编号” ALTER TABLE 学生 RENAME COLUMN 入学时间 TO 入学日期,例4.46,删除学生中的主索引。 ALTER TABLE 学生 DROP primary key,删除学生表中的年龄字段。 ALTER TABLE 学生 DROP COLUMN 年龄,例4.45,表文件的删除,Drop table ,Part 1,Part 2,表和视图的删除,要注意文件的路径,要保证被删除的表处于关闭状态 ; 如果要删除数据库表,则应该先打开相应的数据库,再进行表的删除操作; 表被删除后,基于表的视图文件也就不能再使用了,7-4,delete from where,Part 1,Part 3,删除数据(记录),例: delete from jbqk where empty(编号),删除记录,VFP中的命令是什么?,54,4.4 操作功能,4.4.1插入,格式一(插入一条记录) INSERT INTO ( , , .) VALUES ( , , .) 功能:在表中插入一条新记录。,例4.52,例:课程表中插入一门新课程 INSERT INTO kc1(knum,kname,学分); VALUES (“0003“,“多媒体“,3),SQL的数据操作功能包括对表中记录的插入、更新和删除,是记录级的操作,对应这些操作需要使用3个命令词insert、update、delete来实现。,55,4.4 操作功能,格式二:(插入一组记录) INSERT INTO 表文件名 FROM ARRAY 数组名 功能:此格式从指定的数组中插入记录值。数组中各元素与表中各字段顺序对应。,4.4.1插入,例: use kc1 &打开订购单 scatter to a1 &将当前记录读到数组 copy structure to kc2 &拷贝kc表的结构到kc2 insert into kc2 from array a1 &从数组a1插入记录到kc2 select 2 &切换到A2的工作区 browse &用BROWSE命令验证插入的结果,56,4.4 操作功能,语法: UPDATE ! SET = , = . WHERE AND | OR . 功能:修改或更新表中的记录数据。,4.4.2 更新,例:将课程号为1005的学生课程成绩提高10分 update xk1 set kccj= kccj +10 where kcnum=1005,在命令中百分数不能用%表示,而要写成小数的形式。,57,4.4.2 更新,思考题:给男生成绩加20分,4.4 操作功能,58,语法: DELETE FROM ! WHERE AND | OR . 功能:从表中删除记录数据。此命令只是加删除标记,并没有从物理上删除。,4.4.3 删除记录,课本79页 DELETE 范围 FOR 条件,4.4 操作功能,例:删除选课表中课程号为1007的选课记录 delete from xk where kcnum=1007,59,要删除仓库表中仓库号值是WH2的记录。 DELETE FROM zk WHERE 仓库号=”WH2”,4.4.3 删除,例4.55,对应的v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46000-2025节水型企业木材加工及其制品行业
- 青岛邮政考试题库及答案
- 电信资源考试题库及答案
- 森林防火业务知识培训
- 森林灭火水泵培训知识课件
- 2025年无机化学反应生产高级专业技能面试题解析
- 2025年教育行业教师招聘面试技巧及模拟题解答手册
- 《机械员》考试题库附完整答案(典优)
- 2025江苏省安全员《B证》考试题库及答案
- 2025年公共经济理论与实践能力测试模拟题集及答案详解
- 勉县一中小升初数学试卷
- 2025一建《建设工程经济》计算、时间、数字考点笔记
- 校园基孔肯雅热防控措施课件
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- 实测实量测量表格优质资料
- 读书笔记 -《提高利润的78个方法》
- GB/T 14273-1993旋转轴唇形密封圈性能试验方法
- GB/T 12247-2015蒸汽疏水阀分类
- 期权风险管理课件
- 《护理伦理学》教学大纲(本科)
- 板带轧机刚度对热轧板形的影响
评论
0/150
提交评论