版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 SQL查询语言,5.1 SOL简介 5.2 数据查询 5.3 数据操作 5.4 数据定义,5.1 SQL简介,SQL是Sturctured Query Language(结构化查询语 言)的缩写。SQL包含数据查询、数据定义、数据 操纵和数据控制等功能。其中查询是SQL语言的重 要组成部分。 SQL是关系数据库的标准语言,所有的关系数据库 管理系统都支持SQL。,5.1 SQL简介,SQL语言主要特点: 一体化语言 高度非过程化 语言简洁,易学易用 统一的语法格式,不同的工作方式 视图数据结构,SQL操作的两个基本数据结构对象是:表和视图,5.2 数据查询,格式: SELECT ALL
2、|DISTINCT , FROM , WHERE AND AND |OR GROUP By , UNION ALL ORDER By ASCENDING|DESCENDING,ASCENDING|DESCENDING ,5.2 数据查询,INTO | TO FILE ADDITIVE | TO PRINTER | TO SCREEN|into cursor|into table,建议:多多操作! 来加深印象!,5.2 数据查询,ALL:在查询结果中包含所有的行(包括重复值)。它是 系统的默认设置。 DISTINCT:在查询结果中删除重复行 :当涉及到多表查询时,需要通过别名来区分不同 表文件中
3、的字段。 :检索项主要是FROM子句中所给出的表文件中的 字段名。选中的字段名可以和SQL函数一起使用。,常用到的函数有:,平均值函数AVG(): 求一列数据的平均值,最小值函数MIN(): 求一列数的最小值,最大值函数MAX(): 求一列数的最大值,计数函数COUNT(): 求一列中该字段的个数,求和函数SUM(): 求一列数的总和,5.2 数据查询,FROM:form子句也是命令中不可缺少的成分,用于指定数 据来源,其后列出所有要查询的表文件名,可以加上相应的 别名。 WHERE:WHERE是命令可选项,其后各子句含义为: 是指多表文件查询的条件;是指单表 文件的查询条件.,5.2 数据查
4、询,GRONP By短语:将查询结果按某一列(或多个列)的值进行 分组; HAVING子句: HAVING子句,只与GROUP By配合使用, 用于说明分组条件; UNION ALL :说明将两个查询结果合并在一 起输出;若无ALL,重复记录将被自动取消,若有ALL表示 结果全部合并;,5.2 数据查询,ORDER By ASC|DESC:ORDER BY子句指定 按哪个字段对查询结果排序,ASC为升序, DESC为降序;,5.2 数据查询,INTO Destination:指定在何处保存查询结果。如果在同 一个查询中同时包含了INTO子句和TO子句,则TO子句不起 作用。如果没有包含INTO
5、子句,查询结果显示在“浏览”窗 口中。,Destination可以是下列三种子句之一,DBF TableName|TABLE TableName: 将查询结果保存到一个表中,如果指定 的表已经打开,并且SET SAFETY设置 为OFF,则VFP在不给出任何警告信息 的情况下改写该表。执行完SELECT语 句后,该表仍然保持打开活动状态。,CURSOR CursorName:将查询结 果保存到临时表中。如果指定了一 个已打开表的名称,则VFP产生错 误信息。执行完SELECT语句后, 临时表仍然保持打开,但只读。一 旦关闭临时表,则自动删除它。,ARRAY ArrayName: 将查询结果保存
6、到数组中。如果查询 结果中不包含任何记录,则不创建这 个数组。,5.2 数据查询,TO FILE FileName ADDITIVE | TO PRINTER PROMPT | TO SCREEN:如果命令中包含了TO子句,但没有包括 INTO子句,则查询结果定向输出到名为FileName的ASCII 码文件、打印机或主窗口。包含ADDITIVE子句使查询结果 追加到所指定的文本文件的内容后面。,5.2.1 简单查询,简单查询基于单个表,由select-from构成无条件查询, select-from-where构成条件查询 无条件查询:select-from构成 1.查询表中部分字段 例5.
7、1查询student表中学生的学号和姓名 select 学号,姓名 from student 例5.2 查询department表中所有的系名 Select 系名 from department,5.2.1 简单查询,2.使用distinct短语 例5.3 列出学生表中的班级名称 (无重复行) select distinct 班级 from student 3.查询表中全部字段 例5.4 查询学生表中全部字段 select * from student 例5.5 查询course表中的所有元组 Select * from course,Distinct:去掉查询结果中的重复值,“*”是通配符,
8、表示所有字段,5.2.1 简单查询,条件查询:select-from-where结构 4.简单的条件查询 例5.6 查询1992年9月1日以后出生的学生名单 Select 姓名 from student where 出生日期ctod(“09/01/92”) 例5.7 列出选修课的课程名称和课程号 Select 课程名,课程号 from course where 课程性质=“选修” 例5.8 查询课程号是0600101,成绩大于80分的学生学号及成绩, 且将成绩由高到低列出 Select 学号,成绩 from grade where 课程号=“0600101” and 成绩80 order by
9、 成绩 desc,5.2.1 简单查询,4.简单的条件查询 例5.9 查询teacher表中工资多于2200元的职工所在的系号 Select distinct 系号 from teacher where 工资2200 例5.10 给出在系号“01”或“02”工作并且工资少于3000 元的教师编号 select 教师编号 from teacher where 工资3000 and (系号 =01 OR 系号=02),多个查询条件可以用AND、OR或者NOT连接,5.2.2 简单连接查询,连接是关系的基本操作之一,连接查询是一种基于多个关系 (表)的查询。 对于连接查询,检索项来自不同的关系,在F
10、ROM短语后多 个数据表的名称之间用逗号隔开,在WHERE短语中必须指 定数据表之间进行的连接条件。,5.2.2 简单连接查询,1.等值连接 对于等值连接,连接条件通常是两个数据表的公共字段的值相等。 例5.11找出工资多于2200元的教师编号和他们所在的系名。 select 教师编号,系名 from teacher,department; where (工资2200) and (teacher.系号=department.系号) 例5.12找出成绩大于90分的学生的学号、姓名及成绩。 select student.学号,姓名,成绩 from student,grade where 成 绩90
11、 and student.学号=grade.学号 或者 select s.学号,姓名,成绩 from student s,grade g where 成 绩90 and s.学号=g.学号,在连接查询中引用两个表的公共字段时,须在公共字段名前添加表名或表别名作为前缀,否则系统会提示出错。对于只在一个数据表中出现的字段,则无须指定前缀。,在select查询的from子句中,可以对数据表指定别名,格式为. ,指定别名后,在引用该数据表的字段时,应以别名作为数据表的前缀。,5.2.2 简单连接查询,1.等值连接 例5.13 查询上官小梅所学课程的课程名及其对应的成绩 select 姓名,课程名,成绩
12、 from student s,course c,grade g where 姓名=上官小梅 and s.学号=g.学号 and g.课程号=c. 课程号,对于3个表的连接查询,使用where子句指定查询条件时,其形式为:from , where and ,5.2.2 简单连接查询,2.自连接查询:同一关系与自身进行连接 例5.14 找出至少选修0200101号课和0600201号课学生的学 号 select x.学号 from grade x, grade y where x.学号=y.学号 and x.课程号=0200101 and y.课程号=0600201,5.2.3 嵌套查询,在一个
13、select命令的where子句中,如果还出现了另一个select命令,则这种查询称为嵌套查询。 Vfp只支持单层嵌套查询。 嵌套查询所要求的结果出自一个关系,但相关的条件却涉及多个关系:一般外层查询的条件依赖内层查询的结果,而内层查询与外层查询无关。,5.2.3 嵌套查询,例5.15 查询哪些系至少有一个教师的工资为2200元。 select 系名 from department where 系号 in (select 系号 from teacher where 工资=2200) 例5.16 查询所有教师的工资都多于2200元的系的信息。 select * from department w
14、here 系号 not in (select 系 号 from teacher where 工资=2200) and 系号 in (select 系号 from teacher),5.2.3 嵌套查询,例5.17 查询还没有被学生选修课程的课程号和课程名 select 课程号,课程名 from course where 课程号 not in (select 课程号 from grade) 例5.18 查询选修“管理学”的所有学生的学号及成绩 Select 学号,成绩 from grade where 课程号= (select distinct 课程号 from course where 课程名
15、=管理学),5.2.3 嵌套查询,例5.19 查询同时选修了课程号为0200101和0600201两门课 程的学生姓名 select 姓名 from student where 学号 in (select g1.学号 from grade g1,grade g2 where g1.学号=g2.学号 and g1. 课程号=0200101 and g2.课程号=0600201),5.2.4 特殊运算符,特殊运算符:betweenand, in, like, not,!= 1.确定范围的查询:betweenand 例5.20 查询成绩在80分到90分之间的学生得分情况 select * from
16、grade where 成绩 between 80 and 90 或 select * from grade where 成绩=80 and 成绩=90 例5.21查询工资不在2200元到2500元范围内的教师信息。 select * from teacher where 工资 not between 2200 and 2500,注意in和between的区别,5.2.4 特殊运算符,2. In 例5.22 列出课程号是0200101和课程号是0600201的全体学 生的学号、课程号和成绩. select 学号,课程号,成绩 from grade where 课程号 in (0200101,0
17、600201) 或 select 学号,课程号,成绩 from grade where 课程号= 0200101 or 课程号=0600201,In运算符后面接一个集合,集合中的元素可以是数值、字符、日期和逻辑表达式等。,5.2.4 特殊运算符,3. !=和NOT 例5.23 查询不在市场营销11-1班学生的信息。 select * from student where 班级 !=市场营销11-1 或 select * from student where not 班级 =市场营销11-1“ 例5.24 查询成绩不在80分到90分之间的学生得分情况 select * from grade wh
18、ere 成绩 not between 80 and 90,5.2.4 特殊运算符,4.模糊查询like 例5.25 在student表中,查询2011级学生的基本情况 select * from student where 学号 like2011% 例5.26 在student表中,查询所有姓“王”的学生名单 select 姓名 from student where 姓名 like 王%,注意like的使用及%与_的区别,5.2.5 空值查询,例5.27 查询teacher表中出生日期还没有确定的教师信息。 select * from teacher where 出生日期 is null 例5
19、.28 查询teacher表中已经确定了出生日期的教师信息。 select * from teacher where 出生日期 is not null,空值怎么查?,Is null,空值查询时要用is null,而不是“=null”,因为空值不是一个确定的值,所以不能用“=”这样的运算符进行比较,5.2.6 简单的计算查询(库函数查询),用于计算检索的库函数有: count( )、 sum( )、avg( )、 max( )、min( ) 例5.29 统计student表中班级的个数 select count(distinct 班级) as 班级个数 from student 例5.30 统计
20、student表中男生人数 select count(*) from student where 性别=“男 例5.31查询1992年1月1日后出生的学生人数 select count(*) from student where 出生日期1992-01-01,As的作用是在查询结果中将指定列命名为一个新的名称,Count(*)是count()函数的一种特殊形式,用来统计查询结果的记录个数,5.2.6 简单的计算查询(库函数查询),例5.32 查询grade表中成绩的最高分、最低分及平均分。 select max(成绩)as 最高分,min(成绩)as 最低分,avg(成 绩) as 平均分 f
21、rom grade 例5.33 查询grade表中所有选修课的成绩总和 select sum(成绩)from grade where 课程号 in (select 课 程号 from course where 课程性质=选修),5.2.7 分组与计算查询,GRONP By短语: 将查询结果按某一列(或多个列)的值进行分组; HAVING子句: HAVING子句,只与GROUP By配合使用,用于说明分组条件;,5.2.7 分组与计算查询,例5.34 查询男女生人数 Select 性别,count(*) from student group by 性别 或 Select 性别,count(性别)
22、 from student group by 性别 例5.35 求每个系的教师的平均工资 select 系号,avg(工资) from teacher group by 系号 例5.36 求至少有两名教师的每个系的平均工资 select 系号,count(*),avg(工资) from teacher group by 系号 having count(*)=2,Count(*)为每一组的记录个数,5.2.7 分组与计算查询,例5.37 列出各门课的平均成绩、最高成绩、最低成绩和选课 人数 select 课程号, AVG(成绩) AS 平均成绩, MAX(成绩) AS 最 高分, MIN(成绩)
23、 AS 最低分, COUNT(学号) AS 选课人数 from grade group by 课程号 例5.38 列出最少选修二门课程的学生姓名 select 姓名 from student where 学号 in(select 学号 from grade group by 学号 having count(*)=2),5.2.7 分组与计算查询,例5.39 求出总分大于180的学生的学号,姓名及总成绩 select s.学号,姓名,sum(成绩) as 总成绩 from student s, grade g where s.学号=g.学号 group by g.学号 having sum(成绩
24、)180,5.2.8 排序,ORDER By ASC|DESC:指定将查询结果按哪个 字段排序,ASC为升序, DESC为降序; 例5.40 对学生表按姓名排序 Select * from student order by 姓名 例5.41 对teacher表按工资升序检索出全部教师的信息。 select * from teacher order by 工资 例5.42 先按系号排序,再按工资降序排序输出全部教师信息 select * from teacher order by 系号,工资 desc,5.2.8 排序,显示前几项记录:有时只需要查找满足条件的前几个记录, 这时可使用top短语
25、格式:TOP nExpr PERCENT 说明: nExpr为数字表达式,当不使用PERCENT时, nExpr为1至32767间的整数,说明显示前几个记录;当使用 PERCENT时, nExpr是0.01至99.99间的实数,说明显示结 果中前百分之几的记录。,5.2.8 排序,例5.43 显示teacher表工资最高的3位教师的信息 select * top 3 from teacher order by 工资 desc 例5.44 显示teacher表工资最低的那20%教师的信息 select * top 20 percent from teacher order by 工资 例5.45
26、 在grade表中查询成绩最高的5位学生的得分情况。 select * top 5 from grade order by 成绩 desc 例5.46 在grade表中查询成绩最低的30%学生的得分情况 select * top 30 percent from grade order by 成绩,top短语必须和order by短语配合起来使用才有效,它不能单独使用,5.2.9 超连接查询,用where指定的连接条件一般都是等值连接,即只有满足连接条件的记录才会出现在查询结果中。 在SQL标准中还支持表的超连接,使用下面的命令: Select From Table1 Inner | Left
27、| Right | Full JoinTable2 On Where 其中,inner代表内连接,即普通连接;Left、Right、Full 分别代表左连接、右连接和全连接,Left、Right、Full三种 连接方式也称为外连接。,5.2.9 超连接查询,INNER JOIN(JOIN),普通连接:只有满足连接条件的记录才出现在查询结果中。 LIFT JOIN,左连接:在进行连接运算时,首先将满足连接条件的所有元组放在结果关系中,同时将第一个表(或称Join左边的表)中不满足连接条件的元组也放入结果关系中,这些元组对应第二个表(或称Join右边的表)的属性值为空值。,5.2.9 超连接查询,
28、RIGHT JOIN,右连接:在进行连接运算时,首先将满足连接条件的所有元组放在结果关系中,同时将第二个表(或称Join右边的表)中不满足连接条件的元组也放入结果关系中,这些元组对应第一个表(或称Join左边的表)的属性值为空值。 FULL JOIN,全连接:在进行连接运算时,首先将满足连接条件的所有元组放在结果关系中,同时将两个表中不满足连接条件的元组也放入结果关系中,这些元组对应另一个表的属性值为空值。,5.2.9 超连接查询,例5.47 普通连接(将teacher表和department表的部分字段 通过公共的字段“系号”进行连接) select d.系号, 系名,教师编号,教师姓名 f
29、rom Department d,teacher t where d.系号=t.系号 等价于 select d.系号, 系名,教师编号,教师姓名 from Department d join teacher t on d.系号=t.系号 等价于 select d.系号, 系名,教师编号,教师姓名 from Department d inner join teacher t on d.系号=t.系号,5.2.9 超连接查询,例5.48 左连接 select d.系号, 系名,教师编号,教师姓名 from Department d Left join teacher t on d.系号=t.系号
30、例5.49 右连接 假设teacher表插入一条记录 “2006108”,“07”, “刘丽”,1972-06-24, “副教授”,2500.00 select d.系号, 系名,教师编号,教师姓名 from Department d Right join teacher t on d.系号=t.系号,5.2.9 超连接查询,例5.50 全连接 select d.系号, 系名,教师编号,教师姓名 from Department d Full join teacher t on d.系号=t.系号,Join 连接格式在连接多个表时的书写方法要特别注意,在这种格式中join和on的顺序很重要,特别
31、要注意join的顺序与on的顺序正好相反,5.2.10 使用量词和谓词的查询,格式1:比较运算符ANYALLSOME(子查询) 量词:ANY、ALL、SOME,其中ANY与SOME为同义词,在进行比较运算时只要子查询中有一行能使结果为真,则结果就为真;而ALL则要求子查询中的所有行都使结果为真时,结果才为真。 格式2:NOTEXISTS(子查询) 谓词:EXISTS,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回(即存在元组或不存在元组),5.2.10 使用量词和谓词的查询,例5.51 检索那些系中还没有教师的系的信息。 select * from department
32、where not exists (select * from teacher where 系号=department.系号) 等价于 select * from department where 系号 not in (select 系号 from teacher ) 例5.52 检索那些系中至少已经有一个教师的系的信息。 select * from department where exists (select * from teacher Where 系号=department.系号) 等价于 select * from department where 系号 in (select 系号
33、from teacher),5.2.10 使用量词和谓词的查询,例5.53 查询还没有被学生选修课程的课程号和课程名 Select 课程号,课程名 from course where not exist (select * from grade where course.课程号=grade.课程号),注意:NOTEXISTS只是 判断子查询中是否有或没有结果返回,它本身并没有任何运算或比较。,5.2.10 使用量词和谓词的查询,例5.54 求必修课程号是0200101的学生中成绩比必修课号 是0600201课的最低成绩要高的学生的学号与成绩 select 学号,成绩 from grade wh
34、ere 课程号=0200101 and 成绩any (select 成绩 from grade where 课程号 =0600201) 等价于 select 学号,成绩 from grade where 课程号=0200101 and 成绩 (select min(成绩) from grade where 课程号 =0600201),5.2.10 使用量词和谓词的查询,例5.55 求必修课程号是0200101的学生中成绩比必修课号 是0600201课的最高成绩要高的学生的学号与成绩 select 学号,成绩 from grade where 课程号=0200101 and 成绩all(sele
35、ct 成绩 from grade where 课程号 =0600201) 等价于 select 学号,成绩 from grade where 课程号=0200101 and 成绩 (select max(成绩) from grade where 课程号 =0600201),5.2.11 集合的并运算,SQL支持集合的并(UNION)运算,即可以将两个SELECT 语 句的查询结果通过并运算合并成一个查询结果。为了进行并 运算,要求两个查询结果具有相同的字段个数,并且对应字 段的值要出自同一个值域。 格式:UNION ALL 说明将两个查询结果合并在一起输出;若无ALL,重复记录将被自动取消,若
36、有ALL表示结果全部合并;,5.2.11 集合的并运算,例5.56 以下结果为系名为自动化系和经济系的教师信息 select * from teacher where 系号=(select 系号 from department where 系名=自动化系) union; select * from teacher where 系号=(select 系号 from department where 系名=经济系),5.2.11 集合的并运算,例5.57 以下结果为“选修课”和“必修课”的课程相关信息。 select 课程名,课程号 from course where 课程性质=选修“ Union
37、 select 课程名,课程号 from course where 课程性质=“必修“,5.2.12 查询结果的输出,查询结果的输出去向 Into Array Into Cursor Into Dbf|Table To File To Printer prompt,Into cursor产生的临时表文件是只读的.dbf文件,当查询结束后该临时文件是当前文件,可像一般的.dbf文件使用,当该临时文件被关闭后,文件将自动被删除。,执行完into table 后,系统将在默认路径下建立数据表文件,同时打开该文件,并将其设为当前数据表。与临时表文件不同,该表文件存放在磁盘上,关闭后不会被自动删除。,T
38、o fileadditive可将查询结果保存到一个文本文件,文本文件的默认扩展名是.txt,若使用additive可将查询结果追加到原文本文件的尾部,否则将覆盖原有文件。,5.2.12 查询结果的输出,1.将查询结果存放在数组 例5.58 将查询到的选修课的课程号和课程名存放在数组xx中。 select 课程号,课程名 from course where 课程性质=“选修” into array xx ?xx(1,1),xx(1,2) ?xx(2,1),xx(2,2),5.2.12 查询结果的输出,2.将查询结果存放到临时表文件 例5.59 将查询到的选修课的课程号和课程名存放在临时.dbf表
39、 文件xx中。 select 课程号,课程名 from course where 课程性质=选修“ into cursor xx 3.将查询结果存放到永久表文件 例5.60 将查询到选修课的课程号和课程名存放在永久表文件 yy中 select 课程号,课程名 from course where 课程性质=“选修“ into table yy,5.2.12 查询结果的输出,4.将查询结果存放到文本文件 若命令中包含了to子句,但没有包含into子句,则to子句起 作用。 例5.61 将查询到的选修课的课程号和课程名存放在文本文件 xx中。 select 课程号,课程名 from course w
40、here 课程性质=选修 to file xx 5.将查询结果直接输出到打印机 使用子句to printerprompt可以直接将查询结果输出到打印 机,若使用了prompt选项,则在打印之前还会打开打印机设 置对话框。,5.3 数据操作,SQL的数据操作功能是指对数据库中的数据进行操 作的功能,主要包括数据的插入、数据的更新和数 据的删除,对应的SQL命令动词分别是INSERT、 UPDATE和DELETE。,5.3.1.插入数据,格式1:INSERT INTO (, ) VALUES (, ) 功能:向指定的数据表尾部插入一条记录,并用指定的表达式对字段赋值。 说明: 当对新记录的所有字段
41、都赋值时,可省略字段名。若只对某些字段赋值,即插入的不是完整的记录时,则需要指定要赋值的字段名称。 VALUES子句中各个表达式的值为赋给每个字段的值,表达式和对应字段的数据类型、取值范围必须一致。,5.3.1.插入数据,例5.62 在course表中插入记录。 Insert into course values(“0600010”,”,48,3,”选修”) c(8), 性别 c(2), 年龄 n(3) null, 入学年月 d),5.4.1 表的定义,例5.68 建立教学管理数据库,再用SQL命令建立学生表、课 程表、成绩表。 create database 教学管理 create tabl
42、e 学生(学号 c(8) primary key, 姓名 c(8) not null, 性别 c(2), 年龄 n(3) check 年龄16 and 年龄25 error “年 龄范围在16-25,请输入正确的年龄”, 是否团员 l, 入学年月 d default ctod(“09/06/2002”), 备注 m) create table 课程(课号 c(4) primary key, 课程名 c(12) not null, 学分 n(2),5.4.1 表的定义,create table 成绩(学号 c(8) references 学生, 课号 c(4), 成 绩 n(5,2), prim
43、ary key 学号+课号 tag 学号课号, foreign key 课号 tag 课号 references 课程2 tag 课号),5.4.1 表的定义,例5.69 创建订货管理数据库,并用SQL命令建立仓库表、职 工表、供应商表及订购单表。 create database 订货管理 create table 仓库(仓库号 C(5) primary key,城市 c(10),面积 i check (面积0) error 面积应该大于0),5.4.1 表的定义,create table 职工(仓库号 C(5),职工号 c(5) primary key,工 资 i check(工资=1000
44、 and 工资=5000)error “工资值的范 围在1000-5000!“ default 1200,foreign key 仓库号 tag 仓 库号 references 仓库) create table 供应商(供应商号 c(5) primary key,供应商名 c(20),地址 c(20),5.4.1 表的定义,create table 订购单(职工号 c(5),供应商号 c(5),订购单号 c(5) primary key,订购日期 d,foreign key 职工号 tag 职工号 references 职工,foreign key 供应商号 tag 供应商号 referenc
45、es 供应商),5.4.2 表结构的修改,Alter Table命令用于修改表结构,可以增添字段、删除字段、改变字段的定义、增添或删除约束等。,5.4.2 表结构的修改,Alter Table命令有3种格式。 格式1: Alter Table Add | Alter Column (字段宽度, ) Null | Not Null CheckError Default Primary Key | Unique References Tag ,5.4.2 表结构的修改,功能:这种格式用来添加字段或修改字段的参数 。可以修改 字段的类型、宽度、有效性规则等,但不能修改字段名,不 能删除字段及已定义的
46、字段有效性规则。不管是否修改字段 类型,必须将字段名和类型一同在命令中列出。,5.4.2 表结构的修改,例5.70 为课程表增加一个新的字段“学时”(数值型,宽度2)。 Alter table 课程 add 学时 n(2) check 学时0 error “学时应该 大于0 例5.71将课程表的“课程名”字段的宽度改为14 Alter table 课程 alter 课程名c(14) 例5.72 为“订购单”表增加一个新字段“总金额”(货币类型) alter table 订购单 add 总金额 y check 总金额0 error “总金 额应该大于0“ 例5.73 将订购单的“订购单号”字段的
47、宽度改为6 alter table 订购单 alter 订购单号 c(6),5.4.2 表结构的修改,格式2: ALTER TABLE ALTER COLUMN NULL | NOT NULL SET CHECKERROR SET DEFAULT DROP DEFAULT DROP CHECK 功能:这种格式主要用于定义、修改和删除字段的有效性规 则和默认值定义。,5.4.2 表结构的修改,例5.74 修改“订购单”表字段“总金额”的有效性规则 alter table 订购单 alter 总金额 set check 总金额100 error 总金额应该大于100“ 例5.75 删除“订购单”表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- jsp课程设计动漫
- lm358延时电路课程设计
- uml与数据库课程设计
- 母婴圣诞策划活动方案(3篇)
- 桥梁附属施工方案(3篇)
- 施工方案审查思路(3篇)
- 板筋布置施工方案(3篇)
- 沥青铺垫施工方案(3篇)
- 屋面作业施工方案(3篇)
- 油泥处理施工方案(3篇)
- 竞选三好学生主题班会 课件
- 食品卫生与安全题库
- 口腔数字化修复技术98课件
- 小学教育学(第5版)课件全套 曾文婕 第0-9章 绪论、学教育源流-小学教育评价
- 甘肃省2025届高三下学期3月第一次诊断考试(一模)英语试题(含答案无听力原文、答案及音频)
- 纸杯蛋糕创意课件
- 2025-2030年中国补钙产品市场运行状况及发展趋势分析报告
- 山东省电子级多晶硅项目节能评估报告
- 小学语文科组长工作计划
- 继电保护装置调试作业指导书电气调试方案
- 保安中介合同范例
评论
0/150
提交评论