06sql server表格中数据.ppt_第1页
06sql server表格中数据.ppt_第2页
06sql server表格中数据.ppt_第3页
06sql server表格中数据.ppt_第4页
06sql server表格中数据.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章编辑维护表格数据 任务的提出 在本章 我们将在上一章实现的 晓灵学生管理系统 数据库和各基本表的基础上 输入各相关数据 在输入的过程中 讲解数据的插入 删除与修改的各种方法 最后我们要对晓灵学生管理系统所涉及的数据进行查询或检索 因为我们在数据库中存储数据并不是目的 我们更观注于对数据的查询和使用 本节目标 Insert添加表格数据Update实现数据的修改Delete删除表格数据本节重点Insert添加表格数据Update实现数据的修改Delete删除表格数据本节难点 添加 修改 删除数据时的级联操作 简单的insert语法 语法 Insertinto表名values 列的值 列的值 例 insertinto学生表values 4001 李超 男 网络山东济南 团员 实例1 insertinto学生表values 4004 张飞 女 30 网络山东济南 团员 说明 这个语句依然执行成功 服务器不会找到这个错误 因为这两列的数据类型一致或者相兼容 而服务器不会从字面意义上来识别错误的 由于这种错误经常出现 而且难以被发现 所以 建议在使用insert语句时最好列出插入数值列的名字 插入特定的列 语法 Insertinto表名 列名 列名 列名 values 列值 列值 列值 例 insertinto学生表 学号 姓名 性别 年龄 专业 values 4005 徐焦 女 30 高全 插入数据行7 1 InSert INTO 列名 Values INSERTINTOStudents SName SAddress SGrade SEmail SSEX VALUES 张青裁 上海松江 6 ZQC S 0 插入数据行7 2 注意事项1 每次插入一行数据 不可能只插入半行或者几列数据 因此 插入的数据是否有效将按照整行的完整性的要求来检验 INSERTINTOStudents SName SAddress SGrade SEmail SSEX VALUES 张青裁 代码错误 插入数据行7 3 注意事项2 每个数据值的数据类型 精度和小数位数必须与相应的列匹配 INSERTINTOStudents SName SAddress SGrade SEmail SSEX VALUES 张青裁 上海松江 ZQC ZQC S ZG 代码错误 实例2 标识列 insertinto学生表 学号 姓名 性别 年龄 专业 values 4005 徐焦 女 30 高全 说明 如果在一表中存在定义为标识列 那么该列再插入数据时必须省略该列的列名和列值若学号设置了标识列 则上面的语句运行错误 插入数据行7 4 注意事项3 不能为标识列指定值 因为它的数字是自动增长的 INSERTINTOStudents SCode SName SAddress SGrade SEmail SSEX VALUES 32 张青裁 上海松江 6 ZQC S 0 代码错误 实例 非空列 insertinto学生表 学号 性别 年龄 专业 values 4005 女 30 高全 如果在一表中存在定义为notnull的数据列 那么该列的值必须要出现在values的列表中 否则 服务器会给出错误提示 操作失败 如果姓名列是非空列则上面的语句将运行错误 插入数据行7 5 注意事项4 如果在设计表的时候就指定了某列不允许为空 则必须插入数据 INSERTINTOStudents SAddress SGrade SEmail SSEX VALUES 上海松江 6 ZQC S 0 代码错误 实例4 数据完整性 语句 insertinto学生表 学号 姓名 性别 年龄 专业 values 4005 周亮 男 音乐 说明 如果要写入数据的表的列添加了数据完整性约束 那么要写入的数据必须符合约束的要求如果在专业表和学生表是参照关系 在专业表中没有音乐这个专业 则上面的语句错误 用户自定义约束 insertinto学生表 学号 姓名 性别 年龄 专业 values 4005 周亮 男 音乐 说明 如果在用户自定义约束中定义年龄必须在 到 之间 check 年龄 15and年龄 25 则上面的语句错误 插入数据行7 6 注意事项5 插入的数据项 要求符合检查约束的要求 INSERTINTOStudents SName SAddress SGrade SEmail SSEX VALUES 张青裁 上海松江 6 ZQC 0 代码错误 实例 默认值 insertintostudent sno sname sage sdept values 001 周亮 20 网络 说明 若某列设置了默认值 则可以省略该列名和列值如果性别设置了默认值 女 并且是notnull 不能为空 则上面的语句是正确的 插入数据行7 7 注意事项6 具有缺省值的列 可以使用DEFAULT 缺省 关键字来代替插入的数值 INSERTINTOStudents SName SAddress SGrade SEmail SSEX VALUES 张青裁 DEFAULT 6 ZQC S 0 小结1 编写SQL语句 把你自己的信息插入到学员信息表中 总结 1 列值和列名的排列顺序必须一致 2 列值和列名中列的个数必须相等 3 列值和列名中列的数据类型必须一致或可转换 4 若列中含有默认值或含有标识列 则列名及其对应的列值应省略5 若存在定义为非空的数据列 那么values列表中必须写出该列的值 有数据完整性约束的列 一定要符合数据完整性中约束的要求 使用update实现数据的修改 当需要修改表中一列或多列的值时 可以使用update语句 Update表名set列名 列的值 列名 列值where条件 使用update实现数据的修改 例1 updatestudentsetsdept 高全 wheresno 104 updatestudentsetsdept 清网 fromstudentwheresno 110 使用update实现数据的修改 例2 不加where字句 update语句会修改表中的每一行数据updatestudentsetsname 刘晓庆 结果将学生表中所有学生的姓名都改成了刘晓庆 这种情况只是在将一列的值改为相同的值时用 一般情况下要加上条件 例3一次更新表中的多个列 usexinwanggoupdatestudent1setsname 小犬 sage 8 ssex 女 sdept 小日本 wheresno 102 使用delete删除表中的数据 当要从表中删除数据时 最常用的方法是使用delete语句Deletefrom表名where条件没有带where子句的delete语句将会删除这个表的每一行数据 使用delete删除表中的数据 例1 删除一条记录useqingwanggoDeletefromstudentwheresno 102 说明 删除学生表学号为102的记录 使用delete删除表中的数据 例2 删除多条记录usexinwanggodeletefromstudent2wheressex 女 说明 删除学生表中所有的数据 使其成为一个空表另 子查询同样嵌套在delete字句中 用以执行删除操作的条件 例2 删除所有的记录usexinwanggodeletefromstudent2 注意 省略where子句的delete语句将会删除这个表的每一行 所以使用delete语句要小心 因为数据将从数据库中永远的删除 删除时 当删除被参照关系的某一行时 而参照关系存在若干行 且外键列的值与主键列的值相同 这时你单独删除外键的值是删除不掉的 如果要删除外键的值有如下三种方法 1 级联删除2 受限删除3 置空值删除 级联删除 如果想删除主表中的数据时 要先将从表中的外键值与主表中主键值相同的行删除 再删除主表中的数据 例如 我要将学生表中学号为001的学生的基本信息删除 那么我就要先在成绩表中删除学号为001的学生的成绩 然后在学生表中删除他的信息 受限删除 如果要删除的主表中的数据 外键值在主表的主键值中没有 可以直接删除 否则不可以删除也就是说从表中的数据不受限制 我可以任意删除 主表中的数据受限制 删除时要先看这个值在从表中是否有相同的数据 使用truncatetable清空表格 Truncatetable语句可以删除表格中所有的数据 只留下一个表格定义 Truncatetable表名 使用truncatetable清空表格 Truncatetablestudent1例 Truncatetablestuent1注意 Truncatetable语句可以删除表格中所有的数据 只留下一个表格定义 Truncatetable和DELETE语句的区别 1 Truncatetable不记录事务日志 2 Truncatetable删除记录后 标识列重新开始计数 3 DELETE语句锁定行 Truncatetable不锁定行 只锁定表和页 4 若其它表中外键指向的该表 则不能用Truncatetable删除 使用企业管理器管理表格数据 1 返回所有行2 返回指定前面的n行数据 3 在属性里面可以设置属性 如重新和设置distinct关键字4 在关系图中练习 排序 总结 本节目标 Insert添加表格数据Update实现数据的修改Delete删除表格数据 预习 第四章 4 4数据查询 P79 P86 上机目标 编写SQL语句 完成BBS数据库常见的增加 修改和删除操作 训练技能点 为数据库表编写SQL语句增加单行数据和多行数据使用SQL语句删除数据 训练要点使用InSert语句向数据库表插入数据需求说明在BBSUsers表中插入以下的数据 1 2行 阶段1 阶段1 演示插入的代码 完成时间 15分钟 INSERTINTOBBSUsers UName UPassword UEmail UBirthday USex UClass UStatement URegDate UState UPoint VALUES 火云邪神 hyxs007 HYXS HotM 1978 7 9 1 1 快 2005 8 9 1 20000 阶段1 共性问题集中讲解 SQL中的豆号为英文豆号 不能是中文逗号日期数据项 字符数据 需要加英文的单引号引起来 需求说明 编写创建版面的SQL语句创建的版面要求 阶段2 完成时间 15分钟 上机练习 1 先创建学生表编号为主键 而且是标识列姓名是非空的性别是男 女 非男非女 半男半女年龄只能是15到30专业默认为网络成绩表学生号课程号成绩学生号 课程号同为主键 学生号 课程号分别为外键 上机练习 插入数据 将班里学生的信息插入表中 按正确的信息输入 将个别的几个学生改成别的专业的 高全 网站 数字艺术 将你不喜欢的学生的性别改成非男非女 或半男半女将网络专业的学生的年龄增加一岁删除信息不对的学生 上机练习 二 新建数据库名为 wnt 数据文件存放在D DATA 日志文件存放在D LOG文件夹 然后将给定的数据库备份文件wnt bak恢复到新建的数据库wnt上 恢复后数据库中有学生关系表Student 课程关系表Course 选修关系表SC 结构说明如下 并有用于测试的数据记录 然后完成下面的习题表Student学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept表Course课程号Cno课程名Cname先行课Cpno学分Ccredit表SC学号Sno课程号Cno成绩Grade图1学生 课程数据库 上机练习 8 向表Student中添加一条记录 学号为 95005 姓名为 孙辉 性别为 男 年龄为 19 所在系为 机电系 9 删除表Course中课程名为 操作系统 的课程信息 10 将学生刘晨的年龄改为 17 所在系改为 会计系 11 在数据库wnt中新建表 学生联系方式表 字段sno 学生编号 stel 学生电话 sno为主键 习题 使用SQL命令将学生STUDENT中的学生年龄AGE字段的值增加1岁 应该使用的命令是 A REPLACEAGEWITHAGE 1 B UPDATESTUDENTAGEWITHAGE 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论