一.事物
1.定义:是指作为单个逻辑工作单元执行的一组相关操作。这些操作要求全部完成或者全部不完成;
2.作用:使用事务是为了保证数据的安全有效;
3.特点:1》原子性 2》隔离性 3》一致性 4》持久性;
4.事务的开启: DML语句增删改执行时候自动开启事务;
5.事务的结束:1》成功: commit;执行ddl和dcl语句;正常关闭客户端;2》失败:rollback;非法退出;
6.update 表名 set 字段=值 [,…] where 过滤行记录;
7.只拷贝结构:create table 表名 as select 字段列表 from 已有表 where 1!=1;
二.数据截断和序列
1.数据截断与delete区别:首先都可以实现数据的删除;delete可以删除全部也可以删除满足条件的一段数据;能够自动开启事务; 删除主表数据是否有被从表数据引用->如果有,3中解决方案:1》先删除从表引用数据,在删主表数据;2》设置主外键的时候,在后面添加on delete set null ;3》on delete cascade 级联删除从表引用数据;truncate是删除全部数据;不会开启事务;直接检查表结构上是否有被从表关联;
2.序列 :没有与表与字段绑定,删除序列,对以前的使用不造成影响;
3.语句:create sequence 序列名 start with 起始值 increment by 步长;序列名.currval 获取序列工具的当前盒子;序列名.nextval 获取序列工具所表示的最新值(下一个值);第一次使用序列工具 序列名.nextval;
三.JDBC
1.java链接数据库:加载驱动;获取连接;准备sql;创建处理块;获取结果,处理结果集;关闭资源;
- 加载驱动:把驱动加载到内存,方法边后续使用 oracle.jdbc.driver.OracleDriver;
3.获取连接:例如: Connection connection = DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:XE”, “SCOTT”,“TIGER”);
4.准备sql:例如:String sql = “select empno,ename from emp”;
5.创建处理块 (sql语句,并且获取结果集):例如:Statement state = connection.createStatement();
6.发送sql:例如: ResultSet set = state.executeQuery(sql);
7.获取结果,处理结果集;
8.释放资源;
9.优化jdbc:1》异常捕获;2》数据库的连接信息(驱动,url,username,userpwd),定义在配置文件中,实现软编码