魔乐科技Oracle笔记(超经典)--李兴华
JAVA开发实战经典-课后习题答案-李兴华
MLDN-魔乐科技李兴华Oracle教程学习笔记
Oracle的数据类型:加粗字体(ctrl+B)使用ctrl+/可以快速的弹出一个虚拟符号键盘:✏(alt + 9999)如果只想复制表的结构到另一张表,而不复制任何的数据,则可以使用一个永远查询不到结果的查询来执行;Create table empnull as select * from emp where 1=2;为表重命名:在oracle数据库中,所有的数据实际上都是通过数据字典保存的,例如:select * from tab;以上就是一个数据字典,而在oracle数据库中,提供了三种类型的数据字典,最常用的是dbo、user、所以下面查询一个user_tables数据字典;Select * from user_tables;也就是说oracle中的所有数据都是按照文件保存的,那么所有的内容都会在数据字典中注册,既然这样,修改表名称就相当于修改一条数据而已:Rename 旧的表名称 to 新的表名称;如果希望彻底释放掉一张表所占用的全部资源(表空间、索引等等)就可以使用截断表的语法,语法如下:Truncate table 表名称;在oracle10G中,为了防止用户的误删除表的操作,专门提供了回收站的功能,用户所删除的表默认情况下回在一个回收站之中保存,而用户也可以通过回收站进行表的恢复,所以此技术成为闪回(flashback);可以通过如下名称查看回收站中的表:Show RECYCLEBIN;ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME---------------- ------------------------------ ------------ ------------------- MEMBER BIN$r34Nm9OVRxqjy8Jwh1KWJw==$0 TABLE 2012-01-25:10:28:51可以通过如下的命令恢复别删除的表:FLASHBACK TABLE 表名称 TO BEFORE DROP;例如恢复上面的member表:Flashback table member TO before drop;当然呢,也可以直接删除掉回收站中的而一些数据表,语法如下:Purage table 表名称;比如删除回收站中的member表:Purge table member;SQL> purge table member;表已清除。
Logic标签
E-MAIL:mldnqa@
< logic:iterate>标签属性
No. 属性名称 EL支持 描述
1
2 3 4 5 6 7 8 9
collection
id indexId length name scope offset property type
√
× × √ √ √ √ √ √
直接设置一个集合对象
判断内容是否为空 —— empty.jsp
<%@ page language="java" pageEncoding="GBK"%> <%@ page import="java.util.*"%> <%@ taglib uri="/struts/bean" prefix="bean"%> <%@ taglib uri="/struts/html" prefix="html"%> <%@ taglib uri="/struts/logic" prefix="logic"%> <html:html lang="true"> <head> <title>,MLDN高端Java培训</title> </head> <body> <% // 设置一个request范围的属性 List<String> all = new ArrayList<String>() ;// 定义集合,里面不设置内容 request.setAttribute("all",all) ; %> <logic:empty name="all" scope="request"> <!-- 判断属性是否为空 --> <h3>集合的内容为空(长度为0)!</h3> </logic:empty> <logic:empty name="author" scope="request"> <!-- 判断属性是否为空 --> <h3>没有发现author属性!</h3> </logic:empty> </body> </html:html>
Oracle学习笔记
Oracle 入门学习笔记
4.3 分析函数 .................................................................................................... 17 第三章 分区表与锁 ................................................................................................ 17 1. 分区表的分类 ....................................................................................................... 17 2. 分区表的使用 ....................................................................................................... 17 3. 分区表的维护 ....................................................................................................... 20 4. 锁 ........................................................................................................................ 21 第四章 数据对象..............................................................................
java李兴华学习笔记之实例讲解
/** * 根据编号查询单条记录 * @param empno 雇员编号 * @return 一个对象,如果没有查询到返回null * @throws Exception 如果有异常交给被调用处处理 */
public Emp findById(int empno) throws Exception ; /**
flag = true ;
}
pstmt.close() ;
dbc.close();
return flag;
}
以上确实实现了具体的接口的操作,但是这种代码会存在以下问题:
· 危险性:因为本代码一旦出错之后数据库无法关闭。
· 代码结构:应该划分出代理主题和真实主题。代理负责数据库打开和关闭,并且调用真实主题。
*/
public boolean doUpdate(Emp emp) throws Exception;
/**
* 数据库的删除操作 * @param empno 要删除的编号 * @return 是否删除成功的标记 * @throws Exception 有异常交给被调用处处理
*/
public boolean doDelete(int empno) throws Exception;
*/
public int getAllCount(String keyWord) throws Exception ;
}
下面肯定要实现此标准,但是在实现此标准中有一个问题需要考虑了。
在进行 JDBC 的操作中,可以发现步骤如下:
1、 加载驱动程序
2、 取得数据库连接
3、 进行数据库操作
à 这个是操作的重点
3、代码开发
3.1、开发口诀
MLDN魔乐科技Oracle课堂笔记
MLDN 魔乐科技_Oracle 课堂笔记1. sqlplusw 命令(窗口形式),sqlplusw 不支持编辑,一般在编辑器(记事本)中编辑好了后拷贝进去执行用ed,或命令;2. descdesc [table name];查看表结构3. show user查看当前用户4. select table_name from tabs显示当前用户下的表名;5. set linesizeset linesize [number];6. set pagesizeset pagesize [number];7. eded 命令用来从sqlplusw 中打开编辑器来编辑文件(文本文件);8. @执行sql 文件@D:\a.txt;@d:\a ;(a 文件的扩展名为.sql)9. connconn username/pwd@ 实例名;10. sql标准,其功能:DML(数据操作语言),DDL (数据定义语言),DCL(数据控制语言)11. 别名Oracle 中指定列别名;(不要指定为中文);12. distinct去除重复记录;13. ||字符串连接符;select "我的名字是:" || name from t_user;14. NOT NULL/IS NULL选择列值不为空的记录where collumname IS NOT NULL; 相反IS NULL;15. BETWEEN …AND …WHERE COLUMENAME BETWEEN...AND...; 等价于>=,<=, 如果是在时间之前,则需将时间'' 起来;16.大小写oracle 中查询值是大小写区分的,但关键字不区分;17.InFieldName in ( 值1,值2,值3,... 值n);NOT IN;18. Like在使用Like 时常用的通配符:%,匹配任意长度内容,_,匹配一个长度内容例:select *from emp where ENAME Like '_M%'; 表示第二个字母为M 的名字.19. >,<,>=,<=,<>,!= 用法20.order byOrder by语句,放在SQL语句最后;desc(从大到小)/asc(从小到大)(默认)21.单行函数字符/数值/日期/转换/通用函数;(1) .字符:UPPER() 变大写,LOWER() 变小写,INITCAP() 将单词第一个字母大写; 字符长度LENGTH(), 字符串截取SUBSTR(), 字符串替换REPLACE()其中substr()的第二个参数即起始位置索引为0或1效果都是从第一个字符开始,负数是从右边开始;(2) . 数值:四舍五入ROUND(), 截取TRUNC(), 求模MOD();ROUND(23.45,2),TRUNC(23.45,-1),MOD(10,3);(3) .日期:MONTHS_BETWEEN(), 两个日期之间的月数;MONTHS_BETWEEN(DATE1,DATE2)ADD_MONTHS(), 下月的今天;NEXT_DAY(), 下一个的今天日期;LAST_DAY(), 给定日期的最后一天日期;(4) . 转换:TO_CHAR(),TO_NUMBER(),TO_DA TE();fm 去除前导0,例如:to_char(sysdate,'fmyyyy-mm-dd') 得出结果2009-1-2( 本应为2009-01-02).千位分隔符(格式字符用9 表示) ,货币前缀($ 美元,L 本地币种)to_char(123456,'$99,999') 美元to_char(123456,'L99,999') 本地币种(5) . 通用:如果有NULL 类型数据参与运算,必需用NVL() 转换成特定值再计算如:NVL(filed1,'O')DECODE() 函数,用于替换;DECODE(field/expression,1,"one",2,"two") 表示如果field/expression如果是1的话,则替换为one,是2的话替换为two;22.ORACLE 用户( 1 )超级管理员:sys/change_on_install;(2) 管理员:system/manager;(3) 普通用户:scott/tiger;23.左、右(外)连接默认左连接where a.field1(+) = b.field2"+" 在左边表示右连接,在右边表示左连接cross join 产生笛卡尔积;标准语法:select table1.*,table2.* from table1,table2 where table1.no=table2.no;24.sql1999select table1.*,table2.* from table1[cross join table2][natural join table2][join table2 using collumname][left|right|full outer join table2]on table1.collum1 = table2.collum2where 1=1 group by 分组条件having 分组条件order by...注:where 子句中不能带组函数;25.组函数(1) .count();(2) .max();(3) .min();(4) .sum();(5) .avg();26.分组统计group by27.子查询示例:select * from emp where sal > (select sal from emp where empno = 7654) 使用分类:单列(用得最多),单行,多行;子查询的三种操作:(1) in 在结果集之中;(2) any=any 即= ,>any 比最小值的要大的结果集,<any 比值最大的要小的结果集;(3) all>all,比最大的值要大,<all,比最小的值要小;格式:where field1 > all( 子查询)28.事务一个窗口一个会话,如没有提交互不影响;commit; 提交;rollback; 回滚;死锁,等待,一个session没有提交,其它session不能处理,要等待前一个session提交了再进行处理29. 子查询、外连接练习select e.job,count(e.empno)from emp e right outer join (select job from emp group by job having min(sal) > 1500) em on e.job = em.job group by e.job;select e.job,count(e.empno)from emp e ,(select job from emp group by job having min(sal) > 1500) em where e.job(+) = em.job group by e.job;select e.job,count(e.empno)from emp ewhere e.job in (select job from emp group by job having min(sal) > 1500) group by e.job;29.表的建立与删除Oracle 中的主要数据类型;varchar,varchar2 为255字符;number(m,n),---float,number(n) intdateclob,blog 4G(1) 复制表create table tablename as select * from emp;(2) 复制表结构(加永不成立的where 条件)create table tablename as select * from emp where 1==2;(3) 创建表create table tablename (字段 1 类型 1 default ' 默认值',字段 2 类型2,字段n 类型n)(4) 修改表删除表: drop table tablename;增加列:alter table tablename add(columnname 类型default ' 默认值',columnname 类型default ' 默认值')修改列:alter table tablename modify(columnname 类型default ' 默认值')修改列名:alter table rename column columnname to newcolumnname重命名表:rename tablenamel to tablename2;只能用于oracle截断表:tru ncate table table name;与delete类似,但直接释放,不能回滚;30. 约束的分类与使用作用:保证数据库中数据的完整性;分类:主键(PRIMARY KEY),唯一(UNIQUE),检查(CHECK),非空(NOT NULL),外键约束(FOREIGN KEY);其中,前四种约束为单表约束,外键约束为多表约束;通过constraint 指定约束:constraint person_pid_pk PRIMARY KEY(pid)constraint person_sex_ck CHECK(sex in (' 男','女'))外键:强制删除父表:一般是先删除子表,再删除父表,但技术上可以实现强制先删除父表(同时删除从表相关约束) :DROP TABLE tablename CASCADE CONSTRAINT;( 一般不使用) 强制删除从表数据:删除父表数据时,从表相应有约束的记录也删除, 需在创建表约束时这样处理:CONSTRAINT person_book_pid_fk FOREIGN KEY(pid) REFERENCES persion(pid) ON DELETE CASCADE示例:CREATE TABLE T_PARENT(ID NUMBER(10) PRIMARY KEY NOT NULL,NAME V ARCHAR2(10));CREATE TABLE T_CHIRLD(ID NUMBER(10) PRIMARY KEY NOT NULL,NAME V ARCHAR2(10),PARENT_ID NUMBER(10),CONSTRAINT CHIRLD_PARENT_FK FOREIGN KEY(PARENT_ID) REFERENCEST_PARENT ON DELETE CASCADE);增加约束:ALTER TABLE tablename ADD CONSTRAINT 约束名PRIMARY KEY(pid);示例:alter table T_CHIRLDadd constraint CHIRLD_PARENT_FK foreign key (PARENT_ID) references T_PARENT (ID) on delete cascade;修改约束:ALTER TABLE tablename MODIFY CONSTRAINT 约束名PRIMARY KEY(pid);字段名_PK,字段名_UK,字段名_CK,字段名_NK,从表字段名—父表字段名_FK 删除约束: ALTER TABLE tablename DROP CONSTRAINT 约束名;31. 表的关联查询:并(UNION),交(INTERSECT),差(MINUS)UNION: 将多个查询的结果组合到一个查询结果中,没有重复;UNION ALL: 将多个查询的结果组合到一个查询结果中,可以有重复;INTERSECT: 返回两个结果集的公共部分;MINUS: 返回两个结果集的差值;(左边表减右边表)示例:select * from emp UNION select * from emp2;32.ROWNUM 伪列的作用自动编号,存在于每一个查询中,使用情境:只想显示前五条记录,则只需加条件:ROWNUM <= 5; 常用于分页操作如果想取得中间记录的数据,不能用ROWNUM(BETWEEN AND), 只能用子查询: 例: 查出第五条到第十条记录;SELECT * FROM (SELECT ROWNUM rn,empno,ename,job FROM emp WHERE ROWNUM<=10)tempWHERE temp.rn>=5;33.序列的使用用途:用于自动增长;创建序列:CREATE SEQUENCE seqname[INCREMENT BY n][START WITH n] --START WITH 默认从1 开始;[{MAXV ALUE n|NOMAXV ALUE}][{MINV ALUE n|NOMINV ALUE}][{CYCLE|NOCYCEL}] [{CACHE|NOCACHE}] 示例:create sequence myseq;使用序列:insert into tablename (next,curr) values (myseq.nextval,myseq.currval);删除序列:DROP SEQUENCE seqname;34.视图创建语法:CREATE OR REPLACE VIEW 视图名称AS 子查询其中子查询是一个复杂的select 语句视图创建好后,可以作为一张表来查询使用;以上创建的视图可以执行UPDATE, 且可将原表进行修改;但实际应用用,视图是只读的,可以需要在创建视图的时候加上以下参数:WITH CHECK OPTION 不能更新视图条件字段,但能更新其它非条件字段;WITH READ ONL Y 表示只读,不能更新; 删除语法:DROP VIEW 视图名称;35.同义词,用户管理,权限分配与撤销,数据库的备份同义词(只适用于oracle):作用:通过同义词可访问不同用户下的表,例如,scott用户可以访问sys用户下的dual表;创建同义词:CREATE SYNONYM 同义词名称FOR 用户名.表名称;示例:create synonym emp for scott.emp;删除同义词:DROP SYNONYM 同义词名称;用户管理创建用户:CREATE USER 用户名IDENTIFIED BY 密码;为用户授权:GRANT 权限1,权限2,... TO 用户;示例将创建session的权限赋给testuser以使得其可以连接到数据库:GRANT CREATE SESSION TO testuser;赋予角色给用户testuser:GRANT CONNECT,RESOURCE TO testuser; 修改用户密码:ALTER USER 用户名IDENTIFIED BY 密码使用户密码失效ALTER USER 用户名PASSWORD EXPIRE;锁住用户:ALTER USER 用户名ACCOUNT LOCK;解锁用户:ALTER USER 用户名ACCOUNT UNLOCK;将某张表的读取, 删除权限赋给用户testuser:GRANT SELECT,DELETE ON scott.emp TO testuser;回收权限:REVOKEREVOKE 权限ON 用户.表名称FROM 用户;示例:REVOKE SELECT,DELETE ON scott.emp FROM testuser; 数据库的备份:导入导出命令EXP,IMP36.可变数组类似于嵌套表,一般开始过程中不用37.数据库设计范式第一范式:每一个字段不可再分;第二范式:实现多对多的关联;第三范式:实现一对多的关联;(用得最多90%以上的项目)注:以上三范式在设计数据库时仅作参考,数据库设计的维一原则是:表关联尽可能少,尽可能简单;SQL 37.嵌套表(ORACLE 特有,使用复杂,一般实际开发中不使用)在一个表中还包含另一个子表先定义类型.。
ORACLE 10g学习笔记(解决诸多oracle难题难点)
ORACLE 10g 笔记第一部分概述一、数据库通用语言·SQL*PLUS:提供报表功能及操作系统的接口. 对SQL语言功能的扩充·PL/SQL:过程化语言用于程序设计数据库基础部分。
.Oracle数据库系统结构与产品组成。
Oracle 7.3.4Oracle 8.0.6Oracle8i 8.1.7Oracle9i 9.2.0 国税系统使用I internetOracle10g 10.2.0 G—>GridOracle 11i 不是数据库软件·SQL语言:对于数据库进行操作关系型·数据分区表技术·Oracle权限管理二、程序设计·PL/SQL程序设计·存储过程(Procedure)、包(Package)、函数(Function)、数据库触发器(Database triggers) 集中存储:一张表存放在一个数据中一张表中,同一物理磁盘中分区存储:把一张表的数据分散存放到不同表空间中,可能存放在不同物理磁盘·动态SQL程序NDS三、Oracle10g数据库系统管理(Database Administrator)DBA·ORACLE核心软件的安装与产品升级Unix:SUN Solaris(两种总线:SPARC,x86) 中油、石化系统HP-UX Super DOMIBM AIX (银行系统)Tru-64 UNIX(电力系统)SCO UNIXLinuxSUN Fire v880 速度很慢.小故事:Order by 临时表空间NT/2000/xp (重新安装要修改注册表)安装资源要求:Oracle8i: 128M/1000MOracle9i 9.0.1: 256M/3.5GOracle9i 9.2.0: 512M/3.5GOracle10g 10.2.0: 256M~512M/2G win2000必须打sp1·创建数据库主要存储结构·权限与角色管理·数据库备份与恢复·数据库性能优化与调整·监视与控制用户对数据库的存取四、Web应用开发及Web服务器Oracle 10g Application Server(PL/SQL,J2EE)Oracle10g的安装1.选择安装方法·基本安装·高级安装(选此项,下一步)2.选择安装类型·企业版主要用于构造分布式数据库(选此项,下一步)·标准版·个人版·定制3.指定主目录(下一步)4.选择配置选项·创建数据库(选此项,下一步)·配置自动存储管理·仅安装数据库软件5.选择数据库配置·一般用途(选此项,下一步)·事务处理·数据仓库·高级6.指定数据库配置选项·数据库命名一般是name.domain(域名可以不要)不能同名·系统标示符SID 数据库实例名数据库名和实例名一般相同,可不同·数据库字符集:National Language Support NLS 民族语言支持中文三种ZHS16cgh231280 支持版本Oracle 7.3 以上只支持简体ZHS16gbk 支持版本Oracle 8.0以上简体繁体日韩ZHS32gh18030 支持版本Oracle 9i以上简体繁体日韩维藏下方□创建带样本方案的数据库(选中此项,下一步)7.数据库管理选项默认下一步8.指定数据库存储选项·文件系统(指定路经,下一步)·自动存储管理·裸设备9.指定备份和恢复选项选择不启用自动备份下一步10.指定数据库方案的口令选择所有的账户都使用同一个口令下一步11.选择安装方法基本安装下一步默认选择直到安装结束Oracle10g的删除1、删除Oracle注册表regedit →HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\2、删除Oracle服务regedit →Local Machine→System→CurrentControlSet→Services→ORA*3、删除Oracle事件日志regedit →Local Machine→System→CurrentControlSet→Services→Eventlog→Application→ORA*4、删除Windows安装磁盘\Program Files\Oracle目录\Program Files\Oracle5、删除菜单6、Oracle删除环境变量。
00100002_MLDN-魔乐科技-李兴华【Oracle数据库】_Oracle安装与卸载
1、课程名称Oracle安装与卸载2、参考图书《Oracle开发实战经典》3、视频下载/s/1o6yVybw4、笔记内容Oracle数据库如果要想安装请准备出5G空间,同时也要清楚一些常见的Oracle版本:·Oracle 8、Oracle 8i:其中“i”表示的是internet,表示Oracle开始向网络发展,1CD;·Oracle 9i:是Oracle 8i的稳定版,也是现在见到最多的版本、3CD;·Oracle 10g:表示Oracle开始基于网格计算推出的数据库,1CD;·Oracle 11g:是Oracle 10g稳定版,现在也算是最主流推广的版本,2G左右;·Oracle 12C:“C”表示的是云计算的概念,是现在的最新版本。
在本次讲课之中采用的是Oracle 11g版本,而不是Oracle 12C版,因为12C在进行初期学习的时候非常的麻烦。
而且最方便的是,oracle数据库可以直接从网上下载,使用的时候是免费的,即使你在项目之中没有花钱购买Oracle也不会算你使用盗版,但是千万别出错,一出错,没人管你。
在进行Oracle安装之前,必须注意一点:请将你本机的病毒防火墙关闭,同时将那个什么垃圾的360也关了。
对于Oracle而言,本身的软件提供的只是一个平台,而在这个平台之上才会进行数据库的管理,那么此时选择的是“创建和配置数据库”就表示在软件安装完成之后会自动的进入到一个新的数据库的创建和配置过程。
在进行Oracle安装的时候会询问用户安装的类型,默认的单机数据库选择的是“单实例数据库”,而对于RAC属于Oracle之中比较高级的数据库管理话题,有兴趣的话可以继续再花费2W块钱自己学习。
选择“高级安装”可以进入到一些数据库的基础配置界面。
本数据库之中所使用的语言提供有两种“简体中文”、“英语”。
本次选择安装的版本为“企业版”。
本次将Oracle数据库安装在了“D:\app\Teacher”由于在一开始选择了“创建数据库”,所以此时会询问用户要创建的数据库名称,将名称修改为“mldn”,同时可以发现有一个Oracle服务标识符(SID)跟数据库名称完全一样,其中SID为日后程序开发之中使用的服务编号,如果没有此编号,那么程序将无法进行数据库的连接,一般SID都和数据库名称保持一致。
JAVA笔记第一章-基础部分(李兴华网易云课堂)
1、j ava简介Java是现在最为流行的编程语言之一,也是拥有众多厂商支持的编程语言之一,同时Java已经成为了一个事实上的应用层开发的标准(基于业务的开发)。
其上所构建出来的框架也是最多的,发展的如此良好归结于一点:反射机制(所有框架的灵魂)。
Java语言的前身是在1991年开发出的OAK平台,最早是为一个GREEN的项目而设计的,此项目的核心意义在于利用email来控制家电产品运行,也就是最早所谓的物联网的概念。
当时SUN的工程师们原本打算使用C++进行开发,后来考虑到C++复杂性,于是以C++为基础开发出了一个OAK平台技术,所以Java是使用C++编写。
Java推出了Hot Java浏览器技术,并且获得了相当大的成功,所以Java最早的定位就是基于网络的。
后来Java经过了一些时间的沉淀,在1995年5月23日的时候正式推出了JDK 1.0,同时OAK被重新命名为Java,之后在1998年的时候,推出了JDK 1.2,同时将Java更名为Java 2,到了2005年十周年大会的时候,推出了JDK 1.5版本,或者称为Java SE 5.0,最新的版本是JDK 1.8,要想使用广泛,还需要至少3年。
Java是由最早的SUN(斯坦伏大学网络)开发的,SUN是一家从事于硬件生产的公司,而SUN最著名的代表作就是小型机,而最成功的应用是在amazon上进行的。
Amazon是一个在线商店,但是它自己也出版许多的技术图书。
现在amazon比较著名的服务就是云服务,像CIA也购买了amazon云服务,搭建的是一个私有云服务。
但是非常遗憾的是,SUN经历了世界的互联网低潮,低潮之后就一直没有重新站起来,在2009年的时候终于被Oracle收购了。
解释:关于Oracle收购SUN·企业平台架构:操作系统+ 数据库+ 中间件+ 编程语言;·微软的产品:Windows + SQL Server + IIS + .NET、Office;·Oracle的产品:UNIX + Oracle + OAS(收购BEA得到WebLogic)+ PL/SQL(收购SUN取得Java)、CRM、ERP;而Java技术的发展又有了几个分支:·J2SE(2005年之后更名为Java SE):提供了一些基础版本的支持;·J2EE(2005年之后更名为Java EE):提供了企业平台搭建,现在使用最广泛的架构;·J2ME(2005年之后更名为Java ME):提供了嵌入式开发的支持,但是却出生在了一个不好的时代,Nokia横行的时代,但是J2ME在哪个时候只能够作为游戏的出现。
oracle课堂笔记
9.数据库的备份和恢复
exp命令可以把数据从远程数据库服务器导出到本地的dmp文件
imp命令可以把dmp文件从本地导入到远处的数据库服务器中
10.表的创建
语法:
create table 表名(列名 数据类型 [default 默认值],列名2 数据类型,...);
修改表结构:
SERIALIZABLE:串行化。不允许任何并发事务问题。最严格的事务隔离性。
Oracle只支持READ COMMITTED和SERIALIZABLE。
默认为READ COMMITTED
设置一个事务的隔离级别
set transaction isolation level serializable
自动隐式提交事务:
执行一个DDL语句、执行一个DCL语句、从SQL*Plus正常退出(exit,quit)
自动隐式回滚事务:
强行退出SQL*Plus、客户端到服务器的连接异常中断MMIT;
回滚事务:ROLLBACK [TO 回滚点];
ALTER TABLE 表名
ADD [CONSTRAINT 约束名] 约束类型(要约束的列名);
ALTER TABLE 表名
ADD [CONSTRAINT 约束名]
FOREIGN KEY (要添加外键的列名)
REFERENCES 主表名(主表的某一列名);
设置事务回滚点:SAVEPOINT 回滚点;
5.事务的隔离级别
SQL标准定义了四种隔离级别:
READ UNCOMMITTED: 读未提交数据。脏读、不可重复读、幻读都可能发生。它的事务隔离性最低。
READ COMMITTED:读已提交数据。不允许脏读。
java李兴华学习笔记之JAVA SE基础部分
有的概念就通了。
2.2、本次预计讲解的知识点
1、 JAVA 的发展及环境的搭建配置; 2、 JAVA 中的主要数据类型及关键字; 3、 基本的运算操作符; 4、 程序的控制语句:循环、判断; 5、 方法及数组的使用。
3、具体内容
3.1、认识 Java(了解)
Java 是现在最流行的一种语言,而且在 Java 中完全的显示出了简单的特性,所以 java 语言足够简单。 Java 最早的时候是在 1991 年的 GREEN 项目诞生的,但是其原本的名字不叫 Java 而是称为 OAK(橡树),GREEN 的项目实际上就属于现在所提出的嵌入式的开发项目,通过 EMAIL 可以控制家电的工作。但是最早的时候 SUN 公司的设 计人员原本是使用 C++进行开发,但是由于其开发过于复杂了,所以使用了 C++开发出了一套新的平台 —— OAK。 可是遗憾的是 OAK 项目并没有中标,被网景公司的 SGL 平台所打败,那么很明显就意味着死亡,但是后来 SUN 公 司的人员开始向网景公司学习浏览器技术,后来产生了 HOTJava 的浏览器,之后并且在 1995 年的时候成功的将 OAK 更 名为 JAVA,推出了 JDK 1.0 和 Applet 程序。 PS:斯坦伏大学,本身造就了很多的人才:YAHOO 、HP。 JAVA 语言的发展经历了以下的几个重大的版本:
Oracle经典自学笔记(doc 34页)
Oracle经典自学笔记(doc 34页)一.验证Oracle已经安装完成了,首先得确认程序里有这些个选项,有四个选项:Oracle Installation Products、集成管理工具、配置和移植工具(管理员用得比较多)、应用程序开发。
Oracle也可以形成一种层次性的链接(Directory Manager),对于我们来说用得最多是sqlplus,而OLE 是一种面向对象的技术,利用这种技术可开发可重复使用的软件组件(COM),他是微软提出的,在用VB开发时可能要用,对于我们来说不须管。
当启动sqlplus时会提示输入用户名和口令,所谓的sqlplus是Oracle的一个客户端。
Oracle大多数命令都用命令来实现,所以比较难使,就如同unix比windows难使。
口令你输入tiger,建议就用它,因为以后去企业里Oracle 9i就是用的这个口令。
当你看到SQL>命令符时说明已经进入到了Oracle的命令行了。
图形版的sqlplus,命令行的sqlplus,还有一个就是通过网页访问Oracle的服务,启动sqlplus,端口号是5560,URL是录,它其实就是一个普通的dba用户,但是如果以as sysdba登录,其结果实际上它是作为sys 用户登录的,这一点类似Linux里面的sudo的感觉,从登录信息里面我们可以看出来。
sys用户必须以as sysdba或as sysoper形式登录。
然后输入命令alter user scott account unlock;它的意思是将Scott用户解锁,以后关于dba 的用到一个学一个,没必要从头到尾的去学它。
二.SQL语言是在数据库下进行操作的语言,它本身是一个标准语言,有国际标准。
有两套一个是SQL1992,SQL1999。
大多数数据库既支持旧的标准也支持新的,很多也是用的旧的SQL语言写程序的,对于我们来说新旧都要学,而且对大多数数据库系统来说都是通用的,只不过不同数据库有一个轻微的改变,这就是最郁闷的地方,没办法到时候查手册或google一下。
oracle精品笔记(53节完整版)名师手书
尚学堂马士兵老师oracle笔记(2008-10-30 10:17:39)第一课:客户端1. Sql Plus(客户端),命令行直接输入:sqlplus,然后按提示输入用户名,密码。
2. 从开始程序运行:sqlplus,是图形版的sqlplus.3. http://localhost:5560/isqlplusToad:管理,PlSql Developer:第二课:更改用户1. sqlplus sys/密码as sysdba2. alter user scott account unlock;(解锁账号)第三课:table structure(系统自带的表有emp、salgrade、dept、bonus、dual)1. 描述某一张表:desc 表名2. select * from 表名第四课:select 语句:1.计算数据可以用空表:比如:.select 2*3 from dual2.select ename,sal*12 annual_sal from emp;与select ename,sal*12 "annual sal" from emp;区别:加双引号保持原大小写,不加全变大写。
任何含有空值的数学表达式结果都为空值。
3. select ename || ‘abcd’|| 用来连接两个字符串如果连接字符串中含有单引号,用两个单引号代替一个单引号。
第五课:distinctselect deptno from emp;select distinct deptno from emp;select distinct deptno ,job from emp去掉deptno,job两者组合的重复。
更多的项,就是这么多项的组合的不重复组合。
第六课:Whereselect * from emp where deptno =10;select * from emp where deptno <>10;不等于10select * from emp where ename ='bike';select ename,sal from emp where sal between 800 and 1500 (>=800 and <=1500)空值处理:select ename,sal,comm from emp where comm is (not) null;select ename,sal,comm from emp where ename ( not)in ('smith','king','abc');模糊查询like :%代表任意数量的任意字符_代表一个任意字符select ename from emp where ename like '_A%';如果要查询含有%的,要用转义字符\转义字符可以自定义:escape '自定义的转义字符' 比如:select ename from emp where ename like '%$a%' escape '$';第七课: order byselect * from dept;默认按升序(asc)排列,要按降序(desc)用如下语句:select * from dept order by dept desc;select ename,sal,deptno from emp order by deptno asc,ename desc;第八课: sql function1:select ename,sal*12 annual_sal from empwhere ename not like '_A%' and sal>800order by sal desc;select lower(ename) from emp;select ename from empwhere lower(ename) like '_a%';等同于select ename from emp where ename like '_a%' or ename like '_A%';select substr(ename,2,3) from emp;从第二个字符开始截,一共截三个字符.select chr(65) from dual 结果为:Aselect ascii('a') from dual 结果为:65select round(23.652,1) from dual; 结果为: 23.7(第二个参数为指定四舍五入到哪位数)select round(23.652,-1) from dual; 20select to_char(sal,'$99,999,999') from emp;(用9就可以在没有数字的地方不显示,如果用0的话一定会用0填充满)select to_char(sal,'L99_999_999') from emp; L:代表本地符号这个需要掌握牢:select hiredate from emp;显示为:BIRTHDATE----------------17-12月-80----------------改为:select to_char(hiredate,'YYYY-MM-DD HH:MI:SS') from emp;显示:BIRTHDATE-------------------1980-12-17 12:00:00-------------------select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual; //也可以改为:HH12TO_CHAR(SYSDATE,'YY-------------------2007-02-25 14:46:14to_date函数:select ename,hiredate from emp where hiredate > to_date('1981-2-20 12:34:56','YYYY-MM-DD HH24:MI:SS');如果直接写birthdate>'1981-2-20 12:34:56'会出现格式不匹配,因为表中的格式为: DD-MM月-YY.select sal from emp where sal>888.88 无错.但select sal from emp where sal>$1,250,00;会出现无效字符错误.改为:select sal from emp where sal>to_number('$1.250.00','$9,999,99');把空值改为0select ename,sal*12+nvl(comm,0) from emp;作用:把comm为空的地方用0代替,这样可以防止comm为空时,sal*12相加也为空的情况.第九课: Group function 组函数(即从多行中得到一个输出)牢记组函数:max(), min(), avg(), sum(), count()select to_char(avg(sal),'99999999,99') from emp;select round(avg(sal),2) from emp;结果:2073.21select count(*) from emp where deptno=10;select count(ename) from emp where deptno=10; count某个字段,如果这个字段不为空就算一个.select count(distinct deptno) from emp;select sum(sal) from emp;第十课: Group by语句注意:count() 是计数不是空值的数量需求:现在想求每个部门的平均薪水.select avg(sal) from emp group by deptno;select deptno, avg(sal) from emp group by deptno;select deptno,job,max(sal) from emp group by deptno,job;求薪水值最高的人的名字.select ename,max(sal) from emp;出错,因为max只有一个值,但等于max值的人可能好几个,不能匹配.应如下求:select ename from emp where sal=(select max(sal) from emp);Group by语句应注意,出现在select中的字段,如果没出现在组函数中,必须出现在Group by语句中.第十一课: Having 对分组结果筛选Where是对单条纪录进行筛选,Having是对分组结果进行筛选.select avg(sal),deptno from empgroup by deptnohaving avg(sal)>2000;查询工资大于1200雇员,按部门编号进行分组,分组后平均薪水大于1500,按工薪倒充排列.select avg(sal) from empwhere sal>1200group by deptnohaving avg(sal)>1500order by avg(sal) desc;第十二课:子查询谁挣的钱最多(谁:这个人的名字, 钱最多)select 语句中嵌套select 语句,可以在where,from后.问那些人工资,在平均工资之上.select ename,sal from emp where sal>(select avg(sal) from emp);查找每个部门挣钱最多的那个人的名字.select ename ,deptno from emp where sal in (select max(sal) from ename group by deptno) 查询会多值.应该如下:把select max(sal),deptno from emp group by deptno;当成一个表.语句如下:select ename, sal from emp join(select max(sal) max_sal,deptno from emp groupby deptno) t on (emp.sal=t.max_sal and emp.deptno=t.deptno);每个部门的平均薪水的等级.分析:首先求平均薪水(当成表),把平均薪水和另外一张表连接.第十四课:self_table_connection把某个人的名字以及他的经理人的名字求出来(经理人及这个人在表中同处一行)分析:首先求出这个人的名字,取他的编号,然后从另一张表与其相对应编号,然后找到经理的名字.select e1.ename ,e2.ename from emp e1,emp e2 where e1.mgr= e2.empno.empno编号和MGR都是编号.第十15课: SQL1999_table_connectionsselect ename, dname,grade from emp e,dept d, salgrade swhere e.deptno = d.deptno and e.sal between s.losal and s.hisal andjob <> 'CLERK'有没有办法把过滤条件和连接条件分开来? 出于这样考虑,Sql1999标准推出来了.有许多人用的还是旧的语法,所以得看懂这种语句.select ename,dname from emp,dept;(旧标准).select ename,dname from emp cross join dept;(1999标准)select ename,dname from emp,dept where emp.deptno=dept.deptno (旧)select ename,dname from emp join dept on(emp.deptno = dept.deptno); 1999标准.没有Where语句.select ename,dname from emp join dept using(deptno);等同上句,但不推荐使用.select ename,grade from emp e join salgrade s on(e.sal between s.losal and s.hisal);join 连接语句, on过滤条件。
Oracle 10g数据库培训学习经典笔记(ppt 30页)
1.数据库备份. 数据库备份是对数据库的物理结构文件,包括数据文件,日志文件和
控制文件的操作系统备份,这是物理的操作系统备份方法,这种备份方法 对每一个数据库来说都是必需的。操作系统备份有完全数据库及部分数据 库备份,其中,部分数据库备份在数据库恢复需要数据库前一段运行时产 生归档的日志的支持
(3) 修改数据库控制文件
* 新增/移动一个数据库控制文件 SQL>select name from v$controlfile; SQL> create pfile from spfile 生成初参文件 SQL> shutdown immediate $cp control03.ctl control04.ctl 新增一个控制文件 $mv control03.ctl ../controlbak.ctl 移动/更名一个控制文件 $vi init$ORACLE_SID.ora 修改初参文件 SQL> startup pfile=‘$ORACLE_HOME/dbs/init$ORACLE_SID.ora' SQL>select name from v$controlfile; SQL> create spfile from pfile;
1.确认数据库的归档方式可以查询数据字典v$database; SQL>select dbid 标识号,name 数据库名,created 创建时间,log_mode 归档模式 from v$database;
也可以使用sql*plus显示数据库归档模式: $sqlplus / as sysdba SQL>archive log list;
1 .参数文件备份与恢复。 参数文件名及路径:
oracle10G读书笔记
1.oracle 服务器=oracle 实例+oracle 数据库2.oracle 实例=共享内存区域(sga)+后台进程或线程(主要进程dbwn ,lgwr,ckpt ,arch,pmon,smon)3.oracle 数据库即一系列的os文件,主要的文件有数据文件,日志文件和控制文件。
4.其他文件:参数文件和口令文件5.其它进程: 高级队列,RAC,共享服务器,高级复制,Oracle server运行环境:1.Client – application server – server : 客户端通过应用服务器访问oracle2.Client – server : 客户端直接通过网络访问服务器3.Host—base : 客户端和服务器位于一台机器上Oracle 服务器的两大重要组成部分:一。
Oracle 实例1.oracle instance 由共享内存结构和后台进程(windows 下线程)组成,用来管理数据库2.实例与数据库的关系一个时刻,一个实例有且仅能mount一个数据库,而一个数据库可以由多个实例来管理(例如9i以前的ops,以及9i以后的rac,都是可以一个数据库对应多个实例)4.区别实例和数据库实例就是共享内存结构+后台进程(线程)数据库就是一系列的os文件连接到oracle 实例用户连接实例的过程:1.用户打开一个客户端工具,如sqlplus,oracle forms.2.用户进程登陆到服务器,oracle服务器为用户进程开启一个服务器进程(这个应该是指独占服务器模式下,共享服务器模式下用户进程不会直接连接到服务器进程而是连接到调度器,如果存在空闲的服务器进程,调度器就将用户的请求传递给服务器进程),服务器进程代表用户进程于oracle 实例通信以及执行sql语句。
Connection:用户进程和服务器的一个通路,建立连接的三种方式1.客户端和服务器位于一台机器上,通过interprocess建立connection2.客户端和通过网络连接到oracle 服务器,这也就是常见的cs结构3.客户端通过网络连接到应用服务器,应用服务器再通过网络连接oracle服务器,这就是常说的三层结构。
oracle10g新特性中文笔记(Oracle10g新特性中文笔记)
oracle 10g新特性中文笔记(Oracle 10g新特性中文笔记)Chapter 1 installation targetComplete this lesson and you will be able to:* list new installation features*list mounting performance increasesInstall new features support*database storage options-file system-automatic storage management (ASM)-bare equipment*database management options-Enterprise Manager grid controller-enterprise manager database controller*database backup and recovery options * email notification options^cluster ready services * cloningOracle 10g reports on the following new installation features:Configure to use oracleasmInstall and configure the new enterprise manager (EM) frameworkIf you choose to use the Oracle Enterprise Manager database controller, you can have the option to configure the default backup policy recommended by OracleIf the Oracle Enterprise Manager database controller you use when installed, you can configure em to send a warning to you know the email address. These warnings include disk space to a non normal or close database boundaries serious.RAC's enhanced. 10g installation supports new features of RAC, especially the installation of Cluster ready servicesOracle's homes can be cloned using the enterprise configuration management tool that comes with grid controlInstallation performance enhancementMemory requirements-no database controller instance 256MDisk requirements-1G swap partition (or two times of Ram)-there's room for 400m in the /tmp directory-Oracle Software is about 0. 5g to 2. 5G-1.2g configurable database (optional)2.4G flashback area (optional)-reduce the total size of the installed database-removed the old optionFully installed, about 20minJust one CDSee the necessary conditions before installationCheck to see if there is enough temporary space -64 bit and 32 bit problems Check the correct OS -check PS's patchSystem packageSystem / kernel parameters -x server license-enough room for change -non empty oracle_home Miscellaneous mounting reinforcementThe sys and system passwords only need to be entered once Clean reverse installationNo documents leftAll files outside -oracle home are clearedRegistry records in -windows are clearedThere are specific 0C4J requirementsThe bidsableStartMenu variable is supported by ISVCD pack contentCompanion CDOracle 9iAS infrastructure CD Oracle Database 10g client Oracle Enterprise manger CD Oracle documentation 10g CD Oracle, database, 10g, demos, CD Companion CD yesHTML DBWorkflowOHSSqlj, jpublisherContext knowledgeLegato Storage Manager ExamplesManagement optionsIf you choose to create the boot database when you install, you can see many screens asking you to configure the following information for the boot databasenameDatabase character setSchema sampleDatabase managementFile storage optionsThe file system stores the files on the OS file system you configureThe ASm ASM file is automatically created and configured, and you can get additional benefits such as mirror orientation, striping, and so onBare device (partition), with no disk partitions on the filesystemBackup and restore optionsWhen installing, you will be prompted for automatic backupPasswordWhen you install, you can set the same password for all users, or you can set them for yourselfThe second chapter server configurationAfter completing this chapter, you will be able to:Describes the functional support of Oracle 10g after using DBCA to install the databaseA subset of initialization parameters is also used to simplify instance configurationInstall sample schema from DBCA (optional)View database usage statistics from OEMStrengthening of DBCADBCA provides fast, fully functional, and ready to use databases for Oracle standards:Automatically create sysaux helper table spacesThe application of flash back, and set the flash backup and recovery strategyOut-of-the-box management databaseAutomatic statistical collectionAutomatic LDAP registrationOracle 10g in order to simplify the future self management activities, the introduction of a number of properties improved. This improvement includes the common architecture of load information and to optimize the performance of the monitoring tools to store all auxiliary metadata and work. These improvements are completely DBCA support and application.The new system belongs to the sysaux table space for all there is no auxiliary database metadata system table space provides a centralized location. It reduces the number ofMoore create table space, both the seed database or user defined database. Dbca now automatically configure the default flashback area, which is the need to restore the files and database the unified storage location for the. Oem database operations, event subsystem is now automatic configuration, reducing the need for manual installation. A new embedding and completely self managing database capture workload information and statistical performance related, thus reducing the cost of the new directory management. Dbca configuration to reduce the need to use the network the API configuration of Idap. ora.Simplified seed databaseSimplified initialization parameters-reduce the sizeOptional installation of sample schemaManaging ASM for automatic storage of disk storage Now the Oracle database configuration easier. Dba only need to pay attention to a few parameters. The parameters are divided into two groups, the basic and advanced parameters. In most cases, in order to get reasonable performance, you need to set or modify the basic parameters, they probably have 20~25. You can configure the ASM DBCA now, the establishment of for Oracle database files and file system and volume instrument longitudinal integration, in order to conventional and Rac environment.Managing with a database controllerIn the DBCA on the screen, you can set up your database using the grid controller or database controller. When you run DBCA, it is to determine the Oracle management agency has been installed on this computer. If there is, you can select from the drop-down box Oracle management service and the grid control option to the central management when. When you complete the installation, the service as the management goal is to start automatically.If you are not the central management of your Oracle environment, you can still use em to manage your database. Em database control when you install the database, automatically install. You can use the DB provided by control based on the characteristics of web to monitor, manage your installed single instance or cluster database. You can also be equipped with EM SysMan users to receive email notifications, when metric to a serious or warning.When you choose DB control,You can also configure the daily backup to the recovery area.SYSAUX and DBCADBCA supports the creation of sysaux table space by forceOn the database storage page, sysaux is the original tablespace folder, and you can change the database file and storage parameters of sysaux by clicking the storage label or the corresponding sysaux entry in the datafile folderData file and storage parameters have default values. But when you click on the finish, DBCA and other seed database will create database events together to create the sysaux table space and its schema, all sysaux table space.Using the enterprise managerstart default console0s> emctl start dbconsoleAccess database controllerHttp://hostname:5500/emTo provide sys/passwd as sysdba;You need to access the EM database controller from a client browser, you must run the dbconsole process. After installation, the dbconsole process is automatically started. Then, if this integration does not start, you can ask the following command to start it manually:1.to $ORACLE HOME/bin directory2.execute the following command: emctl start dbconsoleThen you can open the web browser and enter the following URL - ortnumber/em "TARGET=_blank>http://hostnameortnumber/em”To access EM DB control.Host then your computer's name or address. Portnumber is the port number of EM DB control HTTP, which was specified at the time of installationThe default is 5500, and you can find this value in the$ORACLE_HOME/install/portlist. ini fileIf the instance is started, EM displays the DB control login page. You must log in to the database using the user who authorized access to the DB control. It started with sys users,Use the password of the sys user you identified at the time of installation. Select SYSDBA from the connect as drop-down box and log on. This will appear on the home page of the DB controlDatabase cloneAfter your successful configuration adjustment and testing of new examples, you might need to clone database to an existing Oracle home. EM clone database, you can use the wizard to complete the cloning. To clone a database, you can go to the cloning of the maintenance of the database page, and then click clone in the deployment database. The clone database tool has the following features:The clone database can come from 8.1.7 or later versionsYou can clone when the source database is openThe backup data file, put it to the specified copy Oracle home, and then through the backup of the database file archiving and restore the database to create a new database. The source database is a new database to start the backup as like as two peas.Create a new database instance, password file, set up network file, configure initialization parameter file and SPFILE according to the source instance configuration, then start new instance to open mode under the specified Oracle homeThe clone database tool uses RMAN to complete database cloningMetal ink integrationOEM 10G greatly simplifies installation of patches through built-in metalink integration, and. Em automatically warns you that critical updates and systems need to specify patch annotations. You can use EM patchThe wizard see which temporary patch can be installed. You can also use the patch wizard to select patches and view your system needs this patch. You can see the details of the patch has been readme, directly from the EM follow the steps below to access the patch WizardOneSelect the maintenance tag on the DB control home page2. in the lower deployments areaThe third chapter is loading and unloading datatargetComplete this lesson, and you will:*transmit table space on different platforms*understand the overall structure of the data pump*monitoring data pump operations*using data pumps for import and export*creating external tables for population of data * define surface attributesCross platform transportable table spaceSimplify data distribution between data warehouses and data martsAllows the database to be ported from one platform to anotherSupported platform (omitted)Transportable table spaces across platformsIn previous versions of Oracle, the characteristics of the transportable table space allowed table spaces to migrate between the same architecture and the operating systemThe characteristics of Oracle 10g further let you use transportable tablespaces, transmission platform. This simplified from the data warehouse to distribute data between the supermarket, the supermarket is usually run on the small platform. It also allows the database through the re establishment of the data dictionary and the transmission of the user table space from a platform transfer to another platform.In order to transfer data files from one platform to another, you need to ensure that the source and target systems are running on a supported platform, and that the number of supported platforms is not large...The same character set is requiredMinimum compatibilityBoth source and destination databases must set compatible to 10. 0. 0 or higherThe data file header is platform dependentBefore transmission, make sure that all read-only and offline files are platform - relatedThe two must be the 10g database: read-only and offline means file headers with no log and checkpoint numbersThe process of transmitting tablespaceFrom a platform transfer table space to another platform, the tablespace data file must be converted to the source and the target database can recognize the format. While in 10g, the disk structure meets the common format, but with different high and low in the source and target database is also possible. When you want to transfer to when high and low the different platforms, you need to use the RMAN convert command to convert the high low. This operation can be performed in the target database source can also do.If the high and low levels of the platform are the same, then there is no need to do the conversion. Basically, the process is more consistent than before, unless the platform uses different high and low levelsView the high and low platformsSelect tp.endian_formatFrom v$transportable_platform tp,V$database DWhere tp. platform_name = d. platform_name;Data file conversion: examples (omitted)CLOB exceptionWhen converting high and low places, the CLOB column is skippedChange when you selectYou can use the create table as select to do the conversionChange in dynamic performance viewV$database---------------> PLATFORM_IDPLATFORM_NAMEENDIAN_FORMATV$transportable_platformData pump overviewHigh speed data and metadata server tools modestlyStructure through dbms datapumb callsProvides new areas of export and import tools: expdb, impdb, and web page interfaces Contains the full functionality of the original exp/impData pump general architectureDIRECT PATH API (DPAPI): 10g supports the direct path API interface,This will reduce data conversion and parse time during transshipment and uninstallAppearance services: data pumps use new ORACLE DATAPUMP access drivers, allowing external reads and writes to include binary stream filesThe DBMS METADATA package is used by the worker process to load and unload all metadata. The definition of the database object is stored in XML rather than sql.The DBMSDATAPUMP package contains api. for batch data and metadata migration, high-speed import and export toolsThe Sql*loader client has been integrated into the exterior so that it provides automatic migration of loader control files for external access parametersThe expdp and impdp clients are thin clients that initialize and monitor data pump operations by calling the dbmsdatapump package. Today they introduced new features that are still compatible with the previous exp and impLike DB control, replication, transmission table space and user applications can benefit from the architecture of this. Sqlplus may be to simply query the status of the ongoing operation of the dbms_datapump client providesData pump export import overviewFailure to submit as a background job can continue. Each user has only one process, and data is written to the master tableThe data pump export import tool is a new tool for 10G, although they are similar to the previous exp/imp, but they are separate productsData pump export is a tool for uninstalling data and metadata into an operating system file called the dump file set. The data pump import is used to import metadata and data from the dump file set into the target systemThe data pump API accesses its files at the server side rather than at the clientThese tools can also be used to export data in remote databases, or directly from the source database into the target database. This is the network pattern, which is generally useful inimporting data to read-only databasesAt the core of each data pump operation is the master table (Master, table), the table created when the user runs the data pump job. The main table maintains all the convenience of the jobBased on the export documents, the main table is established, wrote dump file in the last step. On the contrary, the main table into the current user,s schema is the first step of the import operation based on the file, also used to create all of the object to be imported in order.The main table is deleted when the data pump operation is completed normallyThe benefits of data pump import and exportData access methodDirect pathappearanceSeparating and reconnecting to long-running jobsRestart the data pump jobFineness object selectionThe specified version of the displayParallel operations (Enterprise Edition)Estimating export job space consumptionNetwork model in a step by step environmentCalculate the tolerance when importingThe data pump automatically determines how the data is accessed. These can be either direct or externalDoes not affect the operation can be separated or re connected to the long running job can keep you from multiple places to monitor operation. All data can stop pump operation in case of missing data restart, although the original enough information isstill not affected. Whether this job is voluntary or not because of the affection of the stop error have Never mind.The exclude, include, and content parameters are used in fineness object screeningYou can create the dump file set for the object you want to move, knowing the version parameters, so that you will be more compatible with the previous version of Oracle to support the data pump. This parameter is reserved for later versionsYou can also use the parallel parameter to specify the maximum number of job server processes to represent the export in the specified activityYou can also use the estimateonly parameter to estimate how much space the export job will consumeThe network mode allows you to export directly from the remote database to the dump file set, which can be connected to the source database through the databaseIn import fit, you can change the names of target data files, schema, and tablespaceOverview of overall implementationThe client process calls the data pump API. Once the job is started, the client does not need it. Multiple clients can connect or disconnect this job for monitoring or princess workAs for the client login to the Oracle database, you create a shadow process. It is the data pump API request service. When is suitable for dbms_datapump. open requests, shadow create jobs, this work mainly includes the creation of master tables created for various communication process AQ objects, create the main control process. Once the operation, the main task shadow usually includes receiving getstatus requests forcustomers. If the client is disconnected, shadow will not.The master control process controls the execution and sequence of the data pump. It maintains the status of the job, the description of the job, the restart of the main table, and the information about the dump file. This process is called DMnn.After receiving the request to startjob, the main process is based on the value of the parallel parameter to create a lot of work process. Working process of the implementation of MCP is requested to work, home is the loading and unloading of metadata and data. The name is DWnn. processIf the appearance path is the access method for loading and unloading data, the worker process coordinates many parallel server processes based on loading and unloading jobs, making it possible to load and unload within partitionsThe data pump direct path needs to be consideredFineness access control tables are available in insert and select modesThe lob class has a domain indexNow there is a watch for clusteredThe global index of the partitioned table has a single partition for loadingColumns of BFILE or opacity typeReferential integrity constraintThere are varray columns embedded with transparent typesThe data pump supports two access accesses to row data on the tableDirect path using direct path API appearanceThe data pump automatically selects the most appropriate access method for each tableWhen a table structure permits it and expects the largest single flow performance, the data pump uses the direct path to load and unload dataThen, if the above condition appears, or the table contains encrypted columns, or the imported table partitions differently when loading and unloading, the data pump moves data using appearance instead of direct pathData pump file locationThere are three types of data pump filesDump filelog filesql filesAbsolute path is not supportedYou must use the Oracle path objectFile priorityPer-file pathDirectory parameterDatapump dir environment variablesThe dump file contains the data and metadata to be migratedThe log file records the information associated with this operationThe SQL file records the output of the sqlfile operationBecause the data pump is server based rather than client-side, the data pump file accesses the relative path of the oracle. For security reasons, the absolute path is not supportedThe per-file path object must be specified for each dump file, the log file, and the SQL file. They are separated by colonsThe data pump imports and exports the client to specify directory objects through the directory parameter. These path objects describe the location of the file to accessYou can define the environment variable data_pump_dir, specify the directory object name instead of the directory parameter。
李兴华的java开发实战经典习题附带答案
Java开发实战经典课后答案第三章第一题:打印1~1000范围内的水仙花数,水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
第四题:判断三个数同时能被3、5、7整除第五题:分别利用while循环、do…while 循环和for循环求出100~200的累加第六题:编写程序,求13-23+33-44+……973-983+993-1003的值第十题:求1~1000之间能同时被3、5、7整除的数并统计一共有多少个数字第十一题:编程求:1!+2!+3!……20!的值第十二题:使用for循环打印一下图案第四章:第一题:编写程序求1!+2!+……+30!的和并显示,要求用方法完成。
第二题:定义一个由整数组成的数组,统计其中奇数和偶数的个数:第三题:现在有如下的数组int oldArr[]={2,3,5,0,7,0,5,9,4,0,23,0},将其中不为0的值存入一个新的数组,新生成的数组为:int oldArr[]={2,3,5,7,5,9,4,23}第四题:一定一个整型数组,求出数组元素的和,数组元素的最大值和最小值,并输出所求的结果。
第五题:给出10个整型数,然后任意查询一个数字是否存在该10个数字之内第六题:定义一个包含10个元素的数组,对其进行赋值,使每个元素的值等于其下标,然后输出,最后将这个数组倒置(即首尾交换)后输出:第八题:有30个0~9之间的数,分别统计0~9这10个数分别出现了多少次?第九题:定义一个整型数组,保存10个数据,利用程序完成将最大值保存在数组中第一个元素的操作。
第十题:在排序好的数组中添加一个数字,将添加后的数字插入到合适的位置。
第十一题:3、现在给出两个数组:•数组A:“1,7,9,11,13,15,17,19:;•数组b:“2,4,6,8,10”两个数组合并为数组c,按升序排列。
第五章:第三题:编写程序统计出字符串“want you to know one thing”中字母n和字母o出现的②将“知通团队 JAVA”中的JAVA替换成 J2EE使用正则表达式的方法:第九题:声明一个图书类,其数据成员为:书名,编号,(利用静态变量实现自动编号)、书价,并拥有静态数据成员册数,记录图书的总册数,在构造方法中利用此静态变量为对象的脑,如果没有新的电脑产生,则等待新的电脑产生才能搬运,如果电脑没有搬走,则不能生第一题:定义一个StringBuffer类对象,然后通过append()方法向对象中添加26个小写字母,要求每次只能添加一个,共添加26次,然后按照逆序的方式输出,并可以删除前5个字符第三题:输入一个Email地址,然后使用正则表达式判断其是否正确。
魔乐科技李兴华老师oracle学习笔记 phyni
第一次1、Oracle安装及基本命令1.1、Orace简介Oracleso一个生产中间件和数据库的较大生产商。
其发展依靠了IBM公司。
创始人是Larry Ellison。
1.2、Oracle的安装1) Oracle的主要版本Oracle 8;Oracle 8i;i,指的是InternetOracle 9i;相比Oracle8i比较类似Oracle 10g;g,表示网格技术所谓网格技术,拿百度搜索为例,现在我们需要搜索一款叫做“EditPlus”的文本编辑器软件,当我们在百度搜索框中输入“EditPlus”进行搜索时,会得到百度为我们搜索到的大量关于它的链接,此时,我们考虑一个问题,如果在我所处的网络环境周边的某个地方的服务器就提供这款软件的下载(也就是说提供一个下载链接供我们下载),那么,我们就没必要去访问一个远在地球对面的某个角落的服务器去下载这款软件。
如此一来就可以节省大量的网络资源。
使用网格技术就能解决这种问题。
我们将整个网络划分为若干个网格,也就是说每一个使用网络的用户,均存在于某一个网格,当我们需要搜索指定资源时,首先在我们所处的网格中查找是否存在指定资源,没有的话就扩大搜索范围,到更大的网格中进行查找,直到查找到为止。
2)安装Oracle的准备工作关闭防火墙,以免影响数据库的正常安装。
3)安装Oralce的注意事项为了后期的开发和学习,我们将所有数据库默认账户的口令设置为统一口令的,方便管理和使用。
在点击“安装”后,数据库相关参数设置完成,其安装工作正式开始,在完成安装时,不要急着去点击“确定”按钮,这时候,我们需要进行一个非常重要的操作——账户解锁。
因为在Oracle 中默认有一个叫做scott的账户,该账户中默认有4张表,并且存有相应的数据,所以,为了方便我们学习Oracle数据库,我们可以充分利用scott这个内置账户。
但是奇怪的是,在安装Oracle数据库的时候,scott默认是锁住的,所以在使用该账户之前,我们就需要对其进行解锁操作。
魔乐在线Oracle笔记超经典
图表 1多表查询的基本语法查一张以上的表,就叫做多表查询例子:查询出雇员名称,部门名称和部门所在地的(一般多表查询要用别名)统计记录数:查询emp有多少条纪录左右连接(重点)select e.empno,e.ename,d.deptno,d.dname,d.locfromemp e,dept d where e.deptno=d.deptno;部门一共四个,这里只查询出三个,因为在雇员表中没有指定40部门的雇员,所以在消除笛卡尔乘机的时候没有条件符合40,如果喜欢40部门显示出来,就要用左右连接了。
select e.empno,e.ename,d.deptno,d.dname,d.locfromemp e,dept d where e.deptno(+)=d.deptno;(+)在左边,表示以右边的表为准,表示右链接。
40部门出来了,所以此时就用到了有连接,证明以下规律(.+.)在左表示右连接........(.+.)在右表示左连接.........SQL:1999对SQL的支持(了解)范例:交叉连接(cross join)产生笛卡尔积select * from empt CROSS JOIN dept;查询结果产生笛卡尔积CREATE TABLE EMP10 AS SELECT * FROM EMP WHERE DEPTNO=10; select * from emp NATURAL JOIN dept; 自动进行匹配范例:USING子句,直接关联的操作列select * from emp e JOIN dept d USING (deptno) where deptno=30;把两张表的详细信息进行打印输出范例:ON子句自己编写连接条件select * from emp e JOIN dept d ON (e.deptno=d.deptno) where e.deptno=30;范例:左连接(左外连接)右连接(右外连接)LEFT JOIN RIGHT JOIN 组函数和分组统计(重点)组函数在SQL常用组函数有如下几个:COUNT()求全部记录数MAX()求最大记录数MIN()求最小记录数A VG()平均SUM()求和分组统计GROUP BYselect deptno,COUNT(empno) from emp GROUP BY deptno;算出部门表的平均工资:select A VG(sal) from emp ;算出每个部门的平均工资:Select deptno,A VG(sal) from emp ;之所以会出现这个错误是因为数据库不知道怎样在结果集中处理deptno列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
连接符||图表 1多表查询的基本语法查一张以上的表,就叫做多表查询例子:查询出雇员名称,部门名称和部门所在地的(一般多表查询要用别名)统计记录数:查询emp有多少条纪录左右连接(重点)select e.empno,e.ename,d.deptno,d.dname,d.locfromemp e,dept d where e.deptno=d.deptno;部门一共四个,这里只查询出三个,因为在雇员表中没有指定40部门的雇员,所以在消除笛卡尔乘机的时候没有条件符合40,如果喜欢40部门显示出来,就要用左右连接了。
select e.empno,e.ename,d.deptno,d.dname,d.locfromemp e,dept d where e.deptno(+)=d.deptno;(+)在左边,表示以右边的表为准,表示右链接。
40部门出来了,所以此时就用到了有连接,证明以下规律(.+.)在左表示右连接........(.+.)在右表示左连接.........SQL:1999对SQL的支持(了解)范例:交叉连接(cross join)产生笛卡尔积select * from empt CROSS JOIN dept;查询结果产生笛卡尔积CREATE TABLE EMP10 AS SELECT * FROM EMP WHERE DEPTNO=10; select * from emp NATURAL JOIN dept; 自动进行匹配范例:USING子句,直接关联的操作列select * from emp e JOIN dept d USING (deptno) where deptno=30;把两张表的详细信息进行打印输出范例:ON子句自己编写连接条件select * from emp e JOIN dept d ON (e.deptno=d.deptno) where e.deptno=30;范例:左连接(左外连接)右连接(右外连接)LEFT JOIN RIGHT JOIN 组函数和分组统计(重点)组函数在SQL常用组函数有如下几个:COUNT()求全部记录数MAX()求最大记录数MIN()求最小记录数A VG()平均SUM()求和分组统计GROUP BYselect deptno,COUNT(empno) from emp GROUP BY deptno;算出部门表的平均工资:select A VG(sal) from emp ;算出每个部门的平均工资:Select deptno,A VG(sal) from emp ;之所以会出现这个错误是因为数据库不知道怎样在结果集中处理deptno列。
考虑一下:这个查询既试图使用AVG聚合函数对多行记录进行操作,却又试图从每行中获得deptno列的值;这两个操作是不可能同时完成的。
此时必须提供一个GROUP BY子句告诉数据库将deptno列相同的行分组在一起,然后数据库就可以将这些组中的行传递给AVG函数。
警告:如果查询中包含聚合函数,而所选择的列并不在聚合函数中,那么这些列就必须在GROUP BY子句中。
按部门分组,并显示部门名称,以及部门员工数select d.dname,count(e.empno) from dept d,emp ewhere d.deptno=e.deptnoGROUP BY d.dname;要求查出平均工资大于2000的部门编号和平均工资select deptno,A VG(sal) from emp WHERE A VG(sal) >2000 GROUP BY deptno;之所以会出现这个错误是因为W H E R E子句只能用来对单行而不是行组进行过滤。
要过滤行组,可以使用HA VING子句。
范例:显示非销售人员工作名称以及从事同一工作雇员的月工资的总和,并且要满足从事同一工作的雇员的月工资合计大于¥5000。
输出结果按月工资的合计升序排列1.显示全部的非销售人员:job<>’SALESMAN’select * from emp where job<>'salesman';2.按工作分组同时求出工资的总和Select job,SUM(sal) from emp WHERE job<>’SALESMAN’ GROUP BY job;3.对分组条件进行限制Select job,SUM(sal) from emp WHERE job<>’SALESMAN’GROUP BY job HA VING SUM(sal)>5000;4.使用排序,按升序排列Select job,SUM(sal) su from emp WHERE job<>’SALESMAN’GROUP BY job HA VING SUM(sal)>5000 order by su;分组的简单原则:只要一列上存在重复的内容才考虑用分组注意:分组函数可以嵌套使用,但是在组函数嵌套的时候不能再出现分组条件的查询语句范例:求出平均工资最高的部门错误代码:Select deptno,MAX(AVG(sal)) from emp GROUP BY deptno;Select MAX(A VG(sal)) from emp GROUP BY deptno;(正确)子查询范例:要求查询出比7654工资高的全部雇员信息首先:要知道7654雇员的工资是多少然后:以此查询结果为查询依据,只要其他工资大于sal,则表示符合条件首先:查询出比7654工资高的全部雇员信息select * from emp where sal>(select sal from emp where empno=7654);其次:与7788工作一样Select job from emp where empno=7788所以:select * from emp where sal>(select sal from emp where empno=7654) and job= (Select job from emp where empno=7788);;数据库更新操作数据库的主要操作分为两种:1..数据库的查询操作SELECT2..数据库的更新操作uUPDA TE,DELETE,INSERT此时为了保存原始的emp表的信息,在进行更新删除插入表前先将表复制一份Create table myemp AS select * from emp;此时数据已经复制出来添加数据Insert into emp(empno,ename,job,hiredate,sal ,deptno)Values (7899,’张三’,’清洁工’,’20-2月-2000’,9000, 40);使用简略写法(并不推荐),因为现在是要添加所有字段的内容,所以可以不写上任何字段名称,只要值的数量和顺序和数据库表中的顺序一致。
Insert into myemp values(7899,’张三’,’清洁工’,9000, 40);之前插入数据的时候,日期的格式是使用了表中固定好的格式,如果现在有这样一个日期”2009-10-10”日期格式,那么现在如何把这种格式的日期插入进去呢?使用TO_DATE()函数,将一个字符串类型的数据变为DATE类型的数据。
Insert into myemp(empno,ename,job,hiredate,sal ,deptno)Values (7899,’张三’,’清洁工’,TO_DA TE(‘2009-07-19’,’yyyy-mm-dd’),9000, 40);修改数据UPDATE 表名称set 要修改的字段=新值,要修改的字段=新值….;UPDATE 表名称set 要修改的字段=新值,要修改的字段=新值…WHERE 修改条件.;修改数据删除全部: DELETE FROM 表名称局部删除: DELETE FROM 表名称WHERE 删除条件;事物处理范例:创建一张只包含10部分雇员的一张临时表CREATE TABLE EMP10 AS SELECT * FROM EMP WHERE DEPTNO=10;打开一个oracle终端,进行删除操作DELETE FROM EMP10 WHERE SAL=2450;显示已经删除然后再打开另外一个oracle终端,查询到sal=2450这条数据还在,证明这条数据并没有被删除,这就是oracle事务的概念。
事务处理: 就是保证数据操作的完整性,所有的操作要么同时成功要么同时失败。
在ORACLE中对每一个连接到数据库中的窗口,都会与数据库建立一个Session。
一个Session对数据库所做得修改不会马上反应到数据库的真实数据之上。
是允许回滚的,当一个Session提交所有操作之后,数据库才真正做出修改。
进行同样的删除操作DELETE FROM EMP10 WHERE SAL=2450;结果它停住了,等待第一个终端操作结束再动。
----》这就是ORACLE死锁提交事务:COMMIT回滚:RoolbackORACLE常用命令查看所有表select table_name from user_tables;显示表结构describe nchar_tst(nchar_tst为表名)查询练习1.列出至少有一个员工的所有部门信息第一步: 列出所有部门的员工数量Select deptno ,count(empno) from emp group by deptno;第二步:列出员工大于1的部门Select deptno ,count(empno) from emp group by deptno HA VING COUNT(empno)>1;第三步:通过多表关联查,把子查询做为一个查询出来select d.*,ed.couFROM dept d,(SELECT deptno,COUNT(empno) cou FROM empGROUP BY deptno HA VING COUNT(empno)>1) edWHERE d.depno=ed.deptno ;2.列出薪金比SMITH多的所有员工第一步:求出SMITH的工资SELECT sal FROM EMP WHERE ENAME=’SMITH’;第二步:select ename from emp where sal>( SELECT sal FROM EMP WHERE ENAME=’SMITH’);3 列出所有员工姓名及其直接上级的姓名此程序属于自身关联查询SELECT e.ename, d.ename FROM emp e ,emp d where e.mgr=d.empno;4. 列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称自身关联,查找mgr=empno的同时还要比较Hiredate第一步:SELECT e.empno,e.enameFROM emp e, emp m WHERE e.mgr=m.empno AND e.hiredate<m.hiredate;第二步:SELECT e1.empno,e1.ename,d.dnameFROM(SELECT e.empno,e.enameFROM emp e, emp m WHERE e.mgr=m.empno AND e.hiredate<m.hiredate) e1,dept d WHERE e1.deptno=d.deptno;ORA-00904 invalid identifier这个错误是因为字段名写错了检查下字段名,发现e1表的查询结果没有deptno字段,所以报错了!SELECT e1.empno,e1.ename,d.dnameFROM(SELECT e.empno,e.ename,e.deptnoFROM emp e, emp m WHERE e.mgr=m.empno AND e.hiredate<m.hiredate) e1,dept d WHERE e1.deptno=d.deptno;李兴华给出的标准答案是:SELECT e.empno,e.ename,d.dname FROM emp e, emp m, dept dWHERE e.mgr=m.empno AND e.hiredate<m.hiredate AND e.deptno=d.deptno;5. 列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门左右关联问题SELECT d.deptno,d.dname,e.ename,e.empnoFROM dept d, emp eWHERE d.deptno=e.deptno(+);查询结构少了40部门的信息,用连接操作SELECT d.deptno,d.dname,e.ename,e.empnoFROM dept d, emp eWHERE d.deptno=e.deptno(+);6. 列出所有”CLERK”(办事员)的姓名及部门名称, 部门的人数2.入手第一步:在emp表中查询出职位job为CLERK所在的部门名称(dept表)、○2…..SELECT e.ename ,d.dname FROM dept d,emp e WHERE e.job=’CLERK’ANDe.deptno=d.deptno ;3.部门人数肯定要用分组查询,如果是分组查询肯定要用GROUP BY,而上面的语句明显不能用GROUP BY了,因为查询字段太多。