版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章表中数据的操作本章学习目标掌握如何在SQLServer管理控制台中操作表中的数据掌握使用SELECT语句查询数据的方法掌握使用INSERT语句插入数据的方法掌握使用UPDATE语句更新数据的方法掌握使用DELETE语句删除数据的方法5.1在SQLServer管理控制台中操作表中的数据表中数据的操作包括数据的查询、插入、修改和删除。可以在SQLServer管理控制台中非常方便地对数据执行各种操作,也可以利用Transact-SQL中的命令完成相应的功能。在SQLServer管理控制台中,打开指定的数据库并展开“表”对象,右击要操作的数据表,并从弹出的快捷菜单中选择“打开表”选项,就会看到数据表数据显示结果窗口。5.1在SQLServer管理控制台中操作表中的数据将光标定位到最后一条记录后面,输入新的记录就可以完成插入操作;将光标定位到某条记录,改变某个数据的值就可以完成更新操作;右击某条记录,从弹出的快捷菜单中选择“删除”选项就可以完成记录的删除操作。5.2查询数据SELECT语句可以根据实际需要从一个或多个表中选择一个或多个行或列。SELECTselect_list[INTOnew_table]FROMtable_source[WHEREsearch_condition][GROUPBYgroup_by_expression][HAVINGsearch_condition][ORDERBYorder_expression[ASC|DESC]]5.2查询数据在SELECT语句中至少要包含两个子句:SELECT和FROM。SELECT指定查询的某些选项,FROM指定查询的表。例如:查询T_STUDENT表中所有的数据,可以写为:SELECT*FROMT_STUDENT5.2.1SELECT子句SELECT子句的语法格式为:SELECT[ALL|DISTINCT][TOPn[PERCENT][WITHTIES]]<select_list><select_list>::={*|{table_name|view_name|table_alias}.*{column_name|expression|IDENTITYCOL|ROWGUIDCOL}[[AS]column_alias]|column_alias=expression}[,...n]5.2查询数据ALL:指定显示所有记录,包括重复行。ALL是默认设置。DISTINCT:指定显示所有记录,但不包括重复行。TOPn[PERCENT]:指定从查询结果中返回前n行。select_list:指定返回结果中的列。如果有多个列,用逗号分隔。5.2查询数据*:表示所有列。column_name:指定是要返回的列名。expression:是列名、常量、函数以及由运算符连接的列名、常量和函数的任意组合,或者是子查询。5.2查询数据例5-2-1:(1)查询表中的所有记录(2)查询前3条记录的S_NUMBER、S_NAME和BIRTHDAY字段(3)查询所有记录的SEX字段,并去掉重复值(4)查询所有记录的S_NUMBER(别名为学号)、S_NAME(别名为姓名)和BIRTHDAY(别名为出生日期)字段5.2查查询询数数据据别名名的的三三种种定定义义方方法法,,分分别别为为::列别别名名=列列名名列名名AS列别别名名列名名列列别别名名注意意::列列别别名名的的使使用用范范围围::列列别别名名只只在在定定义义的的语语句句中中有有效效。。5.2查查询询数数据据(5))查查询询得得到到每每个个学学生生的的年年龄龄(6))统统计计男男同同学学的的人人数数INTO子句句INTO子句句用用于于创创建建新新表表并并将将查查询询结结果果插插入入新新表表中中,,其其语语法法为为::[INTOnew_table]其中中的的参参数数new_table用于于指指定定新新表表的的名名称称。。例5-2-2::使使用用INTO子句句创创建建一一个个新新表表((T_STUDENT1))。。子句句FROM子句句用用于于指指定定要要查查询询的的表表,,其其语语法法如如下下::[FROM{<table_source>}[,...n]]<table_source>::=table_name[[AS]table_alias][WITH(<table_hint>[,...n])]|view_name[[AS]table_alias]|rowset_function[[AS]table_alias]|OPENXML|derived_table[AS]table_alias[(column_alias[,...n])]|<joined_table>子句句<joined_table>::=<table_source><join_type><table_source>ON<search_condition>|<table_source>CROSSJOIN<table_source>|<joined_table><join_type>::=[INNER|{{LEFT|RIGHT|FULL}[OUTER]}][<join_hint>]JOIN子句句其中中的的参参数数说说明明如如下下::<table_source>::指定定用用于于SELECT语句句的的表表、、视视图图、、派派生生表表和和联联接接表表。。table_name[[AS]table_alias]::指定定表表名名和和可可选选别别名名。。view_name[[AS]table_alias]::指定定视视图图和和可可选选别别名名。。<joined_table>::定义义两两个个或或多多个个表表的的积积联联合合。。<join_type>::指定定联联合合操操作作的的类类型型。。FROM子句句INNER::指定定返返回回参参与与联联合合的的数数据据表表中中所所有有相相匹匹配配的的行行,,丢丢弃弃两两个个表表中中不不匹匹配配的的行行。。如如果果不不指指定定联联接接类类型型,,则则这这是是默默认认设设置置。。LEFT[OUTER]::指定定返返回回参参与与联联合合的的数数据据表表中中所所有有相相匹匹配配的的行行和和所所有有来来自自左左表表的的不不符符合合指指定定条条件件的的行行。。FROM子句句RIGHT[OUTER]::指定定返返回回参参与与联联合合的的数数据据表表中中所所有有相相匹匹配配的的行行和和所所有有来来自自右右表表的的不不符符合合指指定定条条件件的的行行。。FULL[OUTER]::指定定返返回回参参与与联联合合的的数数据据表表中中所所有有相相匹匹配配的的行行和和所所有有来来自自左左、、右右表表的的不不符符合合指指定定条条件件的的行行。。FROM子句句JOIN::表示示所所指指定定的的数数据据表表或或视视图图需需要要进进行行联联合合。。ON<search_condition>::指定定联联合合的的条条件件。。例5-2-3::查查询询表表T_SCORE和表表T_STUDENT中的的数数据据,,满满足足条条件件::T_STUDENT.S_NUMBER=T_SCORE.S_NUMBER子句句WHERE子句句是是条条件件子子句句,,用用来来限限定定查查询询的的内内容容。。其其语语句句格格式式如如下下::WHERE<search_condition>search_condition::指定定搜搜索索条条件件。。WHERE子句句在WHERE子句句中中可可以以使使用用比比较较运运算算符符或或逻逻辑辑运运算算符符连连接接起起来来的的表表达达式式。。表表达达式式是是符符号号和和运运算算符符的的一一种种组组合合,,SQLServer2005数据据库库引引擎擎将将处处理理该该组组合合以以获获得得单单个个数数据据值值。。简简单单表表达达式式可可以以是是一一个个常常量量、、变变量量、、列列或或标标量量函函数数。。可可以以用用运运算算符符将将两两个个或或更更多多的的简简单单表表达达式式连连接接起起来来组组成成复复杂杂表表达达式式。。WHERE子句句1..使使用用比比较较运运算算符符连连接接的的表表达达式式expressionoperatorexpressionexpression::可以以是是列名名、、常常量量、、函函数数、、变变量量、、标标量量子子查查询询,,或或者者是是由由运运算算符符或或子子查查询询连连接接的的列列名名、、常常量量和和函函数数的的任任意意组组合合。。该该表表达达式式还还可可以以包包含含CASE函数。WHERE子句Operator:比较运算算符。WHERE子句中允允许出现现的比较较运算符符有:=(等于于)>(大于于)>=(对对于等于于)<(小于于)<=(小小于等于于)<>(不不等于))!>(不不大于))!<(不不小于))!=(不不等于))例5-2-4::从表T_SCORE中查询不不及格学学生的信信息。WHERE子句2.逻辑辑表达式式在Transact-SQL中可以使使用的逻逻辑运算算符有三三个:NOT::逻辑反,,对指定定的布尔尔表达式式求反。。AND::逻辑与,,只有当当两个条条件都是是TRUE时取值为为TRUE。OR:逻辑或,,当两个个条件中中任何一一个条件件是TRUE时取值为为TRUE。子句在三个逻逻辑运算算符中,,NOT的优先级级最高,,AND次之,OR最低。在在逻辑表表达式中中有三种种可能的的取值::True、False、Unkown。其中的Unkown是由值为为NULL的数据参参与逻辑辑运算得得到的结结果。例5-2-5::从表T_STUDENT中查询是是党员的的男学生生的信息息。WHERE子句3.BETWEEN关键字使用BETWEEN关键字可可以限定定查询范范围,其其语法格格式如下下:test_expression[NOT]BETWEENbegin_expressionANDend_expression子句其中的参参数说明明如下::test_expression::是用来在在由begin_expression和end_expression定义的范范围内进进行测试试的表达达式。test_expression必须与begin_expression和end_expression具有相同同的数据据类型。。NOT::查询不在在指定范范围内的的数据。。begin_expression:指定数据据取值的的上限。。end_expression:指定数据据取值的的下限。。例5-2-6::从表T_SCORE中查询成成绩在80~90分的的学生的的信息。。WHERE子句4.IN关键字使用IN关键字可可以确定定给定的的值是否否与子查查询或列列表中的的值相匹匹配。其其语法格格式如下下:test_expression[NOT]IN(subquery|expression[,...n])test_expression::任何有效效的MicrosoftSQLServer表达式。。Subquery:包含某列列结果集集的子查查询。expression[,...n]::一个表达达式列表表,用来来测试是是否匹配配。WHERE子句说明:如如果test_expression与subquery返回的任任何值相相等,或或与逗号号分隔的的列表中中的任何何expression相等,那那么结果果值就为为TRUE。否则,结结果值为为FALSE。例5-2-7::从表T_STUDENT中查询所所有非党党员的学学生信息息。WHERE子句5.LIKE关键字使用LIKE关键字可可以确定定给定的的字符串串是否与与指定的的模式匹匹配。其其语法格格式如下下:match_expression[NOT]LIKEpattern[ESCAPEescape_character]match_expression:任何字符符串数据据类型的的有效SQLServer表达式。。Pattern:指定match_expression中的搜索索模式,,可以包包含下列列有效SQLServer通配符::WHERE子句%:可匹匹配任意意类型和和长度的的字符串串。_(下划划线)::可匹配配任何单单个字符符。[]::指定范范围或集集合中的的任何单单个字符符。[^]::不属于于指定范范围或集集合的任任何单个个字符。。escape_character:允许在字字符串中中搜索通通配符而而不是将将其作为为通配符符使用。。例5-2-8::从表T_STUDENT中查询所所有姓张张的学生生信息。。WHERE子句6.NULL关键字在WHERE子句中不不能使用用比较运运算符对对空值进进行判断断,只能能使用空空值表达达式来判判断某个个表达式式是否为为空值。。如下所所示:表达式ISNULL或表表达式式ISNOTNULL子句GROUPBY子句将查查询结果果分组。。其语法法格式如如下:[GROUPBY[ALL]group_by_expression[,...n]]其中的参参数说明明如下::ALL::包含所有有的组和和结果,,甚至包包含那些些不满足足WHERE子句指定定搜索条条件的组组和结果果。如果果指定了了ALL,,组中不满满足搜索索条件的的空值也也将作为为一个组组。GROUPBY子句group_by_expression:执行分组组的表达达式,可可以是列列或引用用列的非非聚合表表达式。。例5-2-9::对表T_STUDENT中的记录录按性别别进行分分组,查查询相应应的人数数。HAVING子句HAVING子句为分分组或集集合指定定搜索条条件,通通常与GROUPBY子句一起起使用。。其语法法格式为为:[HAVING<search_condition>]其中的参参数:search_condition用来指定定搜索条条件。HAVING子句说明:当当HAVING与GROUPBYALL一起使用用时,HAVING子句替代代ALL。。在HAVING子句中不不能使用用text、image和ntext数据类型型。例5-2-10:在表表T_SCORE中求选修修了两门门及以上上课程的的学生学学号。ORDERBY子句ORDERBY子句用于于指定对对查询结结果排序序。如果果在SELECT中同时指指定了TOP,,ORDERBY无效。其其语法格格式如下下:[ORDERBY{order_by_expression[ASC|DESC]}[,...n]]其中的参参数说明明如下::order_by_expression:指定要排排序的列列。ORDERBY子句说明:可可以指定定多个列列。在ORDERBY子句中不不能使用用ntext、text和image列。ASC::指定按递递增顺序序,即从从最低值值到最高高值对指指定列中中的值进进行排序序。DESC:指定按递递减顺序序,即从从最高值值到最低低值对指指定列中中的值进进行排序序。ORDERBY子句说明:空空值被视视为最低低的值。。例5-2-11:在表表T_SCORE中查询选选修了““10010218””课程的的学生成成绩,并并按成绩绩的降序序进行排排序。联联合查查询联合查询询是指将将两个或或两个以以上的SELECT语句通过过UNION运算符连连接起来来的查询询,联联合查询询可以将将两个或或更多查查询的结结果组合合为单个个结果集集,该结结果集包包含联合合查询中中所有查查询的全全部行。。使用UNION组合两个个查询的的结果集集的两个个基本规规则是::所有查询询中的列列数和列列的顺序序必须相相同。数据类型型必须兼兼容。联联合查查询其语法格格式如下下:{<queryspecification>|(<queryexpression>)}UNION[ALL]<queryspecification|(<queryexpression>)[UNION[ALL]<queryspecification|(<queryexpression>)[...n]]联合查询询其中的参参数说明明如下::<query_specification>|(<query_expression>)::是参与查查询的SELECT语句。ALL::在结果中中包含所所有的行行,包括括重复行行。如果果没有指指定,则则删除重重复行。。联联合查查询例5-2-12:对表表T_STUDENT1和表T_STUDENT进行联合合查询。。说明:在在联合查查询中,,查询结结果的列列标题是是第一个个查询语语句中的的列标题题,要对对查询结结果进行行排序时时,也必必须使用用第一个个查询语语句中的的列名、、列标题题或列序序号。5.2.9嵌套套查询嵌套查询主主要用于复复杂的查询询中。在SQL语言中,一一个SELECT-FROM-WHERE语句称为一一个查询块块,将一个个查询块嵌嵌套在另一一个查询块块的WHERE子句或HAVING短语的条件件中的查询询称为嵌套套查询。5.2.9嵌套套查询嵌套查询中中上层的查查询块称为为外层查询询或父查询询,下层查查询块称为为内层查询询或子查询询。ORDERBY子句只能用用在最外层层的查询块块中。嵌套查询一一般按照由由里向外的的方法处理理。5.2.9嵌套套查询在某些嵌套套查询中WHERE之后还可以以使用ANY和ALL两个关键字字。ANY表示子查询询结果中的的某个值,,而ALL表示子查询询结果中的的所有值。。这两个关关键字可以以和算术运运算符在一一起构成各各种查询条条件,如::>ALL表示大于子子查询中的的所有值。。例5-2-13:查查询选修了了两门及以以上课程的的学生的基基本信息。。5.3插插入数据据INSERT语句用于向向数据库表表或者视图图中加入一一行数据。。INSERT[INTO]{table_name|view_name}{[(column_list))]{VALUES(({DEFAULT|NULL|expression}[,...n])|derived_table}5.3插入数据其中各参数数说明如下下:INTO::一个可选的的关键字,,使用这个个关键字可可以使语句句的意义清清晰。table_name:要插入数据据的表名称称。view_name:要插入数据据的视图名名称。column_list:要插入数据据的一列或或多列的列列表。column_list的内容必须须用圆括号号将column_list括起来,并并且用逗号号进行分隔隔。5.3插插入数据据VALUES:是插入的数数据值的列列表。注意:必须须用圆括号号将值列表表括起来,,并且数值值的顺序和和类型要与与column_list中的数据相相对应。DEFAULT:使用默认值值填充。NULL::使用空值填填充。Expression:常量、变量量或表达式式。表达式式不能包含含SELECT或EXECUTE语句。derived_table:任何有效的的SELECT语句,它返返回将插入入到表中的的数据行。。5.3插插入数据据例5-3-1:利用用INSERT语句向表T_STUDENT中插入一行行数据,只只包含S_NUMBER、、S_NAME和BIRTHDAY三列。例5-3-2:利用用INSERT语句向表T_STUDENT中插入一行行数据,所所有的字段段都要给出出相应的值值。5.3插插入数据据说明:如果果向一个表表中的所有有字段都插插入数据值值,则既可可以列出所所有字段的的名称,也也可以省略略不写,如如上题所示示,此时要要求给出的的值的顺序序要与数据据表的结构构相对应。。例5-3-3:利用用INSERT语句向表T_STUDENT中插入一批批数据,数数据来源于于另一个已已有的数据据表。5.4更更新数据据UPDATE语句用于修修改数据库库表中特定定记录或者者字段的数数据。其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度新型挖机租赁与承包一体化服务合同范本3篇
- 2025年度劳动合同续签与保密协议6篇
- 2025年度养殖环保评估委托养殖合同范本3篇
- 土石方运输车出租协议书2025年
- 2025年度宣传费用合同范本汇编与解读2篇
- 2025年度智能化家居产品销售合作协议汇编3篇
- 2025年度建筑施工职业健康安全环保责任协议3篇
- 2025年度棉花种植户与物流企业运输合同范本3篇
- 2025年度水利工程水车租赁与水资源保护合同2篇
- 2025年度文化创意产业合作合同:影视作品制作与发行3篇
- 《CIS企业形象策划》课件
- 机器加盟协议合同范例
- 2024-2030年中国油田服务市场发展潜力与前景战略规划分析报告
- 黑龙江省哈尔滨市道里区2023-2024学年八年级上学期数学期末考试试卷
- 码头操作管理制度
- 全过程造价咨询实施方案
- 药品运送工作指导方案模版(4篇)
- 浙江工业大学之江学院《建筑结构选型》2023-2024学年第一学期期末试卷
- 仓库管理培训课件
- 2024年居间服务合同:律师事务所合作与业务推广
- 大型活动音响设备保养方案
评论
0/150
提交评论