提交:COMMIT
回滚:ROLLBACK
1、插入数据
1、1手动插入
insert: 插入
例:
INSERT INTO table [(column [, column...])]
VALUES (value [, value...]);
1、2拷贝别的表的数据
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: 更新
例: 把emp1表中,12号的工资改为1200
UPDATE emp1
SET salary= 1200
where id=12;
没有过滤条件where 就会把所有数据都修改了,
例:更新 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 departments
WHERE department_name = 'Finance';
使用where条件限制,否则就全部删除了。
例:
从emp1表中删除dept1部门名称中含Public字符的部门id
DELETE FROM emp1
WHERE department_id =
(SELECT department_id
FROM dept1
WHERE department_name LIKE '%Public%');
4、数据库事务
事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。
4、1数据库事务由以下的部分组成:
一个或多个DML 语句
一个 DDL(Data Definition Language – 数据定义语言) 语句
一个 DCL(Data Control Language – 数据控制语言) 语句
4、2事务的开始和结束
以第一个 DML 语句的执行作为开始
以下面的其中之一作为结束:
- COMMIT 或 ROLLBACK 语句
- DDL 语句(自动提交)
- 用户会话正常结束
- 系统异常终止
5、事务进程
自动提交在以下情况中执行:
DDL 语句。
DCL 语句。
不使用 COMMIT 或 ROLLBACK 语句提交或回滚,正常结束会话。
会话异常结束或系统异常会导致自动回滚。
6、提交或回滚前的数据状态
- 改变前的数据状态是可以恢复的
- 执行 DML 操作的用户可以通过 SELECT 语句查询之前的修正
- 其他用户不能看到当前用户所做的改变,直到当前用户结束事务。
- DML语句所涉及到的行被锁定, 其他用户不能操作。