数据处理是指使用sql的DDL语句,对表中的数据进行增删改查。
1. 插入操作
INSERT INTO table [(column [, column...])] VALUES (value [, value...]);
1.1 向表中插入空值
1.1.1 隐式方式:在列名表中省略该字段
INSERT INTO departments (department_id, department_name ) VALUES (30, 'Purchasing');
1.1.2 显示方式:在values子句中执行null值
INSERT INTO departments VALUES (100, 'Finance', NULL, NULL);
1.2 插入指定的值
--记录当前系统的时间和日期 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);
1.3 从其他表中拷贝
--不必书写 VALUES 子句。 --子查询中的值列表应与 INSERT 子句中的列名对应 INSERT INTO emp2 SELECT * FROM employees WHERE department_id = 90; INSERT INTO sales_reps(id, name, salary, commission_pct) SELECT employee_id, last_name, salary, commission_pct FROM employees WHERE job_id LIKE '%REP%';
2. 更新数据
UPDATE table SET column = value [, column = value, ...] [WHERE condition];
2.1 在update中使用子查询
--更新 114号员工的工作和工资使其与205号员工 相同 UPDATE employees SET job_id = (SELECT job_id FROM employees WHERE employee_id = 205), salary = (SELECT salary FROM employees WHERE employee_id = 205) WHERE employee_id = 114;
3. 删除语句
DELETE FROM table [WHERE condition];
3.1 在delete中使用子查询
--从emp1表中删除dept1部门名称中含Public字符的部门id DELETE FROM emp1 WHERE department_id = (SELECT department_id FROM dept1 WHERE department_name LIKE '%Public%');
4. 数据库事物
事物是一组逻辑操作单元,使数据从一种状态变成另外一种状态;
数据库事物由一个或者多个DML语句,一个DDL语句,一个DCL语句组成,以第一个DDL语句作为开始,以commit或者rollback语句、ddl语句、用户会话正常结束、异常异常终止作为结束。
使用commit或rollback可以确保数据的完整性,数据改变被提交之前预览、将逻辑上相关的操作分组。
参考文档:尚硅谷