![18447c3e22a3a6718cb0a65bbc103844.png](https://img-blog.csdnimg.cn/img_convert/18447c3e22a3a6718cb0a65bbc103844.png)
DML
insert关键字
作用:往表中插入一条(多条)数据
语法1:元祖值式的插入
语法1:
insert into tablename(column1,column2,...,columnN) values(value1,value2,...,valueN);
例:
insert into emp(empno,ename,sal,deptno) values(9526,'hua%an',100,40);
语法2:查询结果式的插入
语法2:
insert into tablename sub-query
例:
insert into emp_temp (select * from emp where deptno = 20);
delete关键字
作用:从表中删除数据
语法:
delete [from] tablename [where condition]
例:(指定删与全删)
delete emp_temp where empno =9528;
delete emp_temp;
update关键字
作用:更新表中的数据
语法:
update tablename set column1=value1,column2=value2,...,columnN=valueN [where condition]
例:
update emp_temp set sal = sal*1.2 where ename = 'SMITH';
事务
事务(Transaction)是一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位。
目的:保证数据库的完整性
特点:事务不能嵌套
如何开启事务:
一个DML语句(insert、delete、update)的执行
如何关闭事务:
1.显示的调用commit或rollback
例:转账
update emp_temp set sal = sal - 500 where ename='JONES';
update emp temp set sal = sal + 500 where ename=’SMITH‘;
commit;
rollback;
2.当执行DDL(Create、Alter、Drop)语句事务自动提交
例:
update emp_temp set sal = sal - 500 where ename='JONES';
update emp temp set sal = sal + 500 where ename=’SMITH‘;
create table aaa(id number,name varchar2(20));
3.用户正常断开连接时,事务自动提交。
例:
update emp_temp set sal = sal - 500 where ename='JONES';
update emp temp set sal = sal + 500 where ename='SMITH';
4.系统崩溃或断电时事务自动回滚
例:
update emp_temp set sal = sal - 500 where ename='JONES';
update emp temp set sal = sal + 500 where ename='SMITH';
saveoiubt存档,回到某个点
insert into emp_temp(empno,ename) values(1111,'cai10');
insert into emp_temp(empno,ename) values(2222,'cai20');
savepoint spl;
insert into emp_temp(empno,ename) values(3333,'cai30');
insert into emp_temp(empno,ename) values(4444,'cai40');
rollback to spl;
事务的四个特性:ACID
原子性(Atomicity):一个事务的操作语句,要么都成功,要么都不成功。
2.一致性(Consistency):每个人看到的数据都是相同的。
3.隔离性(Isolation):在事务或工作单元执行完毕之前,其所访问的数据不能受系统其他部分的影响。
4.持久性(Durability):持久性表示在某个事务的执行过程中,对数据所作的所有改动都必须在事务成功结束前保存至某种物理存储设备
序列
一、概念:
序列(sequence):oracle专有的专有对象
二、作用:
产生一个自动递增的数列
三、创建一个序列:
create sequence seq_emp_temp
increment by 1
start with 1;
四、使用序列:
序列名.nextval
select seq _emp _temp.nextval from dual;
insert into emp_temp(empno) values(seq_emp_temp.nextval)
select * from emp_temp;
序列名.currval
select seq _emp _temp.currval from dual;
insert into emp_temp(empno) values(seq_emp_temp.currval)
select * from emp_temp;
视图
一、定义:
视图(view):一种不占用物理空间的虚表。
二、作用:
将一些查询复杂的SQL语句变为视图,便于查询
三、语法:
create [or replace] view v$_name
as sub-query
[with read only]
四、需要注意的点:
1.视图也可以从视图中产生
2.我们把用于产生视图的表称之为基表
3.我们对视图进行数据修改就是对基表进行数据修改,反之亦然
4.不能对多张表的数据,通过视图进行修改。
五、使用视图需要注意
1.一般来讲,只有重复出现非常多次的SQL语句,才会创建视图
2.数据库迁移,视图也得随之迁移,否则在新数据中是不能用的
3.创建视图时,尽量不要带or replace
数据类型分类:
1.number(x,y) 数字类型,x表示最大长度,y表示精度
2.varchar2(x) 可变字符串,x表示最大长度
3.char(x) 定长字符串,x表示最大长度
4.long 长字符串,最大2G
5.Date,日期(年月日时分秒)
6.TIMESTAMP 时间戳,精确到微秒
要掌握oracle数据类型,在java中的对应数据类型
oracle中数据类型对应java类型 - 沧海一滴 - 博客园www.cnblogs.com