第五章数据查询与更新详解演示文稿_第1页
第五章数据查询与更新详解演示文稿_第2页
第五章数据查询与更新详解演示文稿_第3页
第五章数据查询与更新详解演示文稿_第4页
第五章数据查询与更新详解演示文稿_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

第五章数据查询与更新详解演示文稿目前一页\总数七十四页\编于十七点优选第五章数据查询与更新目前二页\总数七十四页\编于十七点5.1.1SELECT和FROM子句1、指定返回列名【例5.1】返回XS表中所有的记录的XH(学号)、XM(姓名)、CSRQ(出生日期)列。SELECTXH,XM,CSRQFROMXS目前三页\总数七十四页\编于十七点5.1.1SELECT和FROM子句

2、返回所有列 SELECT* FROMXS目前四页\总数七十四页\编于十七点5.1.1SELECT和FROM子句3、在SELECT子句后加入计算列(1)SELECTXH,XM+'('+XB+')',CSRQ FROMXS(2)SELECTXH,XM,GETDATE(),10, CSRQ FROMXS目前五页\总数七十四页\编于十七点5.1.2列别名和表别名1、原始列名AS别名。SELECTXHAS学号,XM+'('+XB+')'AS姓名性别,CSRQAS出生日期FROMXS目前六页\总数七十四页\编于十七点5.1.2列别名和表别名2、原始列名别名 SELECTXH学号,XM姓名,CSRQ出生日期 FROMXS3、别名=原始列名 SELECT学号=XH,姓名=XM,出生日期=CSRQ FROMXS目前七页\总数七十四页\编于十七点5.1.2列别名和表别名表别名:1、“始表名AS别名”SELECTXH,XM,CSRQFROMXSa

2、“原始表名别名”SELECTXH,XM,CSRQFROMXSASa目前八页\总数七十四页\编于十七点5.1.3WHERE子句例:从XS表中查找姓名为“曹敏”的同学的学号,姓名,性别。SELECTXH,XM,XBFROMXSWHEREXM='曹敏'目前九页\总数七十四页\编于十七点5.1.3WHERE子句NULL值参与的比较: 当字段未设置值或变量未设值时,其值为NULL,即不包含任何值(1)、当ANSI_NULLS为OFF时(默认),任何与NULL值的运算结果都为NULL,任何与NULL的比较结果都为UNKNOW(不确定)。(2)当ANSI_NULLS为ON时,除了=和!=或者<>比较运算符外,其他比较运算符和NULL比较也会得到UNKNOWN值。目前十页\总数七十四页\编于十七点5.1.3WHERE子句例1:SELECT*FROMXSWHERESFZ=NULLORSFZ!=NULL结果:空例2:SELECT*FROMXSWHERESFZisNULL目前十一页\总数七十四页\编于十七点5.1.3WHERE子句例3:SETANSI_NULLSOFFSELECT*FROMXSWHERESFZ=NULL目前十二页\总数七十四页\编于十七点5.1.4ORDERBY子句1、单个字段排序SELECT*FROMXSORDERBYXH--按学号进行排序NULL排最前面目前十三页\总数七十四页\编于十七点5.1.4ORDERBY子句2、多字段排序ORDERBY后面可以指定多个排序字段,字段之间以“,”分隔。在指定了多列情况下,首先按第一列排序,在第一列相同的情况下按第二列排序,以此类推。目前十四页\总数七十四页\编于十七点5.1.4ORDERBY子句例: SELECTXH,XM,XB,DATEDIFF(DAY,CSRQ,GETDATE())/365ASNLFROMXSORDERBYXM,NL注意:汉字按拼音首字母排序此处有空格目前十五页\总数七十四页\编于十七点5.1.4ORDERBY子句降序排序:如果没有特别说明,值是以升序序列进行排序的。你也可以选择使用ASC关键字指定升序排序。如果你希望以降序排列,则在ORDERBY后面使用DESC关键字。例:SELECT*FROMXSORDERBYCSRQDESC

目前十六页\总数七十四页\编于十七点5.1.5TOP子句TOP子句用来返回排在前面特定数量的记录,而不管符合条件的行是多少。有两种方式用来指定返回的行:指定排在前面的绝对记录数,如:SELECTTOP(5)*FROMXSORDERBYCSRQDESC指定排在前面的记录数占总行数的百分比SELECTTOP(0.1)PERCENT*FROMXSORDERBYCSRQDESC目前十七页\总数七十四页\编于十七点5.1.5TOP子句WITHTIES子句 WITHTIES子句用来解决在使用TOP子句按百分比返回后,与最后一名数据相同的记录不能出现在结果集中的问题。例:SELECTTOP(5)WITHTIES*FROMXSORDERBYCSRQDESC目前十八页\总数七十四页\编于十七点5.1.6DISTINCT关键字DISTINCT用来从结果集中去除重复的记录。例:统计学生共来自于哪些民族。语句1:SELCETMZFROMXS语句2:SELCETDISTINCTMZFROMXS目前十九页\总数七十四页\编于十七点5.2分组查询5.2.1聚合函数 特点:作用在多条记录上。换句话说,函数的返回值建立在对多条记录进行统计的基础上。 常用聚合函数: SUM,COUNT,MAX,MIN,AVG1、计算总分SELECTSUM(FS)FROMCJWHEREXQDM=21ANDXSDM=20目前二十页\总数七十四页\编于十七点5.2.1聚合函数2、计算最高分、最低分和平均分:

SELECTMAX(FS)最高分,MIN(FS)最低分,AVG(FS)平均分 FROMCJ WHEREXQDM=5ANDXSDM=163483、统计班级人数SELECTCOUNT(*)FROMXSWHEREBJDM=30目前二十一页\总数七十四页\编于十七点5.2.2GROUPBY子句GROUPBY子句将查询结果按某一列或多列值分组输出,值相等的为一组。对查询结果分组的目的是使集函数作用于每一个组,即每一个组都有一个函数值。目前二十二页\总数七十四页\编于十七点5.2.2GROUPBY子句例:查询每个同学的最高分、最低分和平均分。SELECTXSDM,MAX(FS)最高分,MIN(FS)最低分,AVG(FS)平均分FROMCJGROUPBYXSDM目前二十三页\总数七十四页\编于十七点5.2.2GROUPBY子句例:每个同学在不同学期的最高分、最低分、平均分:SELECTXSDM,XQDM,MAX(FS)最高分,MIN(FS)最低分,AVG(FS)平均分FROMCJGROUPBYXSDM,XQDM目前二十四页\总数七十四页\编于十七点5.2.2GROUPBY子句注意:出现在GROUPBY子句后面的字段列表应该也出现在SELECT子句中,否则获得的数据可能没有意义。如:SELECTMAX(FS)最高分,MIN(FS)最低分,AVG(FS)平均分FROMCJGROUPBYXSDM上述语句执行后的结果集中你将无法确定成绩属于哪位学生目前二十五页\总数七十四页\编于十七点5.2.2GROUPBY子句出现在SELECT子句中的字段列表除了聚合函数外,都必须出现在GROUPBY子句后面。例如,下面的语句将会报错:SELECTXSDM,XQDM,MAX(FS)最高分,MIN(FS)最低分,AVG(FS)平均分FROMCJGROUPBYXSDM目前二十六页\总数七十四页\编于十七点5.2.3HAVING子句HAVING子句用来对分组后的数据进行筛选例:查询平均成绩大于65分的学生的最高分、最低分和平均成绩。SELECTXSDM,MAX(FS)最高分,MIN(FS)最低分,AVG(FS)平均分FROMCJGROUPBYXSDMHAVINGAVG(FS)>65目前二十七页\总数七十四页\编于十七点5.2.3HAVING子句HAVING子句和WHERE子句很相似,均用于设置数据筛选条件。WHERE子句对分组前的数据进行筛选,条件中不能包含聚合函数;HAVING子句对分组过后的数据进行筛选,条件中经常包含聚合函数。HAVING子句必须和GROUPBY子句联合使用目前二十八页\总数七十四页\编于十七点5.3联接查询当返回的数据集中需要包含位于多个表中的数据时,需要用到联接查询。及联接查询用于在一个查询语句中同时返回多个表中的数据目前二十九页\总数七十四页\编于十七点5.3.1交叉联接(CROSSJOIN)交叉联接返回两个表的笛卡尔积。即:返回的数据集为一个表中的每一行与另一个表中每一行的组合。例:简单交叉联接SELECT*FROMKCCROSSJOINXQ返回的记录数量为两个表记录数的乘积上面语句可以省略CROSSJOIN关键字,用“,”将两个表连接起来,即:SELECT*FROMKC,XQ该返回结果和交叉联接是基本是一致的,只是没有重复的字段。目前三十页\总数七十四页\编于十七点5.3.2内联接(INNERJOIN)内联接是联接两个表最常用的方法,使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与联接条件相匹配的数据行。内联接可以理解为从两个表的笛卡尔积中筛选出完全符合联接条件的记录例:显示成绩表中的所有数据,要求包含学生学号和姓名。SELECTXS.XH学号,XS.XM姓名,KCDM课程代码,FS分数,CJ.XSDM,XS.XSDMFROMXSINNERJOINCJONCJ.XSDM=XS.XSDM目前三十一页\总数七十四页\编于十七点5.3.3外联接外联接分为三种:左外联接(LEFTOUTERJOIN或LEFTJOIN)右外联接(RIGHTOUTERJOIN或RIGHTJOIN)全外联接(FULLOUTERJOIN或FULLJOIN)与内联接不同,外联接不仅列出与联接条件相匹配的行,还会显示左表(左外联接时)、右表(右外联接时)或两个表(全外联接时)中所有符合搜索条件的记录。目前三十二页\总数七十四页\编于十七点5.3.3外联接1、左外联接 左边表中的行都会出现在结果数据集中,如果左边表中的某一行在右边表中没有匹配的行(不满足联接条件),则以空值取代右边表中的值。例:查看每个专业有哪些班级。使用外联接:SELECTa.ZYDM,a.ZYMC,b.BJDM,b.ZYDMASExpr1,b.BJMCFROMZYASaLEFTJOINBJASbONa.ZYDM=b.ZYDM使用内联接:SELECTa.ZYDM,a.ZYMC,b.BJDM,b.ZYDMASExpr1,b.BJMCFROMZYASaJOINBJASbONa.ZYDM=b.ZYDM目前三十三页\总数七十四页\编于十七点5.3.3外联接2、右外联接 右外联接和左外联接类似,不同的是把右边的表作为外部表(所有右边表中的行包含在结果数据集中)。例:查看每个专业有哪些班级。SELECTa.ZYDM,a.ZYMC,b.BJDM,b.ZYDMASExpr1,b.BJMCFROMZYASaRIGHTJOINBJASbONa.ZYDM=b.ZYDM目前三十四页\总数七十四页\编于十七点5.3.3外联接3、全外联接在全外联接中,位于FULLJOIN两边的表中的行都会包含在结果数据集中。目前三十五页\总数七十四页\编于十七点5.3.4自联接列名说明YGDM员工代码YGXM员工姓名SJLD该员工上级领导代码员工表自联接所联接的两个表在物理上为同一张表,但在逻辑上可看作两个表,用不同的表别名加以区分目前三十六页\总数七十四页\编于十七点5.3.4自联接例:查询每位员工上级领导SELECTA.*,B.YGXMFROMYGALEFTJOINYGBONA.SJLD=B.YGDM目前三十七页\总数七十四页\编于十七点5.3.5多表联接例:显示学生信息,包括学生所在班级名称、专业名称和和系部名称SELECTXB.XBMC,ZY.ZYMC,BJ.BJMC,XS.*FROMXSINNERJOINBJONBJ.BJDM=XS.BJDMINNERJOINZYONBJ.ZYDM=ZY.ZYDMINNERJOINXBONZY.XBDM=XB.XBDM目前三十八页\总数七十四页\编于十七点5.4子查询有两种子查询类型:标准子查询和相关子查询。标准子查询执行一次,结果反馈给外层查询,它的返回值跟其外层查询没有联系(不相关)。相关子查询在子查询中引用了外层查询中的表,因此它的执行次数取决于其外层查询的查询次数。目前三十九页\总数七十四页\编于十七点5.4.1标准子查询与相关子查询1、标准子查询例:查询与学号为“0630160219”的同学同班的学生信息。步骤1:我们先求这个同学所在班级的班级代码:SELECTBJDMFROMXSWHEREXH='0630160219‘步骤2:面语句查询结果为23。从XS表中查询BJDM为23的学生信息:SELECT*FROMXSWHEREBJDM=23目前四十页\总数七十四页\编于十七点5.4.1标准子查询与相关子查询步骤3:将前两个语句整合:SELECT*FROMXSWHEREBJDM=(SELECTBJDMFROMXSWHEREXH='0630160219')注意事项:1、必须用“(”和“)”将子查询扩起来。2、处于比较运算符其中一边的子查询,其返回值应该只能有一行、一列,其返回值的数据类型应该和运算符另一边的值(列)是一致或可以被系统自动转换的。3、子查询中不能检索包含数据类型为text和image的列。目前四十一页\总数七十四页\编于十七点5.4.1标准子查询与相关子查询2、相关子查询例:查询存在同名的学生信息1):语句基本形式:

SELECT*FROMXSWHERE该同学存在同名 2)判断指定学生是否重名: (SELECTCOUNT(*)FROMXSWHEREXM='XXX')>1 3)将2)代入1),并给xs表别名SELECT*FROMXSaWHERE((SELECTCOUNT(*)FROMXSb WHERE(b.XM='XXX'))>1)目前四十二页\总数七十四页\编于十七点5.4.1标准子查询与相关子查询 4)将指定学生xxx替换为外层被查询的学生SELECT*FROMXSaWHERE((SELECTCOUNT(*)FROMXSb WHERE(b.XM=a.XM))>1)目前四十三页\总数七十四页\编于十七点5.4.2使用ALL、ANY、SOME关键字ALL在条件语句中,表示必须满足每一个条件项例:查询XS表中年龄最大的学生。SELECT*FROMXSWHERECSRQ<=ALL(SELECTCSRQFROMXS)目前四十四页\总数七十四页\编于十七点5.4.2使用ALL、ANY、SOME关键字ANY(SOME)在条件语句中,表示满足其中任何一个条件项例:取要出生日期不是最小的学生信息SELECT*FROMXSWHERECSRQ<ANY(SELECTCSRQFROMXS)目前四十五页\总数七十四页\编于十七点5.4.3EXISTS和IN子查询EXISTS子查询被称为“存在子查询”,它用来判断子查询相关表中是否存在满足子查询条件的行,而对于这些行的具体数据,子查询并不关心也不会被返回。当内层查询结果为“存在”满足子查询条件的行,则外层的WHERR子句返回真值,否则返回假值。由于EXISTS子查询并不返回满足条件的数据,因此SELECT子句后的字段列表并无多大意义,通常将通过EXISTS引入的子查询的字段列表设为“*”,而不使用具体列名。EXISTS子查询语法如下:[NOT]EXISTS(子查询)目前四十六页\总数七十四页\编于十七点5.4.3EXISTS和IN子查询例:查询XS表中曾参加过考试的学生信息。SELECT*FROMXSWHEREEXISTS(SELECT*FROMCJWHEREXSDM=XS.XSDM)目前四十七页\总数七十四页\编于十七点5.4.3EXISTS和IN子查询IN关键字用来确定给定的值(测试表达式)是否与子查询或列表中的值相匹配,它的作用相当于“=ANY”。IN子查询语法如下: 测试表达式[NOT]IN(子查询或者表达式列表)目前四十八页\总数七十四页\编于十七点5.4.3EXISTS和IN子查询例:查询位于班级代码为22、23或24的班级中所有学生的信息。SELECT*FROMXSWHEREBJDMIN(22,23,24)例:查询属于计算机信息管理专业(专业代码为6)所有学生的信息。SELECT*FROMXSWHEREBJDMIN (SELECTBJDM FROMBJ WHEREZYDM=6)目前四十九页\总数七十四页\编于十七点5.4.4派生表一个子查询能够返回一个由行和列构成的数据集,我们可以将这个数据集再看作一个表来处理,这个由子查询得出的新表就是我们说的“派生表”派生表有利于提高查询速度、简化操作派生表不是存储在数据库中的对象,它只在查询期间有效。目前五十页\总数七十四页\编于十七点5.4.4派生表例查询班级代码为22的班级(06级商务英语1班)在学期代码为5的学期(2006~2007学年第1期)所有学生的考试成绩,包含学号,姓名,课程名称和分数。步骤1:我们从CJ表中取出符合条件的记录SELECT*FROMCJWHEREXQDM=5ANDXSDMIN(SELECTXSDMFROMXSWHEREBJDM=22)目前五十一页\总数七十四页\编于十七点5.4.4派生表步骤2:将上步结果集当作虚拟表a使用,并与KC、XS表联接以获取姓名、课程名称等信息SELECTXS.XH,XS.XM,KC.KCMC,a.FSFROMaJOINXSONXS.XSDM=a.XSDMJOINKCONa.KCDM=KC.KCDM目前五十二页\总数七十四页\编于十七点5.4.4派生表步骤3:将第一步的语句替换第二步中虚拟表aSELECTXS.XH,XS.XM,KC.KCMC,a.FSFROM

(SELECTXSDM,KCDM,XQDM,FSFROMCJWHEREXQDM=5ANDXSDMIN(SELECTXSDMFROMXSWHEREBJDM=22))ASaJOINXSONXS.XSDM=a.XSDMJOINKCONa.KCDM=KC.KCDM目前五十三页\总数七十四页\编于十七点5.5联合查询UNION关键字可以将两个或更多相互独立的SELECT语句的查询结果合并成一个集合,即执行联合查询。联合查询要求合并的几个数据集之间应该具有相同的字段数目和类型。

例:在同一个数据集中返回贺清青同学所有科目的考试成绩和平均成绩。目前五十四页\总数七十四页\编于十七点5.5联合查询第一步,返回贺清青同学所有科目的成绩:SELECTKC.KCMC科目,ABS(CJ.FS)成绩FROMCJINNERJOINKCONCJ.KCDM=KC.KCDMINNERJOINXSONCJ.XSDM=XS.XSDMWHEREXS.XM='贺清青‘第二步,返回贺清青同学所有科目的平均分:SELECTAVG(ABS(CJ.FS))FROMCJINNERJOINXSONCJ.XSDM=XS.XSDMWHEREXS.XM='贺清青'目前五十五页\总数七十四页\编于十七点5.5联合查询第三步,为了满足两个结果集具有相同类型的字段,我们对上一语句改为下面这种形式:SELECT科目='平均分',成绩=(SELECTAVG(ABS(CJ.FS))FROMCJINNERJOINXSONCJ.XSDM=XS.XSDMWHEREXS.XM='贺清青')第四部,将第一步和第三步的结果用UNION关键字集合并:SELECTKC.KCMC科目,ABS(CJ.FS)成绩FROMCJINNERJOINKCONCJ.KCDM=KC.KCDMINNERJOINXSONCJ.XSDM=XS.XSDMWHEREXS.XM='贺清青'UNIONSELECT科目='平均分',成绩=(SELECTAVG(ABS(CJ.FS))FROMCJINNERJOINXSONCJ.XSDM=XS.XSDMWHEREXS.XM='贺清青')目前五十六页\总数七十四页\编于十七点5.6通用表表达式CTECTE与派生表类似,不存储为数据库对象,并且只在查询期间有效。与派生表的不同,CTE可在同一查询中引用多次,可自引用。使用CTE可以获得提高可读性和轻松维护复杂查询的优点。CTE由表示CTE的表达式名称、可选列列表和定义CTE的查询组成。CTE的基本语法结构如下:WITHCTE_NAME[(列名1[,...n])]AS(CTE查询语句)运行CTE的语句为:SELECT*FROMCTE_NAME目前五十七页\总数七十四页\编于十七点5.6通用表表达式CTE例查询班级代码为22的班级(06级商务英语1班)在学期代码为5的学期(2006~2007学年第1期)所有学生的考试成绩,包含学号,姓名,课程名称和分数。WITHCTE_CJAS(SELECT*FROMCJWHEREXQDM=5ANDXSDMIN(SELECTXSDMFROMXSWHEREBJDM=22))SELECTXS.XH,XS.XM,KC.KCMC,a.FSFROMCTE_CJASaJOINXSONXS.XSDM=a.XSDMJOINKCONa.KCDM=KC.KCDM目前五十八页\总数七十四页\编于十七点5.8排名函数5.8.1ROW_NUMBERROW_NUMBER函数用来返回结果集内每行的行号,第一行从1开始。其语法为:ROW_NUMBER()OVER(<order_by_clause>)位于OVER后的括号中需要一个ORDERBY子句,该子句用来确定为行分配唯一ROW_NUMBER的顺序。例:查询06级商务英语1班(班级代码为22)的所有学生的学号、姓名、出生日期、家庭是地址,要求第一列为行号,并按学号排序。SELECTROW_NUMBER()OVER(ORDERBYXH)行号,XH学号,XM姓名,CSRQ出生日期,JTDZ家庭地址FROMXSWHEREBJDM=22目前五十九页\总数七十四页\编于十七点5.8.2RANK与DENSE_RANKRANK与DENSE_RANK函数都用来进行名次的排列。RANK函数在排定名次时会以排在前面的记录数为依据,而DENSE_RANK在排定名次时只考虑排在前面的不同数值的个数作为依据。RANK与DENSE_RANK的语法和ROW_NUMBER函数相似,即:RANK()OVER(<order_by_clause>)或DENSE_RANK()OVER(<order_by_clause>)目前六十页\总数七十四页\编于十七点5.8.2RANK与DENSE_RANK例查询班级代码为22的班级(06级商务英语1班)在学期代码为5的学期(2006~2007学年第1期)所有学生的总分和名次。步骤1:查询学生的总分信息:SELECTXS.XH学号,XS.XM姓名,SUM(CJ.FS)总分FROMCJINNERJOINXSONXS.XSDM=CJ.XSDMINNERJOINKCONCJ.KCDM=KC.KCDMGROUPBYXS.XH,XS.XMORDERBY总分目前六十一页\总数七十四页\编于十七点5.8.2RANK与DENSE_RANK步骤2:在SELECT子句中添加RANK函数,并在ORDERBY子句中指定排名的依据:RANK()OVER(ORDERBYSUM(CJ.FS))最终结果如下:SELECTXS.XH学号,XS.XM姓名,SUM(CJ.FS)总分,RANK()OVER(ORDERBYSUM(CJ.FS))名次FROMCJINNERJOINXSONXS.XSDM=CJ.XSDMINNERJOINKCONCJ.KCDM=KC.KCDMGROUPBYXS.XH,XS.XM目前六十二页\总数七十四页\编于十七点5.8.2RANK与DENSE_RANK将上述语句中RANK替换为DENSE_RANK,则执行结果为:目前六十三页\总数七十四页\编于十七点5.9数据更新5.9.1使用INSERT语句插入数据1、简单数据插入使用INSERT语句向表中插入单行数据的语法如下:INSERT[INTO]<表名>(字段列表)VALUES(值列表)例学生李金龙刚转到我校06级经济信息管理班(BJDM=26),请将该生数据添加到向XS表中。该生的登记信息如下:姓名:李金龙,性别:男,出生日期:1982-2-1。INSERTINTOXS(XM,XB,CSRQ,BJDM)VALUES('李金龙','男','1982-2-1',26)目前六十四页\总数七十四页\编于十七点5.9.1使用INSERT语句插入数据 如果需要给每个字段指定值,则可省略字段列表,但要保证值列表与表中字段一一对应例BJ表中包括BJDM(班级代码),ZYDM(专业代码),BJMC(班级名称),NJ(年级),ZT(状态)四个字段。新增班级07软件技术4班,专业代码13,年级2007,状态值为0。INSERTINTOBJVALUES(1001,13,'07软件技术班',2007,0)目前六十五页\总数七十四页\编于十七点5.9.1使用INSERT语句插入数据2、批量数据插入在INSERT语句中使用一个SELECT查询将一个查询结果的内容添加到表中。其语法格式为:INSERTINTO<表名>(字段列表)<查询语句>例在数据库中新建表XS_2,用来存放已毕业学生信息,其结构和XS表完全相同。请将2006级所有学生学号、班级、姓名、出生日期、家庭地址信息插入到XS_2中,并将ZT(状态)值设为1。年级信息保存在BJ表中,所以要知道学生所在年级,需要将BJ表和XS表联接。INSERTINTOXS_2(XH,BJDM,XM,CSRQ,JTDZ,ZT)SELECTXH,BJ.BJDM,XM,CSRQ,JTDZ,1FROMXSINNERJOINBJONXS.BJDM=BJ.BJDMWHEREBJ.NJ=2006目前六十六页\总数七十四页\编于十七点5.9.1使用INSERT语句插入数据3、将数据插入新表可以使用如下语法将查询到的数据插入到一个新表中:SELECT<字段列表>INTO<新表名>FROM表名例将CJ表中KCDM为6的数据插入到新表CJ_2中:SELECT*INTOCJ_2FROMCJWHEREKCDM=6目前六十七页\总数七十四页\编于十七点5.9.2使用UPDATE语句修改数据UPDATE语法如下:UPDATE<表名>SET 字段1=字段值1, 字段2=字段值2, ……WHERE<搜索条件表达式>例XS表中有些学生民族为“汉”,有些为“汉族”,将表中民族为“汉族”的数据统一改为民族为“汉”。UPDATEXSSETMZ='汉'WHEREMZ='汉族'目前六十八页\总数七十四页\编于十七点5.9.3使用DELETE删除数据DELETE语句基本语法如下:DELETE[FROM]<表名>WHERE<搜索条件表达式>例ZY表中,如果一个专

温馨提示

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

评论

0/150

提交评论