Oracle(七)-------------------------处理数据

Create table 表名 as select * from emp;
相当于把emp表又重新本分了一份
数据控制语言:
DML(Data Manipulation Language – 数据操作语言) 可以在下列条件下执行:
•	向表中插入数据
•	修改现存数据
•	删除现存数据
事务是由完成若干项工作的DML语句组成的
Insert语句语法:
使用 INSERT 语句向表中插入数据。
使用这种语法一次只能向表中插入一条数据
插入数据:
为每一列添加一个新值。
按列的默认顺序列出各个列的值。 
在 INSERT 子句中随意列出列名和他们的值。
字符和日期型数据应包含在单引号中。
Insert into 表名(column, column1, column2…) values (value, value1, value2………)
每次执行只能插入一条语句 
insert into emps values(xx,xx,xx,xx…….);  按照顺序全写上
插完了要手动提交一下  commit;
SQL> insert into aaa (empno,ename) values (7936,'haha');
SQL> commit;
插入指定的值:
SYSDATE 记录当前系统的日期和时间。
SQL> insert into aaa (empno,hiredate) values (7936,sysdate);
创建脚本:
在SQL 语句中使用 & 变量指定列值。
& 变量放在VALUES子句中。
insert into aaa (empno,ename) values (&empno,&ename)
SQL> /
输入 empno 的值:  7939
输入 ename 的值:  'Marry'
原值    1: insert into aaa (empno,ename) values (&empno,&ename)
新值    1: insert into aaa (empno,ename) values (7939,'Marry')

从其它表中拷贝数据:
在 INSERT 语句中可以加入子查询。 
不必书写 VALUES 子句。 
子查询中的值列表应于 INSERT 子句中的列名对应
SQL> insert into aaa (empno,ename) select empno,ename from emp where ename like '%A%';

更新数据:
使用 UPDATE 语句更新数据。
可以一次更新多条数据。
SQL> update aaa set ename='Bob' where empno=7936;
记得也要手动提交一下啊
使用 WHERE 子句指定需要更新的数据。
如果省略WHERE子句,则表中的所有数据都将被更新。
在update语句中还可以使用子查询
删除数据:
使用 DELETE 语句从表中删除数据。
使用WHERE 子句指定删除的记录
SQL> delete from aaa where empno=7936;
已删除2行。
如果省略WHERE子句,则表中的全部数据将被删除
SQL> delete from aaa;
已删除21行。

数据库事务:
数据库事务由以下的部分组成:
一个或多个DML 语句
一个 DDL(Data Definition Language – 数据定义语言) 语句
一个 DCL(Data Control Language – 数据控制语言) 语句
以第一个 DML 语句的执行作为开始
以下面的其中之一作为结束:
COMMIT 或 ROLLBACK 语句
DDL 或 DCL 语句(自动提交)
用户会话正常结束
系统异常终了
COMMIT和ROLLBACK语句的优点
使用COMMIT 和 ROLLBACK语句,我们可以: 
确保数据完整性。
数据改变被提交之前预览。
将逻辑上相关的操作分组。
控制事务
滚到保留点
使用 SAVEPOINT 语句在当前事务中创建保存点。
使用 ROLLBACK TO SAVEPOINT 语句回滚到创建的保存点。

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

数据回滚后的状态:
使用 ROLLBACK 语句可使数据变化失效:
数据改变被取消。
修改前的数据状态被恢复。
锁被释放

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值