1 / 44

数据库原理与应用

数据库原理与应用. 数据库的基本管理 --- 学生信息的更新与查询. 3. 3. 熟练掌握向表中添加、删除、修改数据的方法. 3. 1. 熟练掌握简单查询数据的方法. 2. 培养职业素质. 培养团队协作精神、语言表达能力. 4. 学习目标:. 任务的提出. 在本章,我们将在上一章实现的 《 晓灵学生管理系统 》 数据库和各基本表的基础上,输入各相关数据。在输入的过程中,讲解数据的插入、删除与修改的各种方法。最后我们要对晓灵学生管理系统所涉及的数据进行查询或检索,因为我们在数据库中存储数据并不是目的,我们更观注于对数据的查询和使用. 需考虑的问题.

crwys
Download Presentation

数据库原理与应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数据库原理与应用 数据库的基本管理 ---学生信息的更新与查询

  2. 3 3 熟练掌握向表中添加、删除、修改数据的方法 3 1 熟练掌握简单查询数据的方法 2 培养职业素质 培养团队协作精神、语言表达能力 4 学习目标:

  3. 任务的提出 在本章,我们将在上一章实现的《晓灵学生管理系统》数据库和各基本表的基础上,输入各相关数据。在输入的过程中,讲解数据的插入、删除与修改的各种方法。最后我们要对晓灵学生管理系统所涉及的数据进行查询或检索,因为我们在数据库中存储数据并不是目的,我们更观注于对数据的查询和使用

  4. 需考虑的问题 • 如果想要向表中添加、删除、修改数据可以使用相关命令或企业管理器的图形界面实现。 • 如果想要查询表中的数据,一般使用T-SQL语句,使用查询分析器实现。 • 查询数据的语句为 • Select 列名 • from 表名 • Where 条件 • 查询语句的使用非常复杂,在学习情境4中,我们学习简单的数据查询方法,包括列的过滤,行的过滤等内容。

  5. 相关知识点 1.使用INSERT语句插入表数据 插入一行数据 INSERT [INTO] 表名 [ (列名 [,…n ] )] VALUES ( { 表达式 | NULL | DEFULT } [,…n ] )

  6. 相关知识点 2. 使用SELECT语句查询表数据 SELECT [ 源表名.]选择列名 [,…n ] FROM 源表名[,…n ] [ WHERE 逻辑表达式 ]

  7. 相关知识点 3. 使用UPDATE语句修改表数据 UPDATE 表名 SET { 列名=表达式 | NULL | DEFULT } [,…n ] [WHERE逻辑表达式]

  8. 相关知识点 4. 使用DELETE语句删除表数据 DELETE 表名 [WHERE逻辑表达式]

  9. Insert语句插入数据 • 【任务4.1】使用insert语句《晓灵学生管理系统》数据库的学生表中添加一条记录。 INSERT INTO student VALUES ( ‘40101’,’温荣奇’,’男’,1985-5-15,’计算机’,’z0401’,’2004-9-1’,’h1101’,’ 天津市河东区塘沽路8号’,’ 13520201187’)

  10. 注意事项 • insert…values 语句一次只能输入一行数据。 • 不能对IDENTITY列、计算列等进行赋值。 • 向表中插入数据时,不能违反完整性约束的要求。

  11. 使用update语句更新数据 • 【任务4.4】使用update语句更新所有行的数据 update grade set gradenum=gradenum+5 go

  12. 更新部分数据 • 【任务4.5】使用update语句更新部分数据。 UPDATE student STEsBanji= ‘z0402’ Where sID=’040101’

  13. 使用delete语句删除数据 • 【任务4.6】使用delete语句删除学生表中学号为‘040101’的学生的信息。 DELETEstudent WHERE sID= ‘040101’ • 【任务4.7】使用delete语句删除学生表中所有学生的信息。 DELETEstudent

  14. SELECT语句查询 几种查询工具的介绍 • 企业管理器

  15. SELECT语句查询 几种查询工具的介绍 • 查询分析器

  16. SELECT语句的语法结构 Select语句的功能是从数据库中检索行,并允许从一个或多个表中选择一个或多个行或列。虽然 SELECT 语句的完整语法较复杂,但是其主要的子句可归纳如下: SELECT select_list[ INTO new_table ] FROM table_source [ WHERE search_condition ] [ GROUP BY group_by_expression ] [ HAVING search_condition ] [ ORDER BY order_expression [ ASC | DESC ] ]

  17. 1. 选择列 1.指定列 语法结构: select 列名1 [,… n] from 表名1 [,… n] 【任务4.8】使用select语句从学生表中查询学生的学号,姓名,性别等信息。 Select 学号,姓名,性别 From 学生表

  18. 1. 选择列 提示:在数据检索时,列的顺序由SELECT 语句中列表的顺序决定。可以和定义表时列的顺序不同,这不会影响数据在表中的存储 思考题:选择 employees 表中所有雇员的employeeid , lastname , firstname 和title 列 (注:此表在northwind示例数据库中,可在northwind数据库中练习,答案在下页)

  19. 1. 选择列 答案: use northwind select employeeid,lastname,firstname,title from employees go

  20. 1. 选择列 2.使用通配符(*) 如果需要检索表中所有的列可以使用 “ * ”来代替。 【任务4.9】使用通配符选择所有数据列。 Select * From student 提示:应避免使用通配符,因为它会大大降低查询的效率

  21. 1. 选择列 3. 改变查询结果中的列名 默认情况下,数据查询结果中显示的列名就是创建表时使用的列名,但对于新增加的列,系统显示为“无列名”。如果我们想实现更改列名可以有两种方法实现 • 使用 “=“ • 使用 AS 关键字

  22. 1. 选择列 【任务4.10】在结果集中为列重新命名。 Select 学号=sid,姓名=sname,性别=ssex,出生日期=sbrithday From student 或 Select sid as 学号,sname as 姓名,ssex as 性别,sbrithday as 出生日期 From student

  23. 1. 选择列 4、在结果集中添加注释列 【任务4.11】在学生表结果集中手机号前加 上“移动电话”说明列。 Select sid,sname,ssex,szhuanye,saddr, ’移动电话:’,stel From student

  24. 2. 选择行 如果在工作中我们只查询部分数据记录,即找出满足某些条件的数据记录。此时我们可以在SELECT语句中使用WHERE子句来指定查询条件,过滤不符合条件的数据纪录行。 其语法形势为: Select 列名1[,…n] From 表名1[,…n] Where 查询条件

  25. 2. 选择行 1. 使用比较运算符

  26. 2. 选择行 【任务4.12】查询不及格学生的信息。 Select sid,kcid,gradenum From grade Where gradenum<60 提示:比较运算符不仅可以比较数值类型的列值,还可以比较字符串类型的列值,但对于英文字母不区分大小写。

  27. 2. 选择行 【任务4.13】在学生表中,查询学号为‘040108’号学生的信息。 Select * From student Where sid=’040108’

  28. 2. 选择行 • 范围条件选择查询 查询的条件可以设定在某个范围之内,使用between关键字即可,使用between关键字注意以下几点: • 使用between关键字指定查询范围时,包含范围内的边缘值。 • Between搜索条件可以与使用 and和比较操作符组成的表达式(>=x and <=y)相互替换,推荐使用between关键字。但如果搜索条件中不能包含范围内的边缘值,那么只能使用and和比较操作符组成的表达式(>x and <y)来实现 • 如果搜索条件是在某个范围以外,那么可以使用not between来实现。同样要考虑边缘值的问题

  29. 2. 选择行 【任务4.14】使用between关键字查询数据,查询成绩表中成绩在70-90分之间的学生的学号、课程号和成绩(含70和90分)。 select sid,kcid,gradenum from grade where gradenum between 70 and 90

  30. 2. 选择行 • 列表条件选择查询 如果想要查询的数据在一个指定的列表中,那么可以用in关键字指定搜索条件。使用In关键字要注意如下几点: • 使用In指定搜索条件与使用OR 操作符连起来的一系列比较操作符设定搜索条件的结果是相同的,即SQL Server对它们的处理是一样的。 • 如果搜索条件是在某个列表范围之外,可以使用 NOT IN关键字实现。

  31. 2. 选择行 【任务4.15】在学生表中,查询专业为“计算机”或“信息管理”的学生的信息,请用两种方法实现,大家比较下面两段代码。 • Select * From student Where szhuanye in (‘计算机’,‘信息管理’) • Select * From student Where szhuanye =‘计算机’or szhuanye =‘信息管理’

  32. 2. 选择行 • 基于未知值(NULL)选择查询 前面我们提到过,如果在输入数据时,没有为列指定值并且该列允许取空值的话,系统会将一个空值(NULL)填入到表中。注意:空值是一个特殊状态不等同于0或空格。如果我们相基于空值作为条件进行查询可以使用 IS NULL或IS NOT NULL关键字实现。IS NULL可以检查表中某列的取值是否为空。在使用IS NULL关键字时要注意以下几点 • 把空值和任何表达式进行比较都会导致失败,因为空值不等同于任何表达式 • 如果希望某列能够取空值,在定义表时要设定该列的NULL属性。

  33. 2. 选择行 【任务4.16】使用null关键字查询数据,在宿舍信息表中,查询宿舍长为空值的宿舍号的信息。 Select * From hostel Where hosshezhang is null

  34. 2. 选择行 • 多条件选择查询 在where子句中可以使用逻辑运算符连接多个查询条件,构成一个更复杂的条件查询。SQL Server 主要有三个逻辑运算符 • AND 它连接两个条件,如果两个条件都成立,则组合起来的条件成立 • OR 它连接两个条件,如果两个条件中有一个成立,则组合起来的条件成立 • NOT 它引出一个条件,将该条件的值取反

  35. 2. 选择行 【任务4.17】多条件查询,在学生表中,查询专业为“计算机”,并且性别为“男”的学生的信息。 Select * From student Where szhuanye=’计算机’ and ssex=’男’

  36. 2. 选择行 6.字符串的模糊匹配 如果我们的查询条件不能确定,或我们不想进行精确查询,可以使用模糊匹配的方法进行查找。 对于模糊查找使用“ LIKE”操作符

  37. 2. 选择行

  38. 2. 选择行 使用通配符举例

  39. 2. 选择行 【任务4.18】模糊条件查询,在学生表中查找家住在天津市的学生的信息。 Select * From student Where saddr like ‘天津%’ 【任务4.19】在课程信息表中查询名称中含有‘原理’的课程的信息。 Select * From course Where kcname like ‘%原理%’

  40. 2. 选择行 • 消除结果集中重复的行 如果结果集中有重复的值,那么可以使用 DISTINCT关键字来消除重复的值。 • 【任务4.20】查询学生表中专业的信息。 • Select szhuanye from student

  41. 3 . FROM子句 Select 语句的from子句中指定的是查询数据源。可以由以下几部分组成: 1.单个表 2.多个表联合 3.视图 语法结构: from {表名|视图名}[,…n] 提示:当我们指定多个数据源时,可以用逗号分隔,但最多只能指定16个数据源

  42. 3 . FROM子句 1. 为表指定别名 可以为from子句中的表指定别名 有两种格式: 表名 AS 别名 表名 别名

  43. 3 . FROM子句 以下三个查询的含义完全相同 Select c.customerid ,c.firstname from customers as c Select c.customerid ,c.firstname from customers c Select customerid , firstname from customers

More Related