[计算机软件及应用]SQL第4章课件

PPT
  • 阅读 86 次
  • 下载 0 次
  • 页数 67 页
  • 大小 671.020 KB
  • 2022-11-12 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
[计算机软件及应用]SQL第4章课件
可在后台配置第一页与第二页中间广告代码
[计算机软件及应用]SQL第4章课件
可在后台配置第二页与第三页中间广告代码
[计算机软件及应用]SQL第4章课件
可在后台配置第三页与第四页中间广告代码
[计算机软件及应用]SQL第4章课件
[计算机软件及应用]SQL第4章课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 67
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】[计算机软件及应用]SQL第4章课件.ppt,共(67)页,671.020 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-2127.html

以下为本文档部分文字说明:

第4章数据查询与更新SQLServer2005应用教程4.1任务一:认识SQL语言⚫任务目标:⚫了解什么是Transact-SQL语言⚫熟练掌握Transact-SQL的语法⚫熟练运用常用的各种函数SQLServer2005应用教程4.1.1Transact-SQL的认识⚫SQL是

StructureQueryLanguage(结构化语言)的缩写,是一种用于数据库查询和编程的语言,已经成为关系型数据库普遍使用的标准,使用这种标准的数据库语言对程序设计和数据库维护都带来了极大的方便,它广

泛地应用于各种数据查询中。⚫Transact-SQL(简称T-SQL)语言是Microsoft公司对此标准的一个实现,它同时与多种ANSISQL标准兼容,且还进行了许多扩展。⚫SQL语言包含4个部分。⚫(1)数据查询语言(Data

QueryLanguage,DQL)。⚫(2)数据操纵语言(DataManipulationLanguage,DML)。⚫(3)数据定义语言(DataDefinitionLanguage,DDL)。⚫(4)数据控制语言(DataControlLanguage,DCL)。SQLServer2

005应用教程4.1.2T-SQL语法约定⚫1.常量常量,也称为文字值或标量值,是指程序运行中值不变的量。表4-1列出了SQLServer2005中可用的常量类型及表示说明。常量类型表示说明举例字符串常量使用单引号括起来的字符或字符串'how

areyou?'二进制常量具有前缀0x,且是十六进制数字字符串0x12AE整型常量使用不带小数点的十进制数据1235,-340日期常量使用单引号括起来的日期时间字符串'2009-12-02','18:34:19'实型

常量有定点表示和浮点表示两种1893.34,3.0,-12e5货币常量以$作为前缀的整型或实型常量数据$12,$567SQLServer2005应用教程⚫2.变量⚫变量用于临时存放数据。变量名必须是一个合法的标识符。SQLServer有两种类型的变量。⚫(1)全局变量:由系统提供,在名称前加两个“

@”符号区别于局部变量。⚫(2)局部变量:用于保存单个数据值,在名称前加一个“@”符号的为局部变量。局部变量是作用域局限在一定范围内的T-SQL对象。SQLServer2005应用教程⚫3.变量的使用⚫(1)用DECLARE语句声明变量,格式为:DECLARE{@局部变量名,数据类型}[,

...n]⚫【操作演示】声明两个变量@var1,@var2,其数据类型分别为char(8)和int。DECLARE@var1char(8),@var2intSQLServer2005应用教程⚫(2)Set语句赋值SET语句将DECLARE语句创建的局部变量

设置为表达式的值,格式为:SET@局部变量名=表达式⚫【操作演示】给两个变量@var1和@var2赋值后输出。DECLARE@var1char(8),@var2intSetvar1='welcome'Setvar2=100Select@var1,@var2SQLServer200

5应用教程⚫4.注释语句与其他程序设计语言一样,SQLServer也有注释语句,行注释语句使用“--”,块注释语句使用“/**/”。SQLServer2005应用教程4.1.3常用函数SQLServer2005为T-SQL语言提供了大量的系统函数,使用户对数据库进行查询和修改时更加

方便。常用的函数主要有:数学、字符串、日期时间和聚合函数等。⚫1.数学函数数学函数可对SQLServer提供的数学运算并返回运算结果。常用的数学函数见表4-2。SQLServer2005应用教程表4-2常用的数学函数函数名说明abs返回给定数字表达式的绝对值ceiling返回大于或等于指

定数值表达式的最小整数floor返回小于或等于指定数值表达式的最大整数power幂函数,返回指定表达式的指定幂的值round圆整函数,舍入到指定的长度或精度rand返回0到1之间的随机float值sign返回给定表达式的正(

+1)、零(0)或负(-1)号pi返回pi的常量值sqrt返回给定表达式的平方根SQLServer2005应用教程【操作演示】⚫SELECTabs(10),abs(-10)⚫结果:1010⚫SELECTrand(),sqrt(9)⚫结果:0.3746312907562543⚫SELECT

power(2,3),round(234.2636,2)⚫结果:8234.2600⚫SELECTfloor(45.266),ceiling(45.266)⚫结果:4546SQLServer2005应用教程⚫2.字符串函数字符串函数用于对字符串进行处理。常用的字符串函数见表

4-3。函数名说明len返回指定字符串表达式的字符个数(不是字节)substring子串函数,返回表达式中指定的部分数据upper大写函数lower小写函数charASCII代码转换函数,返回指定ASCII代码的字符asciiASCII函数,返回字符表达式中最

左侧的字符的ASCII代码值str将数字数据转换成字符数据[L1]left返回从字符串左边开始指定个数的字符right返回从字符串右边开始指定个数的字符SQLServer2005应用教程【操作演示】⚫SELECTlen('abcdef')AS'个数',sub

string('welcome',2,3)⚫结果:6elc⚫SELECTlower('DKF'),upper('abc')⚫结果:dkfABC⚫SELECTchar(65),ascii('A')⚫结果:A65⚫SEL

ECTstr(89.457,6,2)⚫结果:89.46⚫SELECTleft('abcefg',4),right('abcdefg',4)⚫结果:abcedefg句管理索引的方法SQLServer2005应用教程

⚫3.日期时间函数常用日期函数函数见表4-4。函数名说明getdate按datetime值的SQLServer标准内部格式返回当前系统日期和时间month返回代表指定日期月份的整数year返回表示指定日期年份的整数day返回代表指定日期的天的日期部分的整数dateadd在向

指定日期加上一段时间的基础上,返回新的datetime值datepart返回指定日期中指定部分的整数,yy代表年,mm代表月,dd代表日,dw代表星期等datename返回指定日期中指定部分的字符串SQLServer2005应用教程【操作演示】⚫SELECTgetdate()⚫结果

:2009-04-0420:22:24.140⚫SELECTmonth('03/12/2009'),year('03/12/2009'),day('03/12/2009')⚫结果:1220093⚫SELECTdateadd(day,20,getdate())⚫结果:20

10-04-2420:22:24.140⚫SELECTdatepart(yy,getdate()),datename(dw,getdate())⚫结果:2009星期日SQLServer2005应用教程⚫4.聚合函数聚合函数经常与SELECT语句和GROUPBY子句一起使用,它可以对

一组值执行计算,并返回单个值。常用的聚合函数在任务二中有详细讲解,这里就不再介绍了。SQLServer2005应用教程⚫5.数据类型转换函数⚫CAST和CONVERT这两个函数都是实现数据类型转换的,将表达式的类型转换为指定的数据类型。但CONVERT的功能更强一些。其语法格式如下:⚫C

AST(表达式AS数据类型)⚫CONVERT(数据类型[(数据长度)],表达式[,STYLE])SQLServer2005应用教程4.2任务二:基本的SELECT语句⚫【任务目标】⚫熟悉SELECT基本语法格式

,并进行简单查询⚫掌握WHERE子句的使用⚫在查询中熟练运用聚合函数SQLServer2005应用教程4.2.1SELECT子句⚫4.2.1SELECT子句⚫SELECT语句是SQL标准中最为灵活、使用最为广泛的语句之一。最基本的格式为:⚫格式:SELECT显示字段FR

OM表名⚫说明:SELECT用于指定显示输出的字段,FROM用于指定查询的数据库表名。SQLServer2005应用教程根据博客数据库BlogDb,做以下查询。⚫【操作演示】查询Users表的所有记录。SELECT*FROMUsers--*号代表所有列⚫【操作演示】查

询Users表中所有记录,只显示UserName、Sex、Email字段。SELECTUserName,Sex,EmailFROMUsers--直接写上列名SQLServer2005应用教程⚫【操作演示】显示Users表中

所有记录,只显示UserName、Sex字段,并用中文显示字段名。SELECT用户名=UserName,性别=SexFROMUsers--新标题=列名⚫或SELECTUserNameAS用户名,SexAS性别FROMUsers-

-列名AS新标题查询结果如图4.1所示。SQLServer2005应用教程⚫【操作演示】显示有发表文章的开博用户名称。SELECTDISTINCTUserNameFROMArticle⚫【操作演示】在学生数据库中,查询成绩提高20%前后的成绩

记录。SELECT学号,课程号,成绩,提高后成绩=成绩*1.2FROM选课表⚫查询结果如图4.2所示SQLServer2005应用教程⚫【操作演示】查询所有发表文章的博客姓名、文章主题及发表时间,查询结果存放在MyArticle表中。SELECTUserName,Subject,ShiJianIN

TOMyArticleFROMArticle⚫【操作演示】返加Article表中的前3条记录。SELECTTOP3*FROMArticleSQLServer2005应用教程4.2.2聚合函数的应用⚫有时我们需要对查询列进行计算再显示,这时必

须采用一些聚合函数,常用聚合函数见表4-5。函数名含义count()若选用ALL,则统计出指定列的值的个数(不去除重复值);若选用DISTINCT,则统计出指定列的不同值的个数;若选用*,则统计出所有元组个数max()求出对应的数值、字符或日期列的最大值min()求出对应的数值、字符或日期

列的最小值avg()求出对应的数值列的平均值sum()求出对应的数值列的总和SQLServer2005应用教程⚫聚合函数只能在以下位置作为表达式使用。⚫(1)SELECT语句的选择列表(子查询和外部查询)。⚫(2)HAVING子句。⚫【操作演示】在BlogDb数据

库中,统计已开博的用户人数。SELECTcount(*)AS开博人数FROMUsersSQLServer2005应用教程4.2.3WHERE子句⚫在数据库中查询数据时,有时用户只希望得到一部分数据而不是全部,这时就必须用到WHERE条件语句。⚫数据表通过W

HERE子句中的条件表达式进行筛选,不满足条件的行将不再显示。⚫格式:SELECT显示字段FROM数据来源WHERE条件表达式SQLServer2005应用教程⚫在SQLServer2005中,条件表达式通过以下几种运算符来进行,见表4-6。运算符名称运

算符说明比较运算符>、>=、=、<、<=、<>、!>、!<大小比较范围运算符BETWEEN…AND,NOTBETWEEN…AND判断表达式值是否在指定的范围列表运算符IN(项1,项2,……),NOTIN(项1,项2,……)判断表达式是否为列表中的指定项模式匹配符LIKE、NOTLI

KE判断值是否与指定的字符通配格式相符逻辑运算符NOT、AND、OR用于多条件的逻辑连接SQLServer2005应用教程⚫【操作演示】查询性别为男的开博用户。SELECT*FROMUsersWHERESex='男'⚫【操作演示】查询在2008年前发表文章的开博用户名以及文章主题。SELECTUs

erName,SubjectFROMArticleWHEREyear(ShiJian)<=2008⚫【操作演示】查询在2008至2010年间发表文章的开博用户名以及文章主题。SELECTUserName,SubjectFROMArticleWHEREyear(ShiJian)BETWEEN2008

AND2010SQLServer2005应用教程⚫【操作演示】查询开博用户姓名中含有字母o的记录。SELECT*FROMUsersWHEREUserNameLIKE‘%o%’⚫【操作演示】在学生数据库中,从学生表中查询

专业为计算机、电气、通信的所有学生。SELECT*FROM学生表WHERE专业IN(‘计算机’,'电气','通信')SQLServer2005应用教程(2)未知值。NULL表示未知的、不可用的或将在以后添加的数据。在WHERE子句中,使用ISNULL或ISNOTNULL可查询某一数据

值是否为NULL的数据信息。⚫格式为:WHERE列名IN[NOT]NULL⚫【操作演示】查询在博客发表的文章中,内容为空的文章。SELECT*FROMArticleWHEREcontentISNULL查询结果如图4.4所示。SQLServer2005应用教程4.3任

务三:单表查询【任务目标】⚫理解分组统计的作用⚫熟练掌握GROUPBY、HAVING子句的使用方法⚫能利用ORDERBY子句对查询结果进行排序SQLServer2005应用教程4.3.1GROUPBY子句⚫功能:分组统计。用于产生列函数的分组统计值,对某一列数据的值进行分类,形成结果

集,然后在结果集的基础上再进行分组。⚫(1)为每一个组计算一个汇总值,并把此值保存在一个字段中。⚫(2)一组只生成一条记录。⚫(3)所有GROUPBY子句中指定的字段名,都必须出现在SELECT选择列中

。⚫(4)如果使用WHERE选项,则只对符合条件的记录进行分组和汇总。⚫(5)GROUPBY子句通常与统计函数联合使用,如sum、count等SQLServer2005应用教程⚫【操作演示】查询开博用户中男女各有多少人。说明:(

1)Sex是分组列名,必须同时出现在SELECT子句中。(2)该语句先按Sex列进行分组,具有相同Sex值的记录为一组,然后再用函数count统计每组的记录个数。所以查询结果只有两条记录。SELECTSex,count(*)AS人数FROMUsersGROUPBYSex查询结果如图

4.5所示。SQLServer2005应用教程4.3.2HAVING子句该选项通常跟在GROUPBY子句后面,用于从分组统计中筛选出部分统计结果,因此该选项中的逻辑表达式通常带有字段函数。⚫(1)HAVING子句必

须和GROUPBY子句一起使用。⚫(2)HAVING子句必须在GROUPBY子句之后。⚫(3)HAVING子句中包含聚合函数。【操作演示】查询只发表了一篇文章的开博用户。SELECTUserName,count(*)AS篇数FR

OMArticleGROUPBYUserNameHAVINGcount(*)=1SQLServer2005应用教程4.3.3ORDERBY子句使用SELECT语句进行数据查询后,为了方便阅读,可以使用ORDERBY子句对结果集进行排序。格式为:ORDERBY列名[AS

C|DESC]⚫(1)默认为升序,ASC可以不写。⚫(2)当有多个排序列时,每个排序列之间用半角逗号隔开,且后面都可以跟一个排序要求。⚫(3)ORDERBY子句必须放在SELECT子句的最后。SQLServer2005应用教程⚫【操作演示】查询每位开博用户发表的文章篇数

,并按篇数升序排列。SELECTUserName,count(*)AS篇数FROMArticleGROUPBYUserNameORDERBY篇数⚫【操作演示】在学生数据库中,查询学生的学号及所选课程的平均分,按分数降序排列。SELECT学号,avg(成绩)

AS平均分FROM选课表GROUPBY学号ORDERBY平均分DESCSQLServer2005应用教程4.4任务四:多表查询【任务目标】⚫理解多表连接的方法⚫能根据查询需求,熟练进行多表查询在实际的查询应用中,用户所需要的数据并不全部都在一个表或视图中,而可能在多个表

中,这时就必须用到多表查询。多表查询是通过各个表之间的共同列的相关性来查询数据的,这是数据库查询最主要的特征。SQLServer2005应用教程4.4.1谓词连接在SELECT语句的WHERE子句中使用比较运算符给出连接条件对表进行连接的表示形式,称为谓词连接。谓词连接是最

常用的连接方式,利用谓词连接可满足大部分的查询需求。⚫用户在进行谓词连接时应注意以下基本原则。⚫(1)SELECT子句列表中,每个目标列前都要加表名,格式为:表名.列名。⚫(2)FROM子句应包括所需的表名,多个表名之间可用逗号隔开。⚫(3)WHERE子

句为连表条件,应为一个基表的主键码与另一基表的外键码一致。SQLServer2005应用教程1.最基础的连接查询⚫【操作演示】查询开博用户的名称、性别及发表的文章主题和发表时间,如图4.7所示。⚫SELECTusers.username,use

rs.sex,article.subject,article.shijian⚫fromusers,article⚫whereusers.username=article.usernameSQLServer2005应用教程当有多个查询条件时,可用逻辑运算符连接多个条件,当所有条件都为“真”时才返

回结果。⚫【操作演示】查询男开博用户的名称、发表的文章主题和发表时间,如图4.8所示。SQLServer2005应用教程2.在连接多表查询中运用聚合函数⚫聚合函数同样可以运用在多表查询中。【操作演示】查询开博用户每篇文章的评论记录数。⚫此题先进行连表操作,

再进行分组统计,如图4.10所示。SELECTx.username,y.subject,count(z.articleid)as评论数⚫⚫fromusersasx,articleasy,commentasz⚫wherex.username=y.usernameandy.a

rticleid=z.articleid⚫groupbyx.username,y.subjectSQLServer2005应用教程4.4.2以JOIN关键字指定的连接从多个表合并数据,并涉及多个表之间的连接。多表间的连接方式可分为内连接、外连接

和交叉连接。被连接的表可以来自同一数据库,也可以来自不同的数据库。1.内连接格式:SELECT列名FROM<数据源>[INNER]JOIN<数据源>ON连表条件⚫说明:⚫(1)内连接按照ON所指定的连接条件合并两个表,返回满足条件的行。⚫(2)内连接是系统默认的,可省

略INNER关键字。⚫(3)作用等价于利用WHERE子句进行连表查询。SQLServer2005应用教程【操作演示】查询开博用户的名称、性别及发表的文章主题和发表时间。SELECTx.Username,x.Sex,y.Subject,y.ShiJianFR

OMUsersxINNERJOINArticleyONx.UserName=y.UserName⚫此命令等价于利用WHERE子句进行连表查询。SQLServer2005应用教程⚫2.外连接在内连接操作中,只有满足条件的行

才可能出在查询结果中。但有时也希望不满足条件的行也能出现在结果表中,这时需要使用外连接。在外连接中参与连接的表有主从之分,以主表中的每行数据去匹配从表中的数据行,如符合连接条件,则直接返回到查询结果中

;如没有匹配的行,则主表的行仍然保留,不匹配的行被填上空值后也返回到结果中。⚫外连接包括3种类型,见表4-7。SQLServer2005应用教程类型选项作用左外连接LEFTOUTTERJOIN返回所有匹配的行并从关键字JOIN左边的表中返回不匹配的行右外连接RIGHTOUTERJOIN返回所有的

匹配的行并从关键字JOIN右边的表中返回不匹配的行完全外连接FULLOUTERJOIN返回两个表中所有匹配的行和不匹配的行SQLServer2005应用教程⚫使用外连接的语法结构为:SELECT列名FROM<数据

源>[LEFT|RIGHT|FULL]OUTERJOIN<数据源>ON连表条件⚫【操作演示】显示所有博客用户的姓名、性别、发表的文章主题及发表时间(使用左连接的方法),如图4.13所示。SELECTx.Usern

ame,x.Sex,y.Subject,y.ShiJianFROMUsersxleftouterjoinArticleyONx.UserName=y.UserNameSQLServer2005应用教程⚫【操作演示】显示所有博客用户的姓名、性别、发表的文章主题及发表时间(使用右连接的方法),如所图

4.14所示。SQLServer2005应用教程⚫【操作演示】显示所有博客用户的姓名、性别、发表的文章主题及发表时间(使用完全连接的方法)。SELECTx.UserName,x.Sex,y.Subject,y.Sh

iJianFROMUsersxFULLOUTERJOINArticleyONx.UserName=y.UserName⚫完全连接返回左表和右表中的所有行,包括没有匹配的行。所以其查询结果与左连接的结果是一致的。SQLServer2005应用教程4.5任

务五:嵌套查询【任务目标】⚫理解什么是嵌套查询⚫熟练运用IN、ANY、ALL关键字以及比较运算符进行嵌套查询⚫理解普通子查询与相关子查询的执行过程及区别⚫能运用EXISTS操作符进行嵌套查询在SQL语言中,一个SELE

CT-FROM-WHERE语称为一个查询块。将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询或子查询,包含子查询的语句称为父查询或外部查询。SQLServer2005应用教程4.5.1使用IN

关键字⚫IN关键字用来判断一个表中指定列的值是否包含在已定义的列表中。⚫【操作演示】在学生数据库中,查询与“张江”在同一专业学习的学生学号与姓名。SELECT学号,姓名FROM学生表WHERE专业IN(SEL

ECT专业FROM学生表WHERE姓名=‘张江’)注意:在此例中,由于第一步的子查询返回值只有一个,所以可以直接用等号将父查询与子查询连接起来。SQLServer2005应用教程4.5.2使用比较运算符⚫带有比较运算符的子查询是指父查询与子查

询之间用比较运算符进行连接。可用>、>=、<、<=、!=、<>等运算符。⚫【操作演示】在BlogDb中,查询在“Tom”之后注册的博客用户姓名,如图4.15所示。SQLServer2005应用教程4.5.3使用

ANY或ALL操作符⚫如果子查询的返回值不止一个,而是一个集合时,则不能直接使用比较运算符,可以在比较运算符和子查询之间插入ANY或ALL。⚫格式为:<字段><比较符>[ANY|ALL]<子查询>⚫当<子查询>的查询结果的所有值都要满足所给的比较条件时,使用ALL关

键字。⚫当<子查询>的查询结果中,只要任一个值能满足所给的比较条件时,用ANY关键字。SQLServer2005应用教程⚫【操作演示】在BlogDb中,查询在“Tom”和“zhang”之后注册的博客用户姓名。SELECTUse

rNameFROMUsersWHEREyear(RegTime)>ALL(SELECTyear(RegTime)FROMusersWHEREUserName='Tom'ORUserName='zhang')⚫注意:子查询返回值不只一个,所以必须用ALL关键字。SQ

LServer2005应用教程⚫【操作演示】在学生数据库中,查询比电子专业学生的选修成绩都要高的学生学号。SELECT学号FROM选课表WHERE成绩>ALL(SELECT成绩FROM选课表ASx,学生表ASyWHEREx.学号=y.学号AND专业='电子')SQLServer2005应

用教程4.5.4使用EXISTS操作符⚫子查询包含普通子查询和相关子查询。前面所讲的子查询都为普通子查询,而利用EXISTS操作符的子查询则为相关子查询。两者有较大的区别。⚫普通子查询首先执行子查询,然后把子查询的结果作为父查询的查询条件的值。普通子查询只执行一次,而父查询所涉及的所有记录行都与

其查询结果进行比较,以确定查询结果集合SQLServer2005应用教程⚫相关子查询首先选取父查询表中的第一行记录,内部的子查询利用此行中相关的属性值进行查询。然后父查询根据子查询返回的结果判断此行是否满足查询条件。如果满足条件,则把该行放入父查询的查询结果集合

中。重复执行这一过程,直到处理完父查询表中的每一行数据SQLServer2005应用教程⚫【操作演示】在学生数据库中,查询选修了B001课程的学生姓名。⚫SELECT姓名⚫FROM学生表⚫WHEREEXISTS(SELECT*FROM选课表⚫WHERE学生表.学号=选课表.学号AND课程号=

'B001')⚫说明:⚫(1)在父查询的WHERE子句中无需写明比较的字段。⚫(2)在子查询的SELECT子句中,直接写上*号。同时在WHERE子句中写明两表连接的条件。SQLServer2005应用教程4.6任务六:更新数据⚫【任务

目标】⚫掌握利用INSERT语句在表中添加记录的操作⚫掌握利用UPDATE语句更新表中数据的操作⚫掌握利用DELETE语句删除数据的操作⚫在实际应用中,还需要对存存储的数据进行插入、修改和删除操作。这时可通过T-SQL的数据操纵语言(DML)来进行。⚫DML主要包括以下3个语句

。⚫(1)INSERT:向表添加行。⚫(2)UPDATE:更新表中的数据。⚫(3)DELETE:删除表中的行。SQLServer2005应用教程4.6.1插入数据⚫1.INSERTINTO语句⚫此语句是DML操纵语言向表中添加数据的较为常见的语句格式,可向表中添加一条记录。格式为:INSERTI

NTO表[(字段1[,字段2[,...]])]VALUES(值1[,值2[,...])⚫说明:⚫新增的记录,将依照指定字段排列的顺序插入对应的值,譬如值1将被插入至字段1,值2将被插入至字段2,以此类推。SQLServer2005应用教程⚫【操作演示】向Comment表插入一条记录为(4,

'zhang','jacky','王菲','2008-5-19')INSERTINTOComment(id,ArticleID,UserName,Name,Content,ShiJian)VALUES(7,4,'zhang','jacky','王菲','2008-

5-19')⚫注意:COMMENT表中有ID,ArticleID,UserName,Name,Content,ShiJian共6个列。由于ID列是自动标识列,不需要用户输入数据,系统会自动赋值。其余5个字段全部

都接收数据。另外,由于所有字段都接收数据,所以字段列表可省略。此命令可改为:INSERTINTOCommentVALUES(7,4,'zhang','jacky','王菲','2008-5-19')SQLServer2005应用教程⚫2.INSERT…SELECT语句

⚫此语句可向表中插入多条记录,是通过SELECT语句生成的结果集。⚫格式为:INSERTINTO目标表[(字段1[,字段2[,...]])]SELECT[(字段1[,字段2[,...]])]FROM源表⚫【操作演示】向课程

表中插入新课程表的数据。说明:为了讨论方便,先在学生数据库中新建一个“新课程表”,并输入数据,然后再把新课程表的记录插入到课程表中。SQLServer2005应用教程⚫(1)创建新课程表abc。USEstuCREATETABLEabc(课程号char(4)PRIMARYKEY,课程名称varc

har(50)NOTNULL,学分smallintNULL)⚫(2)利用INSERT语句向表abc输入两条记录。INSERTINTOabcVALUES('B004','图像设计',3)INSERTINTOabcVALUES('B005','办公软件应用',null)

SQLServer2005应用教程(3)将表abc的所有记录插入到课程表中。INSERTINTO课程表(课程号,课程名,学分)SELECT课程号,课程名,学分FROMabc或INSERTINTO课程表SELECT*FROMabc⚫注意:插

入记录时,SELECT子查询的结果集的结构必须与目标表的结构相同,且目标表必须存在。SQLServer2005应用教程4.6.2更新数据⚫UPDATE是对数据库中的数据进行修改的命令,利用此语句可以实现对表中单行、多行或所有行的数据进行修改。格式为:UPDATE表SET列名1=值1[,列名

2=值2,...][WHERE子句]⚫【操作演示】在BlogDb数据库中,将用户名为liang的性别修改为男。UPDATEUsersSETSex='男'WHEREUserName='liang'SQLServer2005应用教程⚫【操作演示】将选修了课程名为“C++”的学生成绩加5分。UPDA

TE选课表SET成绩=成绩+5WHERE课程号=(SELECT课程号FROM课程表WHERE课程名称=‘C++’)SQLServer2005应用教程4.6.3删除数据⚫随着对数据库的使用与修改,表中可能存在一些没用的数据,这时应及时将它们删

除。删除语句DELETE可以删除数据库里表或视图中一个或者多个记录。格式为:DELETEFROM表[WHERE子句]⚫【操作演示】删除Comment表中,jacky用户的评论文章。DELETEFROMCommentWHEREName='jacky‘⚫【操作演示】删除co

mment表中的前3条记录。DELETETOP3FROMCommentSQLServer2005应用教程本章小结⚫本章系统且详尽地讲解了SQL语言,SQL语言是关系数据库语言的工业标准。⚫利用T-SQL语句的SELECT语句从一个或多个表中获取数据,然后使

用WHERE子句来限定要返回的数据,同时还可以根据分组统计等需求,使用GROUPBY、HAVING、ORDERBY等语句。⚫对数据的查询,要由浅到深地学习,先熟练掌握单表查询,再掌握多表查询,最后学会嵌套查询。灵活综合运

用以上所提到的查询,基本能对数据进行灵活活的获取。⚫当获取数据后,要掌握对数据表进行添加、更新和删除的操作,使用的T-SQL语句为INSERT、UPDATE和DELETE。

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?