Oracle2基础2.ppt_第1页
Oracle2基础2.ppt_第2页
Oracle2基础2.ppt_第3页
Oracle2基础2.ppt_第4页
Oracle2基础2.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle学习(二),Oracle-主要数据类型,Character数据类型Long数据类型用于存储可变长度的字符数据,最大大小为2GB.Long数据类型的某些特征与Varchar2相似,当需要遵循以下限制:表中只有一列可以为long数据类型Long列不能定义为唯一或主键约束不能在Long列上建立索引过程或存储过程不能接受long数据类型作为参数Varchar2数据类型(可变长)它支持可变长度的字符串.此数据类型的大小范围介于(1到4000个字节之间),比Char节省空间等价与ASNI定义的Varchar数据类型Char数据类型(定长字符串),但当需要定长的字符串时,可以使用Char数据类型.(12000个字节之间)如果输入长度小于指定长度,则数据库会使用空格填补方式达到固定长度,Oracle-主要数据类型,Raw和LongRaw数据类型一个表中只能有一个该类型的字段,不能作为主键用于存储二进制数据的数据类型Raw数据类型用于存储面向字节的数据,如二进制数据或字符串,此数据类型的最大大小为2000个字节,使用该数据类型的时候,应该设置其大小LogRaw数据类型LongRaw数据类型存储可变长度的二进制数据,它的最大大小可以为2GB,Oracle-主要数据类型,LOB数据类型LOB也称为LargeObject数据类型.可以存储非结构化的信息,如声音、图片、视频文件,它的最大大小可以为4GBCLOB表示CharacterLOB(字符LOB)可以存储大量的字符数据。BLOB表示BinaryLOB(二进制LOB)可以存储大型二进制对象BFILE表示BinaryFile(二进制文件),用于操作系统文件中存储的二进制文件.,Oracle-主要数据类型,Date数据类型Datatime数据类型用于存储日期值和时间值TIMESTAMP用于存储年、月和日等日期值以及小时、分钟和秒等时间值。INTERVALDAYTOSECOND此数据类型用于将时间存储为日、小时、分钟直至秒的时间间隔IntervalDayToSecond.javaINTERVALYEARTOMONTH存储年和月的时间间隔TIMESTAMPWITHTIMEZONE表示日期和时间值,及其相关的时区设置TIMESTAMPWITHLOCALTIMEZONE存储数据时将被规范化为数据库时区,事务处理,数据库对所做的所有修改都称为事务处理。只有将事务处理修改提交后,才能永久的修改数据库中的信息DDL语句,自动的进行事务处理不需要我们操作COMMIT如果操作成功,则借助COMMIT命令,才能对数据库进行永久的事务处理修改ROLLBACK用于撤消在当前事务处理中所执行的操作ROLLBACKTOSAVEPOINTsave_pt-回退到某个保存点SAVEPOINT保存点类似于标记,它将很长的事务处理划分为较小的事务处理。用于标识以后可以回滚到的事务处理中的点,SQL查询函数,单行函数日期函数Add_months-对指定日期增加指定的月数后返回一个日期add_months(d,m)-d是日期,m是月数Last_day-返回月末最后一天相应的日期last_day(d)Months_between-两个日期之间月份数months_between(d1,d2)Round-返回日期,并词日期舍入到格式模式所指定的单位round(d,fmt)-默认情况下舍入到最近的日期(年以7月1日,日以16日为分水岭)Next_day-next_day(d,day)d表示日期,day表示一个星期的任意一天,SQL查询函数,日期函数Truncate-返回日期,其时间部分截断为格式模型所指定的单位Trunc(sysdate,year)截断结果为当月的1号,如01-jan-04Trunc(sysdate,month)截断结果为当月的1号,如01-jan-04Trunc(sysdate,date)截断到最近的星期天Trunc(sysdate)舍入到最近的天,即sysdateGreatestGreatest(d1,d2,)该函数返回最晚日期New_time显示日期列或日期常数在其他时区的时间和日期new_time(date,this,other)其中this为当前时区的三个缩写字母,而other是由目标日期所在的时区的三个缩写字母,如:new_time(13-feb-05,est,yst),SQL查询函数,字符函数Initcap(char)-将首字母转化为大写Lower(char)-将查询信息全部转化为小写Upper(char)将查询信息全部转为大写Ltrim(char,set)从左边起将字符中的与set相同的一段替换为空格(截取掉)Rtrim(char,set)从右边起将字符中的与set相同的一段替换为空格(截取掉)Translate(char,from,to)将字符中的那些字替换掉Replace(char,searchstring,repstring)将字符串中的所有与searchstring相同的字符替换为repstring字符Substr(char,m,n)截取字符Concat(expr1,expr2)合并两个字符信息,SQL查询函数,字符函数LPAD填充函数LPAD(function,8,=)从左边起填充RPAD(function,9,=)从右边起填充Decode逐行替换值Decode(字符,成立条件,替换内容)Length函数返回一个字符串的长度,SQL查询函数,数字函数Abs返回绝对值Ceil舍去小数floor(n)小于等于数值n的最大整数round(n,m)将n四舍五入,保留小数点后m位Power(m,n)某函数的次方Mod(m,n)函数返回一个值除以另一个值后的余数Sign返回值的符号负数为-1,SQL查询函数,转换函数To_char(d,n,fmt)d是日期、n是数字、fmt是指定日期格式的格式模型To_char(date,YYYY-MM-DDhh24:hi:ss)To_char(itemrate,$99,999)To_date(char,fmt)将字符串转化为日期To_number函数可以将包含的字符转化为数字,SQL查询函数,常规函数NVL(exp1,exp2)如果exp1为null,则nvl将返回exp2,否则只返回exp1,如果exp1与exp2不为同一类型,则oracle会将exp2自动转化为exp1类型NULLIF(exp1,exp2)如果exp1等于exp2则返回空NVL2(exp1,exp2,exp3)如果exp1不为空,则返回exp2如果exp1为空,则返回exp3COALESCE(exp1,exp2,exp3.expn)返回列表中第一个非空表达式,集合操作符,Union返回查询所选定的所有的行,去重复的Selectordernofromorder_masterUnionSelectordernofromorder_detailUnionall返回两个查询所选定的所有行,包括重复行Selectordernofromorder_masterUnionallSelectordernofromorder_detailIntersect仅返回两个查询都有的行Selectordernofromorder_masterIntersectSelectordernofromorder_detailMinus返回仅由第一个查询选定并且没有被第二个查询选定的所有不同行Selectordernofromorder_masterMinusSelectordernofromorder_detail,Oracle-视图,视图是一个经过定制的表示方式,用来显示包含在一个或多个表(或其他试图)中的数据。视图获取查询的输出结果,并将其作为表来处理。可以视为“已存储的查询”或“虚拟表”CreateORREPLACEFORCE/NOFORCEVIEWviewAssubqueryWITHCHECKOPTIONCONSTRAINTconstraintWITHREADONLYCONSTRAINTconstraint;,Oracle-视图,ORREPLACE:如果视图已存在,此选项将重新创建该视图FORCE:无论基表是否存在,都将创建视图NOFORCE:这是默认值,仅当基表存在的时候才创建视图VIEW表示要创建的视图名称WITHCHECKOPTION:只能插入或更新视图可以访问的行。术语constraint表示为CHECKOPTINON约束指定的名字WITHREADONLY:确保不能在此视图上执行任何DML操作.,Oracle-视图,Oracle还可以通过联接多个表来创建视图,任何UPDATE、INSERT或DELETE语句都只能修改一个底层的基表(不过可以通过INSTEADOF触发器实现操作),Oracle-视图,视图中还可以使用单行函数(由数字、字符、日期组成)、分组函数和表达式视图的查询不能选择伪列如果视图的查询中包含联接(键保留表除外)、集合操作符、分组函数或DISTINCT子句,则不能执行删除、更新和插入操作在视图中所作的修改将影响基表,反之亦然分组函数和GROUPBY子句也可以包含在视图中使用函数时,应为列指定一个别名,如上面的示例所示,Oracle-视图,分区视图-数据存储在单独的表中。在运行期间,通过使用关系操作符UNIONALL,可以将这些表联合起来。删除视图-DropVIEW命令,Oracle-序列,序列是Oracle提供的一个对象,可以用来生成唯一、连续的整数CreatesequenceseqINCREMENTBYn-序列号之间的间隔STARTWITHn-第一个序列号MAXVALUEn/NOMAXVALUE-可生成的最大值MINVALUEn/NOMINVALUE-序列最小值CYCLE/NOCYCLE-当序列达到最小或最大值后是否重新开始生成值CACHEn/NOCACHE;-是否使用缓存,Oracle-序列,访问序列Oracle提供了currval和nextval伪列来访问该序列的值Nextval-创建序列后第一次使用nextval的时候,将返回该序列的初始值,以后每次引用nextval时,将使用incrementby子句的值来增加序列值,并返回这个新值Currval-返回序列的当前值,Oracle-序列,修改序列通过alertsequence语句来修改序列定义设置或删除MINVALUE或MAXVALUE修改增量值修改缓存中的序列号的数目不能包含startwith参数值AltersequencesequINCREMENTBYnMACVALUEn/NOMAXVALUEMINVALUEn/NOMINVALUECYCLE/NOCYCLECACHEn/NOCACHE;,Oracle-序列,删除序列Dropsequencesequ,Oracle-伪列,Oracle提供了一种在表结构中不实际存在列,称为伪列NextvalCurrvalROWNUMoracle系统顺序分配为从查询返回的行的编号当不能已其他表的别名来做前缀名ROWIDrowid就是唯一标志记录物理位置的一个iddata_object_id#+rfile#+block#+row#组成,占用10个bytes的空间LEVEL仅仅用在对表执行层次树遍历的SELECT语句中,使用STARTWITH和CONNECTBY子句LEVEl把树的当前层次作为一个NUMBER数值返回.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论