尚学堂-马士兵Oracle笔记———吐血整理
oracle 笔记
oracle 笔记Oracle是一种关系数据库管理系统,由Oracle Corporation开发。
以下是关于Oracle的一些笔记:1. 数据库架构:Oracle数据库有两个主要的架构:逻辑架构和物理架构。
逻辑架构包括了数据库对象(表、索引、视图等)以及用户和角色的定义。
物理架构指的是数据在磁盘上的存储方式。
2. 数据库对象:Oracle数据库中的主要对象包括表、索引、视图、触发器、存储过程等。
表是最基本的对象,用于存储数据。
索引用于加快表的查询速度。
视图是一种虚拟表,通过查询一个或多个表返回结果。
触发器是一种在表上定义的操作,当满足某些条件时触发。
存储过程是一段可重复使用的程序代码,用于完成特定的任务。
3. SQL语言:Oracle数据库使用SQL(Structured Query Language)进行数据库操作。
SQL语言包括数据查询语句(SELECT)、数据操作语句(INSERT、UPDATE、DELETE)以及数据定义语句(CREATE、ALTER、DROP)等。
4. 数据库管理:Oracle提供了一套完整的数据库管理工具,包括创建数据库、备份和恢复数据库、监控数据库性能等。
其中,Oracle Enterprise Manager是一个图形化界面的管理工具,可以通过它来管理和监控整个数据库系统。
5. 数据完整性:Oracle数据库通过约束条件来确保数据的完整性。
主键、外键、唯一约束、非空约束等都可以用于限制数据的输入。
此外,还可以使用触发器和存储过程来定义自定义的数据完整性规则。
6. 事务管理:Oracle数据库使用ACID(原子性、一致性、隔离性、持久性)模型来管理事务。
事务是一系列数据库操作的逻辑执行单元,要么全部执行成功,要么全部回滚。
这些只是Oracle数据库的一些基本概念和特点,还有很多其他的内容,如高可用性、性能优化、安全性等。
如果想要深入了解Oracle数据库,可以参考相关的文档和教程。
oracle 笔记
oracle 笔记摘要:一、Oracle 简介1.Oracle 的发展历程2.Oracle 的产品和服务二、Oracle 数据库的基本概念1.数据库管理系统2.关系型数据库3.Oracle 数据库的结构三、Oracle 数据库的安装与配置1.安装Oracle 数据库的前提条件2.安装过程及注意事项3.配置Oracle 数据库四、Oracle 数据库的管理1.数据库的启动与关闭2.数据库的备份与恢复3.用户与权限管理五、SQL 语言基础1.SQL 简介2.SELECT 查询语句3.INSERT、UPDATE 和DELETE 操作语句六、PL/SQL 编程1.PL/SQL简介2.存储过程与函数3.触发器与异常处理七、Oracle 数据库的应用1.Oracle 数据库在企业级应用中的优势2.Oracle 数据库在典型行业的应用案例正文:一、Oracle 简介Oracle(甲骨文)公司成立于1977 年,总部位于美国加州,是全球著名的数据库软件及解决方案供应商。
Oracle 的产品和服务涵盖了数据库、应用软件、中间件、云计算等领域,广泛应用于企业、政府、金融、医疗等各个行业。
二、Oracle 数据库的基本概念1.数据库管理系统:数据库管理系统(DBMS)是一种用于存储、检索和管理数据的计算机软件。
它提供了对数据的高效组织、存储、检索、更新和维护功能。
2.关系型数据库:关系型数据库是基于关系模型的数据库,采用表格形式存储数据,并通过SQL(结构化查询语言)进行操作。
Oracle 数据库是一种关系型数据库,具有强大的数据管理功能和高度的数据安全性。
3.Oracle 数据库的结构:Oracle 数据库由物理结构和逻辑结构组成。
物理结构包括数据库文件、数据块、表空间等;逻辑结构包括表、视图、索引等。
三、Oracle 数据库的安装与配置1.安装Oracle 数据库的前提条件:首先,需要确保计算机硬件满足Oracle 数据库的最低要求;其次,需要获取Oracle 数据库的安装文件,这些文件通常可以从Oracle 官网下载。
马士兵Oracle_1
01_sqlplus_introductionsqlpl是Oracle的客户端这个客户端干什么?Unix比Windows难是为什么?因为Unix的命令行较多,Oracle比其他数据库难是为什么?因为Oracle大多数的东西都在命令行执行。
三种方式建议还是用tiger敲各种命令都可以进行操作了第二种:Oracle本身的客户端第三:isqlplus,浏览器访问,自身电脑或别人的自己的iP:127.0.0.1:5560可以收蔵起来下次直接点目前对我们来说SQLPLUS足够了下面为百度内容中的方法成功安装Oracle 11g后,共有7个服务,这七个服务的含义分别为:1. Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy)。
它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能。
(非必须启动)2. OracleDBConsoleorcl:Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。
在运行Enterprise Manager(企业管理器OEM)的时候,需要启动这个服务。
(非必须启动)3. OracleJobSchedulerORCL:Oracle作业调度(定时器)服务,ORCL是Oracle实例标识。
(非必须启动)4. OracleMTSRecoveryService:服务端控制。
该服务允许数据库充当一个微软事务服务器MTS、COM/COM+对象和分布式环境下的事务的资源管理器。
(非必须启动)5. OracleOraDb11g_home1ClrAgent:Oracle数据库.NET扩展服务的一部分。
(非必须启动)6. OracleOraDb11g_home1TNSListener:监听器服务,服务只有在数据库需要远程访问的时候才需要。
JAVA笔记(根据马士兵的java视频整理)
JAVA视频教程尚学堂---手把手教程Call:86-主讲教师马士兵SCM系统--------Java+VC跨平台(电信宽带运营平台-------Java+WEB(J2EE)跨平台远程教学平台----Java+WEB(tomcat)VOD视频监控-----VCERP视频会议---------VC新闻发布系统-----Java+XML(模板)网上商城课堂内容、教学方法、学习方法、预备知识、教学资源JAVA基础贯穿数据结构的知识(时间复杂度、链表)---非常重要语法基础【变量、循环、分支】最核心的东西—原理--学好OO【面向对象是最重要的】有新东西学是好事----个人价值Exception 从Java Web开始,框架巨多无比Array【数组】基础类、常用类I/O StreamCollection/Generic【集合类】Thread【线程】TCP/UDP【网络底层】GUI【Graphic User Interface 图形化用户接口窗口】Meta Data【以后讲,与紧密相关】Regular Expression【正规表达式】JDK初步Java Web编程【主攻一个框架---讲原理,略讲其他框架】针对Web程序J2EE【一套标准,包含Java Web 、JDPC、JSP、SP、JB/开源框架—就分步式来说,目前(2005)无东西与之抗衡】(比较,,)企业级应用J2ME移动设备移动增值SP运营商3G,2.5G,要火爆起来【网络先铺起来,应用才能上来;3G的网络还没有铺开、火爆起来,讲3G的应用超前了】巨无霸式的教学理论举例理论回顾练习讲解【三片面包加两片肉】注重结合工程实践【完全结合】注重传授自学能力【自学的东西相当重要,授人以鱼,不如授人以渔;慢慢学会掌握一定基础后才有,灌输、背,融成血液里的一部分,心中无剑,手中有剑—前提—心中有剑手中也有剑;时间短,强度大,该背就背】个人能力分三个层次知识学习前人的知识---学习能力的一个表现,被动地接受—接受能力{自己学习了知识后考虑如何去应用,去---学习解决问题的方法【类似问题遇到过】灵活运用学到的知识【碰到什么问题采用什么方法】解决问题的思路【最高层次】创造解决问题的方法【思路掌握了,遇到新问题,自己拓展一条思路,解决问题,不可能一口吃成一个胖子,沿着这三个层次一点一点往上升首先打造自己学习知识的能力,先把该掌握的知识掌握了,再谈如何应用---如何教---教大家写项目每一个知识教太深—给项目留得时间特别短---不合适;自学一些东西,慢慢去培养解决问题的思路,试着朝这个方向去培养,工作后慢慢遇到新问题使劲去思考了积累起来逐渐会有这个能力,灵活一点、再灵活一点!基础知识要背—灵活应用的东西不能背,无一定之规,在实践中慢慢锻炼—实践的越多—敲的代码越多(掌握思路后自主敲代码,哪怕敲不出来再看别人的思路—收获远远不一样,学习要自主一点,多思考思路才能开阔—无捷径,努力锻炼自己的就业能力。
马士兵vip课笔记
马士兵vip课笔记
马士兵VIP课笔记
1. 课程概述
马士兵的VIP课程是一个全面的编程培训项目,涵盖了从基础到高级的各类编程知识和技能。
该课程强调实战编程,注重培养学员的实际项目开发能力。
通过学习此课程,学员可以掌握多种编程语言和技术,为未来的职业发展打下坚实的基础。
2. 课程内容
•基础概念:课程首先介绍了编程的基本概念,如变量、数据类型、控制结构等。
•面向对象编程:深入探讨了面向对象编程的概念,包括类、对象、继承和多态等。
•高级编程技术:涵盖了如泛型、反射、异步编程等高级编程技术。
•框架与库:介绍了多个主流的编程框架和库,如Spring、Django等。
•实战项目:课程以多个实战项目作为结尾,让学员在实际操作中巩固所学知识。
3. 课程特色
•实战导向:课程强调实战编程,注重培养学员解决实际问题的能力。
•内容全面:课程内容涵盖了从基础到高级的各类编程知识和技能,满足不同层次学员的需求。
•互动性强:课程中设置有多个互动环节,鼓励学员与老师和同学进
行交流和讨论。
•社区支持:提供了一个强大的社区支持,学员可以在社区中寻求帮助和分享经验。
4. 总结
马士兵的VIP课程是一个非常全面且实战导向的编程培训项目。
通过学习此课程,学员可以系统地掌握编程知识和技能,为未来的职业发展打下坚实的基础。
如果你是一位编程爱好者或者想要在编程领域有所建树,那么这门课程是你不容错过的选择。
尚学堂科技马士兵JAVA系列视频教程 全【VIP专享】
尚学堂科技.马士兵.JAVA.系列视频教程第一部分:J2se学习视频内容包括:尚学堂科技_马士兵_JAVA视频教程_JDK5.0_下载-安装-配置尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第01章_JAVA简介_源代码_及重要说明尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第02章_递归补充尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第02章_基础语法尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第03章_面向对象尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第04章_异常处理尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_ 第05章_数组尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第06章_常用类尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第07章_容器尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第08章_IO尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第09章_线程尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第10章_网络尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第11章_GUI尚学堂科技_马士兵_JAVA 视频教程_J2SE_5.0_专题_日期处理尚学堂科技_马士兵_JAVA视频教程_J2SE_专题_正则表达式反射avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第二部分:j2se练习项目视频内容包括:尚学堂科技_马士兵_在线聊天系统雏形视频教程_java_eclipse尚学堂科技_马士兵_坦克大战视频教程_java_eclipse尚学堂科技_马士兵_坦克大战图片版尚学堂科技_马士兵_JAVA_坦克大战网络版视频教程尚学堂科技_马士兵_snake_贪吃蛇内部视频涉及到项目之1俄罗斯方块.rar: 07.4 MB涉及到项目之2坦克大战视频教程.rar: 019.4 MB涉及到项目之3坦克大战视频教程_java_eclipse.rar: 0395.4 MB涉及到项目之4坦克大战图片版.rar: 0101.2 MB涉及到项目之5坦克大战网络版视频教程.rar: 0248.8 MB涉及到项目之snake_贪吃蛇视频.rar: 095.2 MB涉及到项目之在线聊天系统雏形视频教程_java_eclipse.rar: 0233.9 MB◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第三部分数据库视频Oracle视频内容包括:01——53讲avi格式◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第四部分:JDBC和MySQL视频,内容包括:1_lomboz_eclipse_jdbc2_mysql_avi3_ 连接池的设计思路.avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第五部分:HTML & CSS & JAVASCRIPT 视频:Html & CSS 视频内容简介:01_html 简单介绍和meta标签.avi02_a_路径问题等等.avi03_学习方法_其他常用标签.avi04_1_note.avi04_ 表格和表单_1.avi05_表格和表单_2.avi06_Frame.avi07_Dreamweaver.avi08_CSS_1.avi09_CSS_2_ 选择方式.avi10_CSS_3.avi11_CSS_4.aviJavaScript 视频简介:01_JS 初步及调试.avi02_JS基本语法.avi03_函数_事件处理_1.avi04_事件处理_2.avi05_内置对象_DOM_BOM.avi06_趣味.avi07_实用.avi08_ 表单验证.avi09_表单验证_new.avi10_后台框架.avi11_后台框架_2.avi12_TREE.avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第六部分:Servlet & JSP视频——内容包括:1 tomcat的安装使用,配置2 servlet & jsp 视频1——30节jsp的练习项目内容包括:3 简单bbs项目3 2007美化BBS项目4 网上商城项目视频4 网上商城项目视频讲解视频◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第七部分:J2EE学习视频包括:DRP项目框架视频学习:Struts视频Hibernate视频Spring视频提高部分:uml统一建模语言视频SSH项目视频:oa办公自动化系统视频crm项目视频银行系统视频ejb3.0视频J2ME_3G简介资料面试材料:面试题大汇总+笔记+技巧。
尚学堂Oracle笔记(一)
1、http://127.0.0.1:5560/isqlplus/ 访问自己的或者别人的oracle。
2、isqlplus不用装客户端也行。
3、sqlplus sys/bjsxt as sysdba4、desc emp/dept/salgrade;//显示表结构5、select sysdate from dual;//显示日期6、select a*12 "nihao Y" from dual;//别名中有空格用双引号7、select emname||'aa' from emp;//连接字符8、select 'wo'||'a''a' from emp;两个单引号代表一个一个点印单引号,返回结果为woa'a9、select distict a from dual;10、select name from dual where name is null//空值查找。
11、select name from dual where name like '%a%'//包含a的所有name,like ‘%\%%’包含%的name。
/为转义字符12、自己定义转义字符select name from dual where name like '%$%%' escape'$'//name里包含%的纪录,并定义了$为转义字符。
13、select name from dual order by id desc/asc ;--按降序/升序排列14、select name from dual order by id desc,age asc;--先按id降序排列再按age 升序排列。
15、select lower(name) from dual;--name 都小写16、select substr(name,2,3)from dual;--把name从第二个字母开始截取3个字符。
oracle笔记
7、select ename||'afasjkj' from emp; //字符串的连接
8、select distinct deptno from emp; //消除deptno字段重复的值
56、select ename from emp where sal = (select max(sal) from emp); //求出
57、select deptno, max(sal) from emp group by deptno; //搜素这个部门中薪水最高的的值
45、select max(sal) from emp; // (函数max() 求出emp表中sal字段的最大值)
46、select min(sal) from emp; // (函数max() 求出emp表中sal字段的最小值)
47、select avg(sal) from emp; //(avg()求平均薪水);
52、select count(*) from emp where deptno=10; //再要求一共有多少条记录的时候,还可以在后面跟上限定条件
53、select count(distinct deptno) from emp; //统计部门编号前提是去掉重复的值
////////////////////////聚组函数group by() //////////////////////////////////////
29、select lower(ename) from emp; //(函数lower() 将ename搜索出来后全部转化为小写);
马士兵 oracle 视频笔记
1.1 select lower(ename) from emp; 把emp里面的名字(ename) 转换成小写再拿出来
1.2 select ename from emp where lower(ename) like '_a%'; 把emp里面的名字(ename) 转换成小写并且第二个字符是小写的 ,拿出来
15 in 在.....元素里面选择
15.1 select ename,sal,comm from emp where sal in <800, 1500, 2000>; 在<800, 1500, 2000>元素里面选择
15.2 select ename,sal,comm from emp where ename in <clarke, king>;
12.2.select * from emp where deptno <> 10; 从emp 中拿出deptno !=10的元素;这里是把deptno里的值拿出来进行比较的
12.3.select * from emp where ename = 'clarke'; 从emp 中拿出ename = 'clarke'的元素;这里是把ename里的值转换成字符串,然后拿出来进行比较的
14.1 select ename,sal,comm from emp where comm is null; 空值的判断is null
14.2 select ename,sal,comm from emp where comm is not null; 空值的判断 is not null
7.2 L 本地货币符号
7.3 select to_char(sal,'L99,999.9999') from emp;
oracle笔记总结很全很仔细
玩转oracle视频教程笔记一:Oracle认证,与其它数据库比较,安装连接命令(1)conn[ect]用法:conn 用户名/密码@网络服务名[as sysdba/s ysoper]例如:conn system /manager当用户特权用户连接时,必须带上(例如sys的登录)as sysdba 或是as sysoper显示当前用户show user;(2)disc[onnect]说明:该命令用来断开与当前数据库的连接(3)passw[ord]说明:该命令用于修改用户的密码,如果想修改其他用户的密码,需要用sys/system登录(4)show user说明:显示当前用户名(5)exit说明:该命令会断开与数据库的连接,同时会退出sql*plus文件操作命令(1)start和@说明:运行sql脚本案例:sql>@ d:\a.sql 或者sql>start d:\a.sql(2)edit说明:该命令可以编辑指定的sql脚本案例:sql>edit d:\a.sql(3)spool说明:该命令可以将sql*plus屏幕上的内容输出到指定文件中去案例:sql>spool d:\b.sql 并输入sql>spool off显示和设置环境变量概述:可以用来控制输出的格式,set show如果希望永久的保存相关的设置,可以去修改glogin.sql脚本(1)linesize说明:设置显示行的宽度,默认是80个字符Sql>show linesizeSql>set linesize 90(2)pagesize说明:设置每页显示的行数目,默认是14,用法和linesize一样至于其它环境参数的使用也是大同小异创建用户概述:在oracle中要创建一个新的用户使用create user语句,一般具有dba (数据库管理员)的权限才能使用案例:create user xiaoming identified by m123;给修改用户密码概述:如果给自己修改密码可以直接使用Sql>password 用户名如果给别人修改密码则需要具有dba的权限,或者拥有alter user的系统权限Sql>alter user 用户名identified by 新密码删除用户概述:一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有drop user的权限。
尚学堂oracle学习笔记
1. 解开用户----------------------------------------------------------------------------------------- 22. 取得系统当前时间------------------------------------------------------------------------------ 23. 任何含有空值的表达式计算结果都是空值和字符串拼接--------------------------------- 24. distinct:select distinct deptno,job from emp; distinct是指deptno与job组合的唯一 -- 25. 指定转义字符 ----------------------------------------------------------------------------------- 26. order by------------------------------------------------------------------------------------------- 27. lower函数 --------------------------------------------------------------------------------------- 28. subsr函数---------------------------------------------------------------------------------------- 29. chr、ascii函数将编码转换为字符或将字符转换为ASCII码----------------------------- 210. round四舍五入函数 ---------------------------------------------------------------------------- 211. to_char函数将日期或数字串转换为固定的格式 ------------------------------------------- 212. to_date函数将字符串转换为指定的日期格式 ---------------------------------------------- 213. to_number函数---------------------------------------------------------------------------------- 214. group by ------------------------------------------------------------------------------------------ 315. 建表create --------------------------------------------------------------------------------------- 316. 修改表结构alter -------------------------------------------------------------------------------- 317. 查看相关表、视图、字典、约束、索引等-------------------------------------------------- 318. 事务概念----------------------------------------------------------------------------------------- 419. 范式 ---------------------------------------------------------------------------------------------- 420. pl_sql --------------------------------------------------------------------------------------------- 41)需要在控制台打印数据的时候必须先执行:set serveroutput on; -------------------- 4 2)简单例子:---------------------------------------------------------------------------------- 4 3)打印乘法表---------------------------------------------------------------------------------- 5 4)打印星号三角形 ---------------------------------------------------------------------------- 5 5)根据雇员工资分级显示税金。
马士兵JAVA基础知识整理
东北石油大学计算机与信息技术学院李勇勇Java语言基础知识整理一.计算机语言的发展史及历史地位第一代语言打孔机——纯机器语言 1.第二代语言 2.汇编第三代语言 3.(1)C、Pascal、Fortran面向过程的语言(2)C++面向过程/面向对象(3)java跨平台的纯面向对象的语言(4).NET跨平台语言4.java语言特点(1)一种面向对象的语言(2)一种平台无关的语言,提供程序运行的解释环境(3)一种健壮的语言,吸收了c/c++语言的优点,但去掉了影响程序健壮性的部分(如:指针、内存的申请与释放等)。
二.Java程序运行机制及运行过程1.java两种核心机制(1)Java虚拟机(Java Virtual Machine)(2)垃圾收集机制(Garbge Collection)2.java运行过程源程序(*.java文件)—>java编译器—>字节码(*.class文件)—>类装载器—>字节码校验器—>解释器—>操作系统平台4.java虚拟机(1)java虚拟机可以理解为是一个以字节码为机器指令的CPU。
(2)对于不同的运行平台有不同的虚拟机。
(3)Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。
5.垃圾收集机制(1)不再使用的内存空间应回收—垃圾收集。
(2)在c/c++语言中,由程序员负责回收无用的内存空间。
(3)Java语言消除了由程序员负责回收无用的内存空间的责任,它提供了一种系统级线程跟踪存储空间的分配情况,检查并释放那些可以被释放的存储器空间。
(4)垃圾收集在java程序运行过程中自动进行,程序员无法精确进行控制和干预。
三.Java Application初步1.java源文件以“java”为扩展名。
源文件的基本组成部分是类(class)。
2一个源文件最多只有一个public类,其他类的个数不限,如果源文件包括一个public类,它必须按该类名命名。
马士兵struts2学习笔记(详细版)
1、02_尚学堂马士兵_Struts2_Struts2_HelloWorld_2.avi指定Tomcat的目录,指定JDK搭建开发环境(拷贝jar包,复制struts.xml 文件此文件不要放在WEB-INF下面,应该放到src下面),在web.xml文件中:<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAn dExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>其中<url-pattern>/*</url-pattern> 不要写/*.do 或者 /*.action约定俗成用/*2、04_尚学堂马士兵_Struts2_Struts2_HelloWorld_3.avi(1)<!--<constant >:常量的配置 --><!--name="struts.devMode" value="true":当前是开发模式,改动配置文件会自动装载默认是false--><!--命名空间 ---> action -->相应的处理类或页面 --><constant name="struts.devMode" value="true" /><package name="default" namespace="/" extends="struts-default"><action name="hell" class="package + class xxxx"><result>/Hello.jsp</result></action></package>(2)struts.xml不自动提示的解决办法: window--perferences-XML catalog---add---key Type="URI" key="*.dtd"3、09_尚学堂马士兵_Struts2_Struts2_HelloWorld_7_2.avistruts2的执行流程:当用户在浏览器中敲入要访问的地址的时候,浏览器会将这个请求发送给tomcat然后tomcat判断应该交给那个WebApplication来处理,然后会读取它下面的web.xml配置发现有配置:<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAn dExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>因为<url-pattern> 为/* 它会过滤所有的请求然后就交给filter类org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 处理执行调用doFilter()方法,然后再方法中会读取struts-xml文件,根据用户请求的地址找到相应的package、 action、 result、然后将相应的页面返回给浏览器4、10_尚学堂马士兵_Struts2_Struts2_Namespace_命名空间.avi(1)namespace决定了action的访问路径,默认为"",可以接收所有路径的actionnamespace可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为/index.action,/xxx/index.action,或者/xxx/yyy/index.actionnamespace最好也用模块来进行命名5、11_尚学堂马士兵_Struts2_Struts2_Action.avi(1)struts1 与struts2的一个重要区别:在struts1中进行多次访问的时候用到的是同一个Action对象。
java-oracle,plsql笔记-【尚学堂马士兵老师】
java-oracle,plsql笔记-【尚学堂马士兵老师】PL/SQLdeclarev_name varchar2(20);beginv_name := 'myname';dbms_output.put_line(v_name);end;捕获异常declarev_num number := 0;beginv_num :=2/v_num;dbms_output.put_line(v_num);exceptionwhen others thendbms_output.put_line('error');end;变量声明declarev_temp number(1);v_count binary_integer := 0;v_sal number(7,2) := 4000.00;v_date date := sysdate;v_pi constant number(3,2) :=3.14;v_valid boolean := false;v_name varchar2(20) not null := 'Myname';begindbms_output.put_line('v_temp value:' || v_temp);end;--变量声明的规则//PL_SQL中两个横线可以注释掉一行1、变量声明不能够使用保留字,如from、select等2、第一个字符必须是字母3、变量名最多包含30个字符4、不要与数据库的表或者列同名5、每一行只能声明一个变量--常用变量类型1、binary_integer:整数,主要用来计数而不是用来表示字段类型,数组下标2、number:数字类型3、char:定长字符串4、varchar2:变长字符串5、date:日期6、long:长字符串,最长2G7、boolean:布尔类型,可以取值为true、false和null值,不给初值是null--变量声明,使用%type属性declarev_empno number(4);v_empno2 emp.empno%type;--变量v_empno2的类型参考emp.empno类型v_empno3 v_empno2%type;begindbms_output.put_line('Test');end;--Table变量类型(数组)declaretype table_emp_empno is table of emp.empno%type index by binary_integer;v_empnos type_table_emp_empno;beginv_empnos(0) :=7369;v_empnos(2) :=7888;v_empnos(-1) :=7323;dbms_output.put_line(v_empnos(-1));end;--Record变量类型(类似于类)declaretype type_record_dept is record(deptno dept.deptno%type,dname dept.dname%type,loc dept.loc%type);v_temp type_record_dept;beginv_temp.deptno := 50;v_temp.dname := 'aaa';v_temp.loc := 'bj';dbms_output.put_line(v_temp.deptno || ' '||v_temp.dname);end;--使用rowtype声明record变量(无论一个表怎么变,不关心,只关心这个表的表名,类似于java中的声明类的实例)declarev_temp dept%rowtype;beginv_temp.deptno := 50;v_temp.dname := 'aaa';v_temp.loc := 'bj';dbms_output.put_line(v_temp.deptno || ' '||v_temp.dname);end;--SQL语句的运用--PL/SQL用select语句必须并且只能返回一条记录declarev_ename emp.ename%type;v_sal emp.sal%type;beginselect ename,sal into v_ename,v_sal from emp where empno=7369;dbms_output.put_line(v_ename || ' '||v_sal);end;--UPDA TEdeclarev_deptno emp2.deptno%type := 50;v_count number;beginupdate emp2 set sal =sal/2 where deptno = v_deptno;--select deptno into v_deptno from emp2 where empno = 7369;--select count(*) into v_count from emp2;--几条记录被影响,就是产生几个值dbms_output.put_line(sql%rowcount ||'条记录被影响');--commit必须提交commit;--if语句--取出7369的薪水,如果<1200,则输出'low',r如果<2000则输出'middle',否则输出'high'declarev_sal emp.sal%type;beginselect sal into v_sal from empwhere empno=7369;if (v_sal < 1200) thendbms_output.put_line('low');elsif(v_sal < 2000) thendbms_output.put_line('middle');elsedbms_output.put_line('high');end if;end;--循环declarei binary_integer :=0;beginloopdbms_output.put_line(i);i := i+1;exit when(i>=11);end loop;end;i binary_integer := 1;beginwhile i < 11 loopdbms_output.put_line(i);i := i+1;end loop;end;declarei binary_integer := 1;beginfor i in 1..10 loopdbms_output.put_line(i);end loop;end;--错误处理declarev_temp number(4);beginselect empno into v_temp from emp where deptno=10; exceptionwhen too_many_rows thendbms_output.put_line('太多记录了');when others thendbms_output.put_line('error');end;--把错误信息保存到一个表中create table errorlog(int number primary key,errorcode number,errormsg varchar2(1024),errordate date)--创建索引create sequence seq_errorlog_id start with 1 increment by 1;--例子declarev_deptno emp.deptno%type :=10;v_errorcode number;v_errormsg varchar2(1024);begindelete from dept where deptno = v_deptno;commit;exceptionwhen others thenrollback;v_errorcode := SQLCODE;v_errormsg := SQLERRM;insert into errorlog values(seq_errorlog_id.nextval,v_errorcode,v_errormsg,sysdate);commit;end;--当不显示打印结过的时候执行set serveroutput on;--PL/SQL重点--游标declarecursor c isselect * from emp;v_emp c%rowtype;beginopen c;fetch c into v_emp;dbms_output.put_line(v_emp.ename);close c;end;--游标初始的时指到第一条记录,然后一条一条的往下走--loopdeclarecursor c isselect * from emp;v_emp c%rowtype;beginopen c;loop--运行完fetch自动往下走一条fetch c into v_emp;exit when (c%notfound);dbms_output.put_line(v_emp.ename);end loop;close c;end;--while循环declarecursor c isselect * from emp;v_emp c%rowtype;beginopen c;fetch c into v_emp;while(c%found) loopdbms_output.put_line(v_emp.ename);fetch c into v_emp;end loop;close c;end;--for循环declarecursor c isselect * from emp;v_emp c%rowtype;beginfor v_temp in c loopdbms_output.put_line(v_emp.ename);end loop;end;--带参数的游标declarecursor c(v_deptno emp.deptno%type,v_job emp.job%type)isselect ename,sal from emp where deptno = v_deptno and job = v_job; beginfor v_temp in c(30,'CLERK') loopdbms_output.put_line(v_temp.ename);end loop;end;--可更新的游标declarecursor cisselect * from emp2 for update;beginfor v_temp in c loopif (v_temp.sal <2000) thenupdate emp2 set sal= sal*2 where current of c;elsif (v_temp.sal = 5000) thendelete from emp2 where current of c;end if;end loop;commit;end;--存储过程create or replace procedure piscursor cisselect * from emp2 for update;beginfor v_temp in c loopif (v_temp.deptno = 10) thenupdate emp2 set sal= sal+10 where current of c;elsif (v_temp.sal = 20) thenupdate emp2 set sal= sal+20 where current of c;elseupdate emp2 set sal= sal+50 where current of c;end if;end loop;commit;end;--带参数的存储过程--in(默认)传入参数,out传出参数,in out传入传出参数create or replace procedure p(v_a in number,v_b number,v_ret out number,v_temp in out number) isbeginif (v_a > v_b) thenv_ret := -v_a;elsev_ret := -v_b;end if;v_temp := v_temp+1;end;--调用过程declarev_a number := 3;v_b number := 4;v_ret number;v_temp number :=5;beginp(v_a,v_b,v_ret,v_temp);dbms_output.put_line(v_ret);dbms_output.put_line(v_temp); end;--显示错误show error--函数create or replace function sal_tax (v_sal number)return numberisbeginif(v_sal < 2000) thenreturn 0.10;elsif(v_sal < 2750) thenreturn 0.15;elsereturn 0.20;end if;end;--触发器(概念牢牢掌握)create table emp2_log(uname varchar2(20),action varchar2(10),atime date);--after/beforecreate or replace trigger trig--for each rowafter insert or delete or update on emp2 for each rowbeginif inserting theninsert into emp2_log values(USER,'insert',sysdate);elsif updating theninsert into emp2_log values(USER,'update',sysdate);elsif deleting theninsert into emp2_log values(USER,'delete',sysdate);end if;end;update emp2 set sal = sal*2 where deptno=10;--更新有参考列create or replace trigger trigafter update on deptfor each rowbeginupdate emp set deptno = :NEW.deptno where deptno = :OLD.deptno; end;--递归--数状结构的存储与展示create table article(id number primary key,cont varchar2(4000),pid number,isleaf number(1),--0 代表非叶子节点,1代表叶子节点alevel number(2));insert into article values(1,'蚂蚁战大象',1,0,0);insert into article values(2,'蚂蚁战大象2',1,0,1);insert into article values(3,'蚂蚁战大象3',2,1,2);commit;create or replace procedure p(v_pid article.pid%type,v_level binary_integer) is cursor c is select * from article where pid=v_pid;v_preStr varchar2(1024) := '';beginfor i in 1..v_level loopv_preStr := v_preStr ||'***';end loop;for v_article in c loopdbms_output.put_line(v_preStr || v_article.cont);if (v_article.isleaf = 0) thenp(v_article.pid,v_level+1);end if;end loop;end;第一课:客户端1. Sql Plus(客户端),命令行直接输入:sqlplus,然后按提示输入用户名,密码。
尚学堂马士兵Oracle学习笔记
02_unlock_user.avi 使用超级管理员登录到数据库上:sqlplus sys/bjsxt as sysdba � 当成 DBA 登录到服务 器上 连上之后 更改 user :alter user scott account unlock; 更改用户 解除锁定
03_table_structures.avi 第二章 SQL 语言 Sql 语言是在数据库地下进行操作的专门的语言,sql 语言本身是一种标准语言,它是一个 国际标准,它定义了套标准 SQL1922, SQL1999,SQL 在大多数数据库上通用,或许有轻微 的改变 包含四大语句: 1. 查询语句 查询语句只有一种就是 select 语句 2. DML 语句 DML 语句包含 Insert,Update,Delete 等常用语句
------
--------------------
------------------
----------
--------------
---------- ---------- 7369 SMITH CLERK 7902 17-12月-80 800 20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一课:口令超级管理员:sys/change_on_install 普通管理员:system/manager普通用户:scott/tiger 大数据用户:sh/sh1.sys/change_on_install2.alter user scott account unlock;(解锁)第二课:SQL语言Sql语言是在数据库地下进行操作的专门的语言,sql语言本身是一种标准语言,它是一个国际标准,它定义了套标准SQL1922,SQL1999,SQL在大多数数据库上通用,或许有轻微的改变包含四大语句:1. 查询语句查询语句只有一种就是select语句2. DML语句DML语句包含Insert,Update,Delete等常用语句3. DDL语句DDL语句包含Create, Alter,Drop等常用语句4. 事务控制语句包含Commit,Rollback等常用语句还有一大类语句:叫DCL语句(Data Control Language),主要用于权限的分配与回收,由于与开发关系不是十分密切,不做重点讲解Select语句就是从表里把数据选出来首先熟悉试验中的数据第一条语句:desc emp; desc 表名; 列出表头== 字段== 列Varchar2 可变字符串支持国际化NUMBER(7,2) 7位的数字,2位的小数每行显示的宽度setlinesize 200; 显示的页数setpagesize 30;第三课:table_structures1.desc 表名//描述表2.select * from 表名//查看表数据第四课:select语句1.含有别名的sql语句例子1:select ename, sal*12 annual_sal from emp;例子2:Select ename, sal*12 “Annual_sal”from emp; 如果想让别名强制大小写混合可以使用双引号例子3:Select ename, sal*12 “Annual sal”from emp; 如果想让别名中有空格也使用双引号2.desc dual,select 2*3 from dual,dual是系统自带的一张空表,计算数据时可以使用该表3.任何含有空值的算术表达式的计算结果是空值4.select ename||sal from emp; 字符串连接符:||5.select ename || 'abcdefg' from emp;6.select ename || 'abcd''efg' from emp;当字符串中含有单引号时,可用两个单引号代表一个单引号7.set linesize 200;--用于设定每行显示的宽度8.set pagesize 30;--设置显示的页数9.select syadate from dual;//显示系统时间第五课:distinct1.select distinct deptno from emp; //把deptno值重复的不显示出来2.select distinct deptno,job from emp; //把deptno,job都重复的都不显示出来;第六课:where1.select * from emp where empno = 10; //显示部门编号为10的所有员工的详细信息2.select * from emp where empno <> 10;//<>是不等于3.select * from emp where ename = 'KING'; //显示名字为KING的员工的详细信息, 判断字符串是否相等时,字符串要用单引号引起来,单引号中字符串内容是要区分大小写的;比较的按字母顺序4.select * from emp where comm is (not) null; //为空值的表项查询5. AND,OR,NOT例1:Select ename, deptno, sal from emp wheredeptno = 10 and sal > 1000; 查询部门标号为10 并且薪水>1000 的员工例2:Select ename, deptno, job from emp where deptno = 10 or job = ‘CLEARK; 查询部门编号为10或者工作岗位为CLERK 的员工例3:select * from emp where sal (not) between 800 and 1500; //取出薪水位于800和1500(包含800和1500)之间的雇员名字和薪水6.In语句:用于塞选某一个值select * from emp where ename (not) in ('smith','philip','jay'); //把名字为SMITH, ALLEN, KING 的雇员取出来Select ename, sal from emp where sal in(800, 1250, 1500, 2000); //把薪水是800,1250,1500,2000 的雇员信息取出来7.select * from emp where hiredate > '20-2 月1820';//20-2 月1820后的时间, 如果想用自己定义的日期格式,可以使用to_char or to_date函数; Oracle默认的日期格式为:DD-MON-RR8.模糊查询使用like关键字,和通配符% 表示0个或多个字符,_ 表示1个字符, "?"为0个或1个select * from emp where ename like '_A%'; // 查询第二字母中含有A 的雇员select * from emp where ename like '_\%a%'; //系统默认转义符是\,可以自己指定转义符select * from emp where ename like '_$%a%' escape '$';第七课:order by 使用order by对数据进行排序1.select * from dept;2.select * from dept order by dept desc; //(默认为asc) desc为降序排列,asc为升序3.select ename, sal, deptno from emp where sal > 2000 order by deptno asc,ename desc;第八课:sql_function1.select ename,sal*12 annual_sal from emp where ename not like '_A%' and sal > 1500 order by sal desc;2.select lower(ename) from emp; // Lower()函数将字符串全部转换成小写,把ename 转换为小写值3.select ename from emp where lower(ename) like '_a%'; //把ename的值第二个字母为A或a输出4.select substr(ename,2,3) from emp; //从第二字符截,一共截三个字符。
5.select chr(65) from dual; //求一个与某个ASCII码值对应的字符,结果为A6.select ascii('a') from dual; //求一个字符的ASCII码值,结果为657.round()函数对参数值进行四舍五入的操作例子1:Select round(23.652)from dual; //对23.652进行四舍五入操作24例子2:Select round(23.652,2) from dual; //对23.652四舍五入到小数点后2位23.65例子3:Select round(23.652,-1) from dual; //用负数指定小数点前面几位,对23.652四舍五入到小数点前1位20 *8.to_char() 用于将数字或日期转换成特定的字符串,To_char()有两个参数:第一个参数:需要进行转换的日期或数字第二个参数:特定的转换格式,对于数字有一下几个格式可以指定:9 代表数字,若果该位没有数字则不进行显示,但对于小数点后面的部分仍会强制显示0 代表一位数字,如果该位没有数字则强制显示0select to_char(sal,'$99,999.9999') from emp; //to_char函数主要用于对日期和数字格式化$16,000.0000select to_char(sal,'$0000,000.0000') from emp; //结果$0016,000.0000select to_char(sal,'L99,999.9999') from emp; 人民币符号,L代表本地符号。
select birthdate from emp;显示为:BIRTHDATE---------------------22-3月-87改为:select to_char(birthdate,'YYYY-MM-DD HH24:MI:SS') from emp; //24制的没有24为12制的格式控制符含义YYYY、YY ----------------------------- 代表4位,2位数字的年份MM ----------------------------- 用数字表示的月份MON ----------------------------- 月份的缩写对中文月份来说就是全称DD ----------------------------- 数字表示的日DY ----------------------------- 星期的缩写,对中文的星期来说就是全称HH24、HH12 ---------------------------12小时或者24小时进制下的时间MI ----------------------------- 分钟数SS ----------------------------- 秒数*9.to_data函数将特定的字符串转换成日期格式,这个函数有两个参数:第一参数:自定义的日期字符串第二参数:指定这个字符串的格式select ename,birthdate from emp where birthdate > to_date('1987-3-22 12:00:00','YYYY-MM-DD HH24:MI:SS');//不能直接写birthdate>'1987-2-22 11:22:33'会出现格式不匹配,因为表中格式为DD-MM月-YY,10. Select * from emp where sal > to_number(‘$1,200.00’,‘$9,999.99’); //求薪水大于1200的员工信息*11.nvl()函数用来处理空值,这个函数有两个参数:第一参数:字段名或表达式,如果这个参数值为null,就返回第二参数值,否则返回第一参数值select ename, sal*12+nvl(comm,0) from emp //这样防止comm为空时,sal*12相加也为空的情况第九课:Group function 组函数1.select max(sal) from emp; //最大值2.select min(sal) from emp; //最小值3.select to_char(avg(sal), '$999,999,999.99') from emp; //平均值4.select round(sum(sal),2) from emp; //求和5.select count(*) from emp where sal > 1500; //求记录数6.select count(comm) from emp; //Count()可以对单独字段使用,得到的是所有非空记录的数量7.select count(distinct deptno) from emp; //Count()可以和distinct一起使用,得到所有唯一值记录的数量第十课:Group by语句1.select avg(sal) from emp group by deptno; //首先将现有数据按照部门进行分组,然后再计算每个组员工的平均薪水2.select deptno,avg(sal) from emp group by deptno;3.select deptno,job,max(sal) from emp group by deptno,job; //按照部门,和职位的最大薪水进行分组4.求薪水值最高的人的名称select ename,max(sal) from emp; //出错,因为max只能有一个值,但是等于max的值可能有好几个,不能匹配。