第8节数据处理

上传人:无*** 文档编号:163936260 上传时间:2022-10-23 格式:PPT 页数:34 大小:1.82MB
收藏 版权申诉 举报 下载
第8节数据处理_第1页
第1页 / 共34页
第8节数据处理_第2页
第2页 / 共34页
第8节数据处理_第3页
第3页 / 共34页
资源描述:

《第8节数据处理》由会员分享,可在线阅读,更多相关《第8节数据处理(34页珍藏版)》请在装配图网上搜索。

1、第第8 8节节数数 据据 处处 理理讲师:宋红康讲师:宋红康 新浪微博:尚硅谷新浪微博:尚硅谷-宋红康宋红康目目 标标通过本章学习,您将可以:使用 DML 语句 向表中插入数据 更新表中数据 从表中删除数据 控制事务数据操纵语言数据操纵语言 DML(Data Manipulation Language 数据操纵语言)可以在下列条件下执行:向表中插入数据 修改现存数据 删除现存数据 事务是由完成若干项工作的DML语句组成的插入数据插入数据DEPARTMENTS 新行新行向向 DEPARTMENTS 表中插入新的记录表中插入新的记录INSERT 语句语法语句语法 使用 INSERT 语句向表中插入

2、数据。使用这种语法一次只能向表中插入一条一条数据。INSERT INTOtable(column,column.)VALUES(value,value.);插入数据插入数据为每一列添加一个新值。按列的默认顺序列出各个列的值。在 INSERT 子句中随意列出列名和他们的值。字符和日期型数据应包含在字符和日期型数据应包含在单引号单引号中中。INSERT INTO departments(department_id,department_name,manager_id,location_id)VALUES (70,Public Relations,100,1700);1 row created.IN

3、SERT INTO employees(employee_id,last_name,email,hire_date,job_id)VALUES (300,Tom,to_date(2012-3-21,yyyy-mm-dd),SA_RAP);1 row created.INSERT INTOdepartmentsVALUES(100,Finance,NULL,NULL);INSERT INTOdepartments(department_id,department_name )VALUES(30,Purchasing);向表中插入空值向表中插入空值隐式方式:在列名表中省略该列的值。显示方式:在VA

4、LUES 子句中指定空值。INSERT INTO employees(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)VALUES (113,Louis,Popp,LPOPP,515.124.4567,SYSDATE,AC_ACCOUNT,6900,NULL,205,100);插入指定的值插入指定的值SYSDATE 记录当前系统的日期和时间。INSERT INTO employeesVALUES (114,Den

5、,Raphealy,DRAPHEAL,515.127.4561,TO_DATE(FEB 3,1999,MON DD,YYYY),AC_ACCOUNT,11000,NULL,100,30);插入指定的值插入指定的值 加入新员工 检查插入的数据INSERT INTO departments (department_id,department_name,location_id)VALUES (&department_id,&department_name,&location);创建脚本创建脚本 在SQL 语句中使用&变量指定列值。&变量放在VALUES子句中。在 INSERT 语句中加入子查询。不必

6、书写不必书写 VALUES 子句。子句。子查询中的值列表应与 INSERT 子句中的列名对应INSERT INTO sales_reps(id,name,salary,commission_pct)SELECT employee_id,last_name,salary,commission_pctFROM employeesWHERE job_id LIKE%REP%;从其它表中拷贝数据从其它表中拷贝数据INSERT INTO emp2 SELECT*FROM employeesWHERE department_id=90;更新数据更新数据EMPLOYEES更新更新 EMPLOYEES 表表U

7、PDATE 语句语法语句语法 使用 UPDATE 语句更新数据。可以一次更新多条多条数据。UPDATEtableSETcolumn=value,column=value,.WHERE condition;UPDATE employeesSET department_id=70WHERE employee_id=113;使用 WHERE 子句指定需要更新的数据。如果省略 WHERE 子句,则表中的所有数据都将被更新。更新数据更新数据UPDATE copy_empSET department_id=110;UPDATE employeesSET job_id =(SELECT job_id FRO

8、M employees WHERE employee_id=205),salary =(SELECT salary FROM employees WHERE employee_id=205)WHERE employee_id =114;在在 UPDATE 语句中使用子查询语句中使用子查询题目:更新题目:更新 114114号员工的工作和工资使其与号员工的工作和工资使其与205205号员工号员工 相同。相同。UPDATE copy_empSET department_id =(SELECT department_id FROM employees WHERE employee_id=100)WHE

9、RE job_id =(SELECT job_id FROM employees WHERE employee_id=200);在在 UPDATE 语句中使用子查询语句中使用子查询在 UPDATE 中使用子查询,使更新基于另一个表中的数据。题目:调整与题目:调整与employee_id 为为200的员工的员工job_id相同的员工的相同的员工的department_id为为employee_id为为100的员工的的员工的department_id。UPDATE employees *ERROR at line 1:ORA-02291:integrity constraint(HR.EMP_DE

10、PT_FK)violated-parent key not foundUPDATE employeesSET department_id=55WHERE department_id=110;更新中的数据完整性错误更新中的数据完整性错误不存在 55 号部门另例:update employees set manager_id=299 where employee_id=203;从表从表DEPARTMENTS 中删除一条记录。中删除一条记录。删除数据删除数据 DEPARTMENTS DELETE 语句语句使用 DELETE 语句从表中删除数据。DELETE FROM tableWHERE condi

11、tion;使用 WHERE 子句删除指定的记录。如果省略 WHERE 子句,则表中的全部数据将被删除删除数据删除数据 DELETE FROM departments WHERE department_name=Finance;DELETE FROM copy_emp;DELETE FROM emp1WHERE department_id=(SELECT department_id FROM dept1 WHERE department_name LIKE%Public%);在在 DELETE 中使用子查询中使用子查询在 DELETE 中使用子查询,使删除基于另一个表中的数据。题目:从题目:从e

12、mp1表中删除表中删除dept1部门名称中含部门名称中含Public字符的部门字符的部门id删除中的数据完整性错误删除中的数据完整性错误DELETE FROM departmentsWHERE department_id=60;DELETE FROM departments *ERROR at line 1:ORA-02292:integrity constraint(HR.EMP_DEPT_FK)violated-child record foundYou cannot delete a row that contains a primary key that is used as a fo

13、reign key in another table.数据库事务数据库事务 事务:事务:一组逻辑操作单元一组逻辑操作单元,使数据从一种状态变换到另使数据从一种状态变换到另一种状态一种状态。数据库事务由以下的部分组成:一个或多个一个或多个DML 语句语句 一个 DDL(Data Definition Language 数据定义语言)语句 一个 DCL(Data Control Language 数据控制语言)语句数据库事务数据库事务 以第一个 DML 语句的执行作为开始 以下面的其中之一作为结束:COMMIT 或或 ROLLBACK 语句语句 DDL 语句(自动提交自动提交)用户会话正常结束 系

14、统异常终止COMMIT和和ROLLBACK语句的优点语句的优点使用COMMIT 和 ROLLBACK语句,我们可以:确保数据完整性。数据改变被提交之前预览。将逻辑上相关的操作分组。控制事务控制事务保存点保存点 B保存点保存点 ADELETEINSERTUPDATEINSERTCOMMITTime 事务事务ROLLBACK to SAVEPOINT BROLLBACK to SAVEPOINT AROLLBACKUPDATE.SAVEPOINT update_done;INSERT.ROLLBACK TO update_done;回滚到保留点回滚到保留点使用 SAVEPOINT 语句在当前事务中

15、创建保存点。使用 ROLLBACK TO SAVEPOINT 语句回滚到创建的保存点。自动提交在以下情况中执行:DDL 语句。DCL 语句。不使用 COMMIT 或 ROLLBACK 语句提交或回滚,正常结束会话。会话异常结束或系统异常会导致自动回滚。事务进程事务进程提交或回滚前的数据状态提交或回滚前的数据状态 改变前的数据状态是可以恢复的 执行 DML 操作的用户可以通过 SELECT 语句查询之前的修正 其他用户不能看到当前用户所做的改变,直到当前用户其他用户不能看到当前用户所做的改变,直到当前用户结束事务。结束事务。DML语句所涉及到的行被锁定,语句所涉及到的行被锁定,其他用户不能操作其

16、他用户不能操作。提交后的数据状态提交后的数据状态 数据的改变已经被保存到数据库中。改变前的数据已经丢失。所有用户可以看到结果。锁被释放锁被释放,其他用户可以操作涉及到的数据。其他用户可以操作涉及到的数据。所有保存点被释放。COMMIT;改变数据 提交改变DELETE FROM employeesINSERT INTO departments VALUES(290,Corporate Tax,NULL,1700);提交数据提交数据数据回滚后的状态数据回滚后的状态使用 ROLLBACK 语句可使数据变化失效:数据改变被取消。修改前的数据状态被恢复。锁被释放。DELETE FROM copy_emp;ROLLBACK;总总 结结功能功能插入插入修正修正删除删除提交提交保存点保存点回滚回滚语句语句INSERTUPDATEDELETECOMMITSAVEPOINTROLLBACK通过本章学习通过本章学习,您应学会如何使用您应学会如何使用DMLDML语句改变数据和事务控制语句改变数据和事务控制

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!