Oracle自学自学笔记6741.docx
《Oracle自学自学笔记6741.docx》由会员分享,可在线阅读,更多相关《Oracle自学自学笔记6741.docx(73页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、黄刚创意工作室IT技术部一验证Oracle已经安装完成了,首先得确认程序里有这些个选项,有四个选项:Oracle Installation Products、集成管理工具、配置和移植工具(管理员用得比较多)、应用程序开发。Oracle也可以形成一种层次性的链接(Directory Manager),对于我们来说用得最多是sqlplus,而OLE 是一种面向对象的技术,利用这种技术可开发可重复使用的软件组件(COM),他是微软提出的,在用VB开发时可能要用,对于我们来说不须管。当启动sqlplus时会提示输入用户名和口令,所谓的sqlplus是Oracle的一个客户端。Oracle大多数命令都用
2、命令来实现,所以比较难使,就如同unix比windows难使。口令你输入tiger,建议就用它,因为以后去企业里Oracle 9i就是用的这个口令。当你看到SQL命令符时说明已经进入到了Oracle的命令行了。图形版的sqqlpluss,命令行的的sqlpllus,还有有一个就是通通过网页访问问Oraclle的服务,启启动sqlpplus,端端口号是55560,URRL是httpp:/1227.0.00.1:55560/issqlpluus。isqqlpluss非常有用,比比如说你的机机器上没有装装上Oraccle,就可可以通过键入入别人的IPP,然后登陆陆到他的机器器上来做实验验,当然也可可
3、以安装特定定的客户端软软件实现。说实在的Orracle的的这个客户端端太难看了,并并且要记好多多好多的命令令,所以专门门有一类公司司专门为Orracle开开发客户端。有有一个比较著著名的客户端端叫Toad,当当然Oraccle还有一一个客户端PPL/SQLL Deveelplorr,这个用的的也非常多。数据库管理时常用Toad(英文蛤蟆的意思),如果有声卡的话,你启动一次它就叫一次。对我们来说sqlplus足够使了。以后有机会我使用一下PL/SQL Develplor,不过这个也不好使,因为你同时必须装上Oracle,还不如isqlplus好呢。以超级管理员员身份链接数数据库的方法法是再命令行
4、行下敲入命令令:sqlpplus ssys/口令令 as ssysdbaa。Sys和syystem的的区别是syys是数据库库管理者,ssystemm是数据库所所有者,sys用户拥拥有dba,sysdbba,sysopper等角色色或权限,是是oraclle权限最高高的用户,ssystemm用户拥有dbba,sysdbba等角色或或系统权限,system如果正常登录,它其实就是一个普通的dba用户,但是如果以as sysdba登录,其结果实际上它是作为sys用户登录的,这一点类似Linux里面的sudo的感觉,从登录信息里面我们可以看出来。sys用户必须以as sysdba或as sysope
5、r形式登录。然后输入命令alter user scott account unlock;它的意思是将Scott用户解锁,以后关于dba的用到一个学一个,没必要从头到尾的去学它。二SQL语言是是在数据库下下进行操作的的语言,它本本身是一个标标准语言,有有国际标准。有两套一个是SQL1992,SQL1999。大多数数据库既支持旧的标准也支持新的,很多也是用的旧的SQL语言写程序的,对于我们来说新旧都要学,而且对大多数数据库系统来说都是通用的,只不过不同数据库有一个轻微的改变,这就是最郁闷的地方,没办法到时候查手册或google一下。SQL全称为Structured Query Language,即
6、机构化查询语言,它被定义为第四代语言。为什么叫第四代语言,因为我们知道第三代语言也得有if else for 等这些流程控制语句,也就是你得告诉它干什么且怎么干。第四大只用告诉它我要干什么,不用去控制它怎么干,这样的语言学起来当然十分easy。我们共有四类类语句要学:数据操作语语言语句Data manippulatiion laanguagge,DMLL,会话控制语语句sessiion coontroll stattementt,数据定义语语言语句DData ddefiniition languuage,DDDL以及及事务控制语语句transsactioon conntrol stateeme
7、nt。查询语句只有有一句话就是是selecct语句,这这是最重要的的一条语句。以以后只要遇到到相应的seelect语语句一律背过过,企业再面面试时其他语语句一般不会会怎么考但这这条语句是必必考的。如果果考你SQLL语句肯定会会考这条seelect语语句不是别的的。你跟别人人交流的时候候,别说我写写过几条dmml语句,而而因详细的说说到底是什么么语句,比如如inserrt语句、uupdatee语句等。选择的意思思是从表里把把数据拿出来来,展现出来来。听起来似似乎挺简单的的,但你要从从表里拿数据据得首先知道道有几张表,每每张表里有些些什么内容。第一步要做的的就是熟悉一一下实验用的的数据,这些些数据
8、Oraacle都给给自带了,直直接用就行了了。首先第一一条语句deesc emmp,描述一一下emp这这张表,会分分别列出所有有字段(表头头),emppno 雇员员编号,enname 雇雇员名字,jjob 雇员员工种,mggr 经理人人,hireedate 雇员入职日日期,sall 薪水,ccomm 津津贴,奖金,ddeptnoo 所属部门门编号。表还有一部部分叫类型,也也就是相对应应字段的类型型,这些都是是Oraclle已经定义义好的,我们们直接用。现现在先用别人人建立好的表表,然后再自自己建表。NNUMBERR指数字,VVARCHAAR指字符型型,Oraccle7以前前在用,现在在常用的是
9、VVARCHAAR2它支持持各种可变字符串,可以更好的的表示各国文文字,DATTE指日期,NNUMBERR(7,2)指七位数字字有两位小数数。desc ddept 部部门表,它有有三个字段DDEPTNOO 部门编号号,DNAMME 部门名名称,LOCC部门所在位位置。Desc ssalgraade工资等等级表,许多多公司都实行行的是工资等等级制,分几几级工资,GGRADE工工资等级,HHISAL该该等级最高工工资,LOSSAL该等级级最低工资。以上简要的介介绍了三张表表,如果想更更详细的了解解里面的数据据,教大家第第一个sellect语句句:seclectt * from 表名;。*表示把表表
10、里所有的数数据都取出来来,分号表示示语句结束。尽量多熟悉悉各张表之间间的关系,以以及表内部各各字段之间的的关系,越熟熟悉越好。如果要算纯数数据,可以采采用duall这张表,它它就一条记录录,一个字段段。你如果用用其他表计算算的话会有好好多条重复结果,记记录。字段是不能有有空格的,如如果非要空格格可以将整个个字段用双引引号括起来,这样的话引号里面就可以加上各种各样的字符了。如果没加引号的话那样做是不对的。再没有加双引号的时候结果字段名会以大写字母显示出来,但加了双引号就保持住了原来的形式不变。没有就是null值,即便是0也与空值大不一样。0是有值但为0,null是没有值。任何含有空值的表达式最后
11、的结果都是空值。SQL里面有有一个字符串串链接符|,它的作用用跟Javaa里的+一样样,所有被链链接的都会转转换为字符串串显示出来。如select ename|sal from emp;它的意思是将结果sal转换为字符串后链接到ename后面。在任何数据库的SQL语句里面都是用单引号括起来表示一个字符串序列。如果字符串里本来就有单引号,再解析时就会出错。可以用两个单引号来代替一个单引号,这样就可以正确显示了。关键字disstinctt是指选择不不重复的记录录,如果修饰饰多个字段时时表示选择该该多个字段的的组合不重复复的显示出来来。wherre叫过滤条条件,它会过过滤掉一些记记录,等值判判断用=
12、,不不等值判断注注意是而而不是Javva语句里的的不等号。字符串比较较是比较字符符的ASCIII码,挨个个比较。做比比较时还可以以用关键字bbetweeen andd,注意的是是包括边界值值的。andd也可把两个个过滤条件连连接起来。下面来讲空值值的处理,你你可以直接用用wheree +字段+is nuull来取出出是空值的,取取出不是空值值的多加一个个not就行行。这种处理理方式非常像像我们的说话话习惯。inn然后跟着某某个字段的取取值是括号括括起来各值之之间用逗号隔隔开。可以使使用and、oor,nott连接起各个个查询条件。日期处理起来来稍微麻烦一一些,由于现现在还没有学学日期函数,所所
13、以采用另外外一种方式一个特殊的的字符串。你你就按它的日日期写法来写写如20-2月月-07,然后系统统就按照字符符串来比较即即可。年份可可以写全如20-2月月-2007,它能认出出来。以后我我们可以写成成任何形式的的日期格式都都能处理。模糊查询是这这样的,比如如找出名字里里含有al的的,有点像正正则表达式。使用关键字like,可以通配符%,代表0个或多个字符,_代表一个字母。如果名字里就含有一个%,则使用转义字符%的形式,当然可以自己指定转义字符方法是select * from emp where ename like _A$% escape $;。排序用到的一一个关键字是是orderr by,
14、默默认的是按升升序排列,如如果想降序排排列可以采用用如下形式:selecct * ffrom ddept oorder by deeptno desc;desc是是降序的英文文缩写。升序序排列可不写写也可加上aasc。还可可以加入whhere先过过滤了再排序序,按照几个个字段进行排排序时,用逗逗号分隔开,如下:select ename ,job,empno,sal ,deptno from emp order by deptno,sal desc;意思是先将表按照deptno升序排列,然后相同的deptno内部再按照sal降序排列。三SQL函数,函函数就是Jaava里的方方法,有参数数有返回值
15、。现现在讲的是单单行函数,第第一个叫做llower,作作用是转换为为小写;第二二个叫uppper,作用用是转为大写写;第三个叫叫substtring,取取子串。这几几个函数都是是对字符串进进行操作的,传传递进去的参参数就是字段段名。如selecct lowwer(enname) from emp;还还有一个函数数叫chr,它它是把一个数数字转为字符符:seleect chhr(86) fromm duall;将86代代表的字符显显示出来,与与之对应的是是将一个字符符转为对应的的ASCIII码,叫asscii,如如:seleect asscii(A) froom duaal;就是将将A的码值显显
16、示出来。round函函数是四舍五五入的作用,如如selecct rouund(433.5354435) ffrom ddual;结结果就为444。还有一个个重载的带两两个参数的方方法如sellect rround(43.5335435,4) frrom duual;四舍舍五入到小数数点后4位,结结果位44.5354,第第二个参数可可以是负数表表示四舍五入入到小数点前前多少位。其他函数可以以不用记住,但但要知道有这这么个函数,然然后取手册中中可以查到,但但下面讲的一一个函数最好好记住它。tto_chaar是将字段段内容显示为为字符,可以以对显示的形形式进行格式式控制,比如如selecct to_
17、char(sal, $99,999,9999.99999) from emp;就就是以后面给给定字符形式式显示出来,小小数点后的四四位会强制显显示,而前面面的没有的位位数就不显示示,这就是99的含义。$换为L表示示本地货币。0代表表一位数字,如如果没有该位位数字也会强强制显示为00,对于这种种方式是为了了进行格式控控制。实际上用too_charr来控制数字字是比较少用用的,而用得得最多的是对对日期格式的的控制,我们们知道Oraacle里的的sysdaate包含了了插入记录的的详细时间信信息,我们可可以对其进行行显示的格式式进行控制,比比如:sellect tto_chaar(hirredate
18、e,yyyyy-mm-dd) from emp;转转换为年月日日2006-3-23这这种格式的。实际上对日期的格式控制是利用Java来实现的,到时会有一个关于日期处理的专题。selectt enamme,jobb,hireedate from emp wwhere hireddate to_daate(11982-11-1 1:30:000, yyyyy-mmm-dd hh:mii:ss);意思是将将特定的字符符串转换为相相应的日期格格式。还有to_numbeer是将特定定的字符串解析为为相应的数字格格式如selecct enaame ,jjob ,ssal frrom emmp wheere
19、 saal22000;首首先按depptno求出出每个depptno的平平均sal,然然后对这些分分组利用haaving 语句进行过过滤。到现在为止已已经学完了所所有的单条sselectt语句,执行行顺序按照sselectt+字段或内容+frrom+表名名+wherre+grouup by+haviing+ordeer by这个顺序进进行执行,首首先取出记录录,然后对单单个记录进行行过滤,过滤滤完了分组,分分组好了对组组过滤,剩下下的分组再按按顺序显示出出来。单条sselectt语句一定要要非常熟悉,如如果这都要查查书的话对企企业就没法交交代了,哈哈哈!之前已经讲过过一个子查询询的例子:sse
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 自学 笔记 6741
限制150内