Ch4 修改SQL数据.ppt
文本预览下载声明
第4章 修改SQL数据 目标 了解数据定义语言和数据操纵语言 掌握数据修改语句的编写 掌握数据插入语句的编写 熟悉从表中删除行 了解SQL*Plus的使用 4.0 回顾 Select语句的结构 Select各子句的使用方法与作用 4.0 数据更新 插入数据 修改数据 删除数据 4.1 添加数据:Insert into语句 应用场景:添加一个新行到表中 4.1 添加数据:Insert into语句 添加数据:语法规则 4.1 添加数据:Insert into语句 INTO子句 指定要插入数据的表名及属性列 属性列的顺序可与表定义中的顺序不一致 没有指定属性列:表示要插入的是一条完整的元组,且属性列属性与表定义中的顺序一致 指定部分属性列:插入的元组在其余属性列上取空值 VALUES子句 提供的值必须与INTO子句匹配 值的个数 值的类型 4.1.1 最简单的Insert into语句 示例:添加一个新行到表中 4.1.1 最简单的Insert into语句 示例:插入带空值的行 4.1.1 最简单的Insert into语句 应用场景:插入特殊值 4.1.2 省略列表清单 应用场景:插入特殊日期值 4.1 添加数据:Insert into语句 添加数据:使用替换变量 4.1 添加数据:Insert into语句 4.1.3 Insert into语句与Select语句 4.1.3 Insert into语句与Select语句 添加数据:用一个子查询写Insert语句 4.1 添加数据 DBMS在执行插入语句时会检查所插元组是 否破坏表上已定义的完整性规则 实体完整性 参照完整性 用户定义的完整性 对于有NOT NULL约束的属性列是否提供了非空值 对于有UNIQUE约束的属性列是否提供了非重复值 对于有值域约束的属性列所提供的属性值是否在值域范围内 4.2 更新数据 更新数据:应用实例 4.2 更新数据 4.2 更新数据 SET子句 指定修改方式 要修改的列 修改后取值 WHERE子句 指定要修改的元组 缺省表示要修改表中的所有元组 4.2 更新数据 更新数据:更新表中行 4.2 更新数据 使用子查询更新数据:更新列 4.2 更新数据 使用子查询更新数据:更基于另一个表的行 4.2 更新数据:完整性检查 DBMS在执行修改语句时会检查修改操作 是否破坏表上已定义的完整性规则 实体完整性 主码不允许修改 用户定义的完整性 NOT NULL约束 UNIQUE约束 值域约束 4.3 删除数据 删除数据:从表中删除行 4.3.1 Delete 语句 4.3.1 Delete 语句 从表中删除行 4.3.1 Delete 语句 删除基于另一个表的行 4.3.2 Truncate 语句 4.3 Truncate 与Delete的区别 delete语句是DML,这个操作会放到rollback?segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发。 truncate是DDL,?操作立即生效,原数据不放到rollback?segment中,不能回滚。操作不触发trigger。 4.3 删除数据:完整性检查 DBMS在执行删除语句时会检查所删除元组是否破坏表上已定义的完整性规则 参照完整性 不允许删除 级联删除 4.4 SQL*Plus命令 P81:请自学完成 2008 * XMUT 2008 大型数据库技术 * 厦门理工学院计算机科学与技术系* 教 师: 陈 玉 明 E-Mail: ymchen@xmut.edu.cn INSERT [INTO] 表名 [列名] VALUES 值列表 注意:使用Insert into 语句一次只能添加一行数据 插入一个包含每一个列的新行 值以表中列的默认顺序列表 在Insert子句中字段可以随意排列 注意:字符和日期要用单引号括起来 省略列表清单是造成很多数据错误的可能原因,建议在开发中明确指定接收列,而不使用此法 插入日期类型的值 日期数据类型的默认格式为“DD-MON-RR” 使用日期的默认格式 使用TO_DATE函数转换 INSERT INTO my_table (date_col) VALUES (TO_DATE(2005-10-18, YYYY-MM-DD)); INSERT INTO order_master VALUES(o001, 12-5月-05, V002, c, 25-5月-05); INSERT INTO addresslist (`姓名` , `地址` ) SELECT Name,Address FROM person INSERT INTO 表
显示全部