SQL第四章节数据操作幻灯片

上传人:E**** 文档编号:89709621 上传时间:2019-05-31 格式:PPT 页数:61 大小:2.63MB
返回 下载 相关 举报
SQL第四章节数据操作幻灯片_第1页
第1页 / 共61页
SQL第四章节数据操作幻灯片_第2页
第2页 / 共61页
SQL第四章节数据操作幻灯片_第3页
第3页 / 共61页
SQL第四章节数据操作幻灯片_第4页
第4页 / 共61页
SQL第四章节数据操作幻灯片_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《SQL第四章节数据操作幻灯片》由会员分享,可在线阅读,更多相关《SQL第四章节数据操作幻灯片(61页珍藏版)》请在金锄头文库上搜索。

1、项目四处理BBS数据,数据库开发与应用(SQL Server 2005),项目描述,在BBS数据表创建完成后,本项目需要向BBS数据库用户信息表、版块信息表、发贴表、回帖表中增加、修改和删除数据,能够通过应用SQL Server Management Studio或 Transact-SQL语句实现数据操作。在BBS数据表中获取满足一定条件的数据时,通过字符串函数、日期和时间处理函数、数学函数、聚合函数、使用通配符处理数据,应用Transact-SQL语句实现简单查询和对数据排序查询。,项目目标,1正确实现数据的增加、修改和删除的处理; 2熟练使用SELECT语句和WHERE语句实现简单查询;

2、 3正确使用T-SQL函数处理查询数据和设置查询条件; 4熟练运用ORDER BY语句实现数据排序。,字符串函数,字符串函数对输入字符串执行操作,返回一个字符串或数字值。主要包括如下函数,见表4-1。,日期和时间处理函数,日期和时间处理函数是对日期和时间输入值执行操作,并返回一个字符串、数字值或日期和时间值,见表4-2。,数学函数,数学函数通常对作为参数提供的输入值执行计算,并返回一个数值。这些函数一般用于代数、三角或几何运算,使用时可以查阅帮助文档。见表4-3。,在实现数据库查询时,可以使用运算符构造查询表达式,或者构造从数据表中筛选数据的查询条件表达式。运算符主要有算术运算符、比较运算符、

3、字符串串联运算符、逻辑运算符四种。 1算术运算符 算术表达式是通过算术运算符连接参与运算的数据,算术运算符有:+(加)、-(减)、*(乘)、除(/)和取余(%)。 例如, 查询当前的日期前10天,语句为: SELECT getdate() - 10 查询当前年份后5年,语句为: SELECT getdate() + 5,运算符与表达式,2比较运算符 比较运算常用于测试两个同类型数据的大小、顺序是否相同。比较对象可以是数值、字符串和日期。也常用于WHERE子句和HAVING子句,筛选出符合搜索条件的数据。比较运算符有:(大于)、=(大于等于)、= (等于)、 (不等于)、= 6 用户积分(UPo

4、int)小于200时,打印用户等级(UClass)设定为1级: if( UPoint = 200 ) print 用户等级为1级,运算符与表达式,3字符串联运算符 字符串联运算可以将两个或多个字符串或二进制字符串、列或字符串和列名的组合串联到一个表达式中,字符串串联运算符是加号 (+)。 例如, 用户名称“lili”与用户级别5进行连接: SELECT lili + 的用户级别为 + ltrim( 5) 输出为:lili的用户级别为5 用户登录后,显示登录信息 SELECT lili + ,您好! 输出为:lili,您好!,运算符与表达式,4逻辑运算符 逻辑运算用于指定WHERE子句和HAVI

5、NG子句中满足的查询条件,以及IF语句、CASE 函数、WHILE语句对某个表达式或列值进行判断,返回布尔类型TRUE或FLASE值。逻辑运算符主要包括AND、OR、NOT 、IN、BETWEEN、LIKE逻辑运算符。,运算符与表达式,运算符与表达式,例如, 查询论坛版块名称SName为“JSP开发”、“Java开发”、“.NET开发” SName IN (JSP开发,Java开发,.NET开发) 查询年龄在18和22岁之间所有注册用户 (DATEDIFF(year, UBirthday, GETDATE() ) ) BETWEEN 18 AND 22 查询用户名称为第二个字为“龙”的用户 U

6、serName LIKE (_龙%),Transact-SQL提供了LIKE子句来进行模糊查询,但为了满足特定数据的搜索模式,必须使用通配符。常用的通配符主要有4种。 _(下划线):表示单个的任意字符。 %(百分号):表示任意字符出现任意次。 (方括号):表示指定的字符集,必须匹配指定位置的一个字符。 (前缀符):表示否定匹配指定位置的一个字符。,运算符与表达式,任务一 使用INSERT插入数据,【任务描述】 用户信息表Users中增加一行新数据。 将表SectionNew所有数据合并到版块信息表Section中,实现插入多行数据。 将用户信息表Users的用户名称UserName、出生日期U

7、Birthday、电子邮件UEmail复制到通讯录信息表中,实现插入多行数据。 【技能要点】 熟练使用INSERT语句插入新数据行 熟练运用INSERT 和 SELECT语句插多行数据 利用SQL Server Management Studio实现增加数据,任务一 使用INSERT插入数据,1使用INSERT语句增加一行数据 (1)在SQL Server Management Studio工具栏中选择“新建查询”,选择当前可用数据库为BBS。也可以在BBS数据库右击“新建查询”。 (2)在SQL Server Management Studio查询窗口中输入以下T-SQL语句: INSERT

8、 INTO Users(UserName,UPasswd,UEmail,UBirthday,USex, UClass,UStatement,URegDate,UState,UPoint) VALUES (菜鸟,caicai,CaiN,1978-7-9,1, 1,快, 2011-12-9,1,200),任务一 使用INSERT插入数据,(3)选择要执行的T-SQL语句,点击“执行”,显示成功消息,如图所示。 INSERT语句语法如下: INSERT INTO 表名 (列名1 , 列名n) VALUES(表达式1,表达式n),任务一 使用INSERT插入数据,插入数据提示 在使用INSERT插入数

9、据时,注意一下几点: INTO是一个可选关键字,可以省略,加上方括号表示 VALUES引入要插入的数值列表,值必须与列的数据类型和语句中列名实际顺序一致 如果提供所有列的值并按表中各列的顺序列出,则可以省略列名不写 将数据插入带有标识列的数据表,标识列不需要提供值 将数据插入列有默认值或允许为空的数据,插入时可以不提供值 插入值的数目与列的数目要匹配,任务一 使用INSERT插入数据,常见错误分析: (1)值与列名插入数据类型不一致 用户信息表Users定义性别USex列数据类型为bit,插入数据失败。如图所示。 (2)值与列名实际顺序不一致 用户信息表中USex列和UPasswd列与表中定义

10、列的顺序不同,插入数据时,如果提供列名,VALUES子句值必须与列名实际顺序一致,否则插入数据错误或失败。如图所示。,任务一 使用INSERT插入数据,(3)标识列不需要提供值 用户信息表中UserID定义为标识列,不能为表 Users 中的标识列插入显式值。如果需要设定值,需要执行SET IDENTITY_INSERT Users ON语句。如图所示 (4)列定义不为空必须提供值 用户信息表中USex列定义不为空,必须USex列提供数值。如果列有默认值或允许为空的数据,插入时可以不提供值。如图4所示。 (5)值的数目与列的数目匹配 用户信息表中将数据行插入到包含自动生成值或具有默认值的列,这

11、些行只有部分列包含值,VALUES 子句中值的数目必须与 INSERT 语句中指定的列的数目匹配。如图所示。,任务一 使用INSERT插入数据,2使用INSERT 和 SELECT语句插多行数据 INSERT语句一般用于为数据表中指定的列插入一行数据。但INSERT还存在另一种形式,可以利用SELECT语句检索出的结果集插入表中。 (1)在BBS数据库新创建版块信息表SectionNew,表的结构与原版块信息表Section相同。 (2)将表SectionNew所有数据合并到版块信息表Section中。将表Section带标识列插入数据行,需要执行SET IDENTITY_INSERT Sec

12、tion ON语句在查询窗口中输入以下T-SQL语句:,任务一 使用INSERT插入数据,SET IDENTITY_INSERT Section ON INSERT INTO Section( SectionID, SName, SMasterID, SStatement, SClickCount , STopicCount ) SELECT SectionID, SName, SMasterID, SStatement, SClickCount, STopicCount FROM SectionNew (3)选择要执行的T-SQL语句,点击“执行”,显示受影响的行数。,任务一 使用INSER

13、T插入数据,3使用SELECT INTO语句插多行数据 可以使用SELECT INTO语句将一个表的内容复制到一个新表中,不需要使用INSERT语句。 (1)将用户信息表Users的用户名称UserName、电子邮件UEmail、出生日期UBirthday复制到通讯录信息表AddressList中,在查询窗口中输入以下T-SQL语句: SELECT UserName, UEmail, UBirthday INTO AddressList FROM Users (2)选择要执行的T-SQL语句,点击“执行”,显示受影响的行数。打开通讯录信息AddressList表可以查看到插入数据,如图所示。,

14、任务一 使用INSERT插入数据,INSERT INTO与SELECT INTO比较 INSERT INTO在执行时,首先保证该表已创建,其次被插入表中如果存在主键约束,该语句不能重复执行。 SELECT INTO在执行时,首先会自动创建一个新表,其次该语句也不能重复执行,因为新表已存在。 4在“结果”窗格中增加数据 为了验证数据库设计情况时,可能需要向数据库中插入示例数据。您可以直接向“结果”窗格中输入示例数据,也可以从其他程序(如“记事本”或 Excel)复制示例数据,然后将其粘贴到“结果”窗格中。 (1)在对象资源管理器中,选择要插入数据的表,右击,在弹出的快捷菜单中选择“打开表”命令。

15、,任务一 使用INSERT插入数据,(2)定位到要插入的数据所在的单元格,键入新数据。如图所示。 (3)鼠标移出该行或单击回车键即可保存更改,如果输入的数据类型、数值约束不正确则提示错误信息,单元格信息更正后,数据保存成功。 例如,性别USex列的数据类型为bit,只能输入Boolean类型数据。如果输入“男”或“女”,则提示错误信息。如果列定义允许为空值,不提供值时,需要输入大写字母键入 NULL。“结果”窗格将该单词设置为斜体以指示它是一个空值,而不是字符串。,任务二 使用UPDATE语句更新数据,【任务描述】 将版块信息表Section中版块名称SName为“网页设计”的版主编号SMas

16、terID改为“25”,版块名称改为“网页动画制作”。 将发帖表Topic中最后回复时间TLastCLickTime改为当前时间。 【技能要点】 熟练使用UPDATE语句修改特定数据行 熟练使用UPDATE语句修改所有数据行 利用SQL Server Management Studio实现修改数据,任务二 使用UPDATE语句更新数据,1使用UPDATE语句修改特定数据行 (1)将版块信息表Section中版块名称SName为“网页设计”的版主编号SMasterID改为“25”,版块名称改为“网页动画制作”。在查询窗口中输入以下T-SQL语句: UPDATE Section SET SMasterID = 25,SName = 网页动画制作 WHERE SName = 网页设计 (2)选择要执行的T-SQL语句,点击“执行”,显示受影响的行数,如图所示。 执行上述语句,在版块信息表Section查找满足条件一行

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号