《chapter03数据更新及简单查询.ppt》由会员分享,可在线阅读,更多相关《chapter03数据更新及简单查询.ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、E-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶基础知识复习基础知识复习51更新数据表语句的多种用法 52查询语句的基本结构与语法E-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶更新数据表语句的多种用法更新数据表语句的多种用法INSERTINSERT语句语句基本语法:INSERT INTO(列名1,列名2,列名n)VALUES(值1,值2,值n)说明:“列名1,列名2,列名n”必须是指定表名中定义的列,而且必
2、须与VALUES子句的“值1,值2,值n”一一对应。E-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶例:向student表中插入下列数据。SnoSnamesex7001李兵男7002王莉女 INSERT INTO student(sno,sname,sex)VALUES(7001,李兵,男)INSERT INTO student(sno,sname,sex)VALUES(7002,王莉,女)E-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Se
3、rver 数据库进阶数据库进阶UPDATEUPDATE语句语句基本语法:UPDATEUPDATE SET 列名1=值1,列名2=值2,列名n=值nWHEREWHERE 注意:如果没有指定WHERE子句,表中的所有数据都将被更新。E-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶例:将student表中,名为“王莉”的名字改为“王丽丽”。UPDATE student SET sname=“王丽丽”WHERE sname=“王莉”。E-mail:电话:电话:86684528NeusoftNeusoft东软东
4、软SQL Server SQL Server 数据库进阶数据库进阶 DELETEDELETE语句语句基本语法:DELETE FROM WHERE E-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶例:删除student表中性别是“男”的记录。DELETE FROMDELETE FROM student WHEREWHERE sex=男E-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶查询语句的基本结构与语法查询语
5、句的基本结构与语法简介 数据查询功能是SQL语言的核心功能,是数据库应用中使用最多的操作。查询语句有灵活的使用方式和丰富多彩的功能。正确、高效率的数据查询,有几条最基本的原则。(1)用户必须清楚查询所需的数据源。(2)对于基本表的结构要十分清楚,这是实现高效率查询的要素。E-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶(3)对于查询语句的语法结构要很熟练。越是复杂的查询,语句越灵活多样。(4)对系统执行查询的基本过程有正确的了解,并对结果的状态有基本的估计,以便判断查询结果的可靠性。E-mail:电话
6、:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶查询语句的结构和语法查询语句的结构和语法查询语句的语句格式和语法规格可描述如下:SELECT 查询结果列表 FROM 数据源 WHERE 条件表达式 GROUP BY 分组依据的列名 HAVING 组提取条件 ORDER BY 排序依据的列名 E-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶说明SELECTSELECT -指定结果将显示的列名指定结果将显示的列名FROM FROM
7、 -指定将要查询的对象,即数据的来源指定将要查询的对象,即数据的来源 WHEREWHERE 指定数据需要满足的条件指定数据需要满足的条件 GROUP BY GROUP BY 将属性列值相等的记录作为将属性列值相等的记录作为一组一组 HAVING HAVING 指定满足条件的组才会输出指定满足条件的组才会输出 ORDER BY ORDER BY 按指定列的值进行升序或降按指定列的值进行升序或降序排列序排列E-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶简单查询简单查询 简单查询(选择表中若干列)查询指定
8、的列查询指定的列 在很多情况下,用户可能只对表中的一部分属性列感兴趣,这时可通过在SELECT子句的中指定要查询的列来实现。例1:查询全体学生的学号与姓名 SELECT Sno,Sname FROM Student E-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶查询表中的全部列查询表中的全部列例2:查询全体学生的所有字段值SELECT Sno,Sname,Ssex,sbirth,ddept,Addr FROM Student等价于:SELECT *FROM Student思考题:执行如下语句的结果是
9、什么?SELECT Sname,ddept,Ssex,sbirth,Sno FROM StudentE-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶查询结果是经过计算的列值 SELECT子句中的可以是表中存在的属性列,也可以是表达式、常量或者函数。例3查询全体学生的姓名及其实际年龄 SELECT Sname,2009-DATEPART(yy,sbirth)FROM StudentE-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数
10、据库进阶数据库进阶 如果将上述语句中计算实际年龄的表达式修改一下,或许更有通用性。其SQL语句如下。SELECT Sname,sbirth,DATEDIFF(yy,sbirth,getdate()FROM StudentE-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶结果中插入常量结果中插入常量例4:查询全体学生的姓名、实际年龄,并在实际年龄前加入的实际年龄是的字符串。可以用以下语句实现。SELECT Sname,的实际年龄是,2009-DATEPART(yy,sbirth)FROM StudentE
11、-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶改变结果中的列标题改变结果中的列标题 经过计算的列、函数的列和常量列的显示结果都没有列标题,通过指定列的别名可以改变查询结果的列标题。改变列标题的语法格式为:列名 别名|表达式 AS 列标题或 列标题=列名|表达式E-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶例5,将例4中的结果列名列表部分加入别名并简化,写成如下语句:SELECT 学生姓名=Sname,200
12、9-DATEPART(yy,sbirth)实际年龄 FROM StudentE-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶消除取值相同的行消除取值相同的行 本来在数据库表中不存在取值全都相同的元组,但在进行了对列的选择后,在查询结果中就有可能出现取值完全相同的行了。例6在修课表中查询有哪些学生修了课程,要求列出学生的学号。SELECT Sno FROM SC 在这个结果中有许多重复的行。E-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶 SQL 中的DISTINCTDISTINCT关键字可以去掉结果表中的重复行。SELECT DISTINCT Sno FROM SC 则执行结果为:Sno95121019512102952110295211039531101E-mail:电话:电话:86684528NeusoftNeusoft东软东软SQL Server SQL Server 数据库进阶数据库进阶练习练习 课堂练习