Oracle使用学习总结.doc
《Oracle使用学习总结.doc》由会员分享,可在线阅读,更多相关《Oracle使用学习总结.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Oracle使用学习总结Oracle使用学习总结Oracle使用学习经验总结张浩博客sql语句部分1.新型企业级智能数据管理系统-SybaseASE12.5(AdaptiveServerEnterprise)2.*17260,Cantrun%1!fromwithinatransaction.3.在创建存储过程CREAT之前编写存储过程德错误编号说明4.charindex(sa_role,show_role()5.begin6.trancountOracle系统安装配置1.修改sybase数据库sa用户密码2.3.env查看环境变量4.linux中.bash_profile和.bashrc的什么
2、区别5.数据库中执行“存储”过程。6.bcp导入、导出数据,备份数据库、备份表格数据、备份数据bcp7.附录1、英文错误码描述:(灵活运用!)1Auserwiththesamenamealreadyexistsinthedatabase在数据库中已经存在相同的一个用户2isnotavalidname不是一个可用的名字3Useralreadyhasaloginunderadifferentname.用户已经用一个不同的名字登录了4Nologinwiththespecifiednameexists没有登录5Timerangenamemustbenon-NULL时间范围名字必须不为空6Limitty
3、pemustbenon-NULL限制类型必须不为空7Unknownlimittype不可知的限制类型8Ge获得开始结束时间从当前的范围98.附录2、错误语句:9.附录3、错误语句:10.附录4、错误语句:11.附录5、错误语句:自我总结书籍和网站(建议经常去看看,呵呵)1.2.3.4.5.扩展阅读:有关Oracle学习总结表xyzabc1mhj1mhjk1njk2uwe2uwert3qs4ads4adsaa怎么删掉第1、5、8条记录?(字段a、b相同的几条记录只留一条,留下字段C较短的一条)DELETEFROMLIANXIWHERELENGTH(C)NOTIN(SELECTMIN(LENGTH
4、(C)FROMLIANXIGROUPBYA,B)oracle数据库常用的命令集锦今日开始研究oracle,搜索到了一个好东东,拿出来与大家一同分享。下面是摘抄的部分:local2/localORACLE相关语法及命令一、Oracle入门理论知识:Oracle的物理组件有三个:(1)数据文件数据文件是用于存储数据库数据的文件,如表、索引数据。每个Oracle数据库有一个或多个物理数据文件,一个数据文件只能与一个数据库关联。(2)日志文件用于记录对数据库进行的修改信息,日志文件主要用于在数据库出现故障时实施数据库恢复。(3)控制文件控制文件是记录数据库物理结构的二进制文件,每个Oracle数据库都
5、含有一个控制文件。Oracle的逻辑组件:表空间(TableSpace)表空间是数据库最大的逻辑单位,一个数据库至少包含一个表空间,一个表空间包含一个或多个段等等。段(Segment)段存在于表空间中,分成4类,数据段、索引段、回退段、临时段。区(Extent)区是磁盘空间分配最小单位,由连续的数据块组成,一个或多个区构成段,区只能存在于一个数据文件中。数据块(DataBlock)数据块是数据库中最小的数据组织单位与管理单位,Oracle数据库中的数据存储于数据块中,取值范围2K-64K之间。模式(schema)模式是对用户所创建的数据库对象的总称,又称为用户模式。概念:内存Oracle内存结
6、构包含以下两个内存区。1、系统全局区(SGA)实例启动时分配该内存区,是Oracle实例的一个基本组件。又称为共享全局区,它用来存储数据库信息,并由多个数据库进程共享。可分为共享池、数据缓冲区及日志缓冲区。(1)共享池是对SQL、PLSQL程序进行语法分析、编译、执行的内存区域。共享池由库缓存和数据字典缓存组成。其中,库缓存含有最近执行的SQL、PLSQL语句的分析码和执行计划;数据字典缓存含有从数据字典中得到的表、索引、列定义和权限等信息。(2)数据缓冲区数据缓冲区用于存储从磁盘数据文件中读入的数据,所有用户共享。(3)日志缓冲区日志记录数据库的所有修改信息,主要用于恢复数据。2、程序全局区
7、(PGA)服务器进程启动时分配该内存区。PGA为非共享区,只能单个进程使用,当一个用户会话结束后,PGA释放。用户进程(PGA)发送SQL语句到共享全局区(SGA),先在共享池的库缓存中查询是否存在所需的数据块,如果存在就在数据字典中读取相应的数据块,如果不存在就由服务器进程(DBWR)来IO数据库语法知识:创建表空间的语法如下:CREATETABLESPACEtablespacenameDATAFILEd:filename.DBFSIZEintKB|MBAUTOEXTENDOFF|ON;tablespacename是需创建的表空间名称。DATAFILE指定组成表空间的一个或多个数据文件,当有
8、多个数据文件时使用逗号分隔。filename是表空间中数据文件的路径和名称。SIZE指定文件的大小,用K指定千字节大小,用M指定兆字节大小。AUTOEXTEND子句用来启用或禁用数据文件的自动扩展。Oracle默认用户:用户名:sys默认密码:chage_on_install用来管理拥有Oracle数据字典文件用户名:system默认密码:manager用来管理拥有数据字典视图对象用户名:scott默认密码:tiger示例用户,包括emp、dept等表连接Oracle:在控制台下输入sqlplus用户名/密码回车或sqlplusw回车相关命令:disconn/退出当前登录conn用户名/密码/
9、连接Oraclealteruser用户名identifiedby密码/修改用户口令dropuser用户名cascade;/删除用户alteruser用户名accountlock;/给某个用户加锁alteruser用户名accountunlock;/给某个用户解锁ed回车:/打开缓冲区/回车:/执行缓冲区中的语句createuser用户名identifiedby密码passwordexpiredefaulttablespace表空间名temporarytablespace临时表空间名;/创建用户相关权限:grantconnecttoscott;/connect角色将允许用户创建数据库并在数据库中
10、创建表或其他对象grantresourcetoscott;/resource角色将允许用户使用数据库中的空间grantcreatesequencetoscott;/createsequence权限将允许用户创建序列,此权限包含在connect连接角色中grantselectonemptoscott;/将emp表的查询权限授予用户scottgrantupdate(vencode,venname)on表名toscott;/将特定列的更新权限授予用户scottgrant权限on表名to用户名withgrantoption;/接受该权限的用户可以将此权限授予其他用户revokeselect,updat
11、eon表名from用户名;/收回相应的权限二、SQL查询和SQL函数SQL支持如下类别的命令:数据定义语言:create(创建)、alter(更改)、drop(删除)和truncate(截断)命令。数据操纵语言:insert(插入)、select(选择)、delete(删除)和update(更新)命令。事务控制语言:commit(提交)、savepoint(保存点)和rollback(回滚)命令。数据控制语言:grant(授予)和revoke(回收)命令。数据类型:char:长度在1到2022个字节,声明多少字节在内存中就占用多少字节,输入的值小于指定的长度时用空格填充。varchar2:长度
12、在1到4000个字节,输入的值是多少字节,就占用多少字节。long:长度在2GB,设置为此类型的列时,要注意:一个表中只有一列可以为long类型,long类型列不能定义为唯一约束或主键约束,不能建立索引,过程或存储过程不能接受long类型的参数。number(p,s):其中p为精度,表示数字的总位数,在1至38之间。s为范围,表示小数点右边数字的位数,在-84至127之间。date:日期类型,sysdate为当前系统时间。格式为08-9月-07。timestamp:用于存储日期的年、月、日以及时间的时、分和秒。其中秒精确到小数点后6位,systimestamp返回当前日期、时间。格式为08-9
13、月-0704.08.30.000000下午。raw:此数据类型用于存储基于字节的数据,如二进制数据或字节串,该类型最多能存储2022个字节,可以建立索引。longraw:此数据类型用于可变长度的二进制数据,最多能存储2GB。long数据类型的所有限制对longraw数据类型也同样有效。lob又称为大对象数据类型,最多能存储4GB的非结构化信息。包括:clob:clob代表CharacterLOB(字符LOB),它能存储大量字符数据。如XML文档。blob:blob代表BinaryLOB(二进制LOB),它能存储较大的二进制对象,如图形、视频剪辑和声音剪辑。bfile:bfile代表Binary
14、File(二进制文件),它能够将二进制文件存储在数据库外部的操作系统文件中。伪列:rowid:selectrowid,ename,fromscott.empwhereempno=7900;rownum:select*fromscott.empwhererownumaltertable表名dropcolumn列名;/删除列truncatetable表名;/中删除记录而不删除结构,不使用事务处理,因此无法回滚droptable表名;/删除表及其全部数据createtable新表名asselect*from表名where1=2;/用现有的表创建一个新表selectdeptno*2NewNo,dnam
15、e,locfromdept;/指定一个含有特殊字符(如空格)的列标题commit;/提交事务savepoint标记名;/标记事务点rollback;/回滚整个事务处理rollbacktosavepoint标记名;/回滚到事务中某个特定的保存点集合操作符:union(联合):此操作符返回两个查询选定的所有不重复的行。语法selectordernofromorder_masterUNIONselectordernofromorder_detail;unionall(联合所有):此操作符合并两个查询选定的所有行,包括重复的行。语法:selectorderno,enamefromorder_maste
16、rUNIONALLselectorderno,pronamefromorder_detailorderby2;注意:在两个select语句中指定的列名不必相同,但数据类型必须匹配。也可以对联合查询的结果进行排序,使用OrderBy子句时,它必须放在最后一个select语句之后,而且必须指定列索引来排序,而不是指定列名,列索引是从1开始的整数。上述语法便是以proname的索引排序intersect(交集):此操作符只返回两个查询都有的行。语法:selectordernofromorder_masterINTERSECTselectordernofromorder_detail;minus(减集
17、):此操作符中返回由第一个查询选定但是第二个查询中没有选定的行,也就是在第一个查询结果中排除第二个查询结果中出现的行。语法:selectordernofromorder_masterMINUSselectordernofromorder_detail;查询尚未交付的订单连接(|)操作符:语法:select(供应商|venname|的地址是|venadd1|venadd2|venadd3)地址fromvendor_masterwherevencode=V002;将多个字符串合并为一个字符串。SQL函数:1、日期函数:add_months:此函数返回给指定的日期加上指定的月数后的日期值。语法为ad
18、d_months(d,n),其中d是日期,n表示月数。示例:selectadd_months(sysdate,2)fromdual;将当前时间加上2个月后的日期值。months_between:此函数返回两个日期之间的月数。语法为months_between(d1,d2),其中d1和d2是日期,如果d1大于d2,则结果为正数;否则为负数。last_day:此函数返回指定日期当月的最后一天的日期值,语法为last_day(d),其中d表示日期。示例:selectlast_day(sysdate)fromdual;返回当前日期的月的最后一天,如果是9月就返回30-09月-07round:此函数返回
19、日期值,将日期四舍五入为格式模型指定的单位。语法为round(d,fmt)。其中d是日期,fmt是格式模型。fmt是一个可选项,日期默认舍入为最靠近的那一天。如果指定格式为年Year,则舍入到年的开始,即1月1日;如果格式为月Month,则舍入到月的第一日;如果格式为周Day,则舍入到最靠近的星期日。示例:selectround(sysdate,month)fromdual;返回最接近的一个月。next_day:此函数返回指定的下一个星期几的日期。语法为next_day(d,day)。其中d表示日期,而day指周内任何一天。示例:selectnext_day(sysdate,星期日)fromd
20、ual;返回下一个星期日的日期,也可以用1表示,以此类推,星期一以2表示。trunc:此函数将指定日期截断为由格式模型指定的单位日期,与Round函数不同的是它只舍不入,语法为trunc(d,fmt),与round格式相同。示例:selecttrunc(sysdate,year)fromdual;返回当前年的第一天,也就是1月1日。示例:selecttrunc(sysdate,day)fromdual;返回紧靠前面的星期日。如果为2022年1月27日就会返回2022年1月23日。extract:此函数提取日期时间类型中的特定部分。语法为extract(fmtfromd),其中d是日期时间表达式
21、,fmt是要提取的部分的格式。格式的取值可以是year,month,day,hour,minute,second,注意此处的格式不使用单引号。示例:selectextract(yearfromsysdate)fromdual;返回当前的年份。2、字符函数:initcap(char):首字母大写,示例:selectinitcap(hello)fromdual;输出结果:Hello。lower(char):转换为小写,示例:selectlower(FUN)fromdual;输出结果:fun。upper(char):转换为大写,示例:selectupper(sun)fromdual;输出结果:SUN
22、。ltrim(char,set):左剪裁,示例:selectltrim(xyzadams,xyz)fromdual;输出结果:adams。rtrim(char,set):右剪裁,示例:selectrtrim(xyzadams,ams)fromdual;输出结果:xyzad。translate(char,from,to):按字符翻译,示例:selecttranslate(jack,abcd,1234)fromdual;输出结果:j13k。replace(char,search_str,replace_str):字符串替换,示例:selectreplace(jackandjue,j,bl)from
23、dual;输出结果:blackandblue。instr(char,substr,pos1,pos2):查找子字串位置。示例:selectinstr(vorldwide,d)fromdual;输出结果:5。pos1为可选,表示从第几个位置查找。pos2为可选,表示从第几次出现的位置找。substr(char,pos,len):取子字符串,示例:selectsubstr(abcdefg,3,2)fromdual;输出结果:cd。concat(char1,char2):连接字符串,示例:selectconcat(Hello,world)fromdual;输出结果:Helloworld。chr:此函
24、数根据Ascii码返回对应的字符,示例:selectchr(45788),chr(53671),chr(50167),chr(65)fromdual;输出结果:曹学明A。ascii:此函数返回GBK编码值,示例:selectascii(曹)cao,ascii(学)xue,ascii(明)Mingfromdual;输出结果:457885367150167。lpad和rpad:示例:selectlpad(function,15,=)fromdual;输出结果:=function。而rpad则相反,字符串填充在右边。trim:此函数从字符串的开头或结尾(或开头和结尾)剪裁特定的字符,默认剪裁空格。如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 使用 学习 总结
限制150内