欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    MLDN-魔乐科技李兴华Oracle教程学习笔记.docx

    • 资源ID:1663117       资源大小:161.40KB        全文页数:22页
    • 资源格式: DOCX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MLDN-魔乐科技李兴华Oracle教程学习笔记.docx

    NO.数据类型关键字描述1字符串Varchar2(n)N表示该字符串所能储存的最大长度;2整数Number(n)表示最多为n位的整数,有时候也可以用int代替;3小数Number(n,m)N为小数,n-m为整数位,有时也可以使用float代替;4日期Date存放日期和时间5大文本Clob可以存储海量文字,最大4G;6大对象Blob存放二进制数据,例如电影图片等;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;表已清除。也可以清空回收站;PURGE RECYCLEBIN;如果希望删除的时候不进入回收站,则可以加一个purge关键字;Drop table myemp purge;表结构的修改:添加列:Alter table add(列1 类型)等和创建类似;如果希望修改已经存在的列:Alter table modify ();和创建表类似;但是表结构能不修改就不修改,因为世界上性能最好的DB2是不允许修改表结构的;如果遇到要修改表结构的时候,把表删除,然后重新建立;唯一约束: UNIQUEUnique对于插入多行为null的值的处理理解为不重复,因为这里不知道它的具体值;主键约束:PRIMARY KEY;主键约束=非空约束+唯一约束;设置为主键之后,不允许为空,而且不允许重复;作为数据的唯一标记出现;从正常的开发而言,一张表一般只设置一个主键,但是从SQL语法来看,一张表可以设置多个主键,称为复合主键:Create table member(Mid number,Name varchar2(50) not null,Constraint pk_mid_name primary key(mid,name);检查约束:CheckCreate table member(Mid number,Name varchar2(50) not null,Sex varchar2(10) not null,Age number(3) ,Constraint pk_mid_name primary key(mid),Constraint ck_sex check (sex in(男,女,中),Constraint ck_age check (age between 0 and 200);Drop table member;Drop table book;Create table member(mid number,name varchar2(50) not null,Constraint pl_mid primary key(mid);Create table book(bid number,title varchar2(50) not null,mid number,Constraint pk_bid primary key(bid),Constraint fk_mid foreign key(mid) references member(mid);笔记1部分:1、使用host 可以引用windows系统的copy命令等:Host copy d:demo.sql d:hello.txt2、scott用户的表结构:可以使用以下命令查看所有表:Select * from tab;可以使用以下命令查看表结构:Desc 表名称;雇员表(以下)No.名称类型描述1EMPNONUMBER(4)雇员的编号,由四位数字组成2ENAMEVARCHAR2(10)雇员的姓名,由十位字符组成3JOBVARCHAR2(9)雇员的职位4MGRNUMBER(4)雇员对应的领导编号,领导也是雇员5HIREDATEDATE雇员的雇佣日期6SALNUMBER(7,2)基本工资,其中两位小数,五位整数7COMMNUMBER(7,2)奖金,佣金(销售人员独有的)8DEPTNONUMBER(2)雇员所在的部门编号以下表存放工资数据,基本上用不到;工资登记表:NO.名称类型描述1GRADENUMBER工资的等级2LOSALNUMBER此登记的最低工资3HISALNUMBER此等级的最高工资SQL> select '雇员编号是:'|empno|'的雇员姓名是:'|ename|',基本工资是:'|sal|',职位是'|job|'!'雇员信息 from emp;雇员信息-雇员编号是:7369的雇员姓名是:SMITH,基本工资是:800,职位是CLERK!雇员编号是:7499的雇员姓名是:ALLEN,基本工资是:1600,职位是SALESMAN!雇员编号是:7521的雇员姓名是:WARD,基本工资是:1250,职位是SALESMAN!雇员编号是:7566的雇员姓名是:JONES,基本工资是:2975,职位是MANAGER!雇员编号是:7654的雇员姓名是:MARTIN,基本工资是:1250,职位是SALESMAN!雇员编号是:7698的雇员姓名是:BLAKE,基本工资是:2850,职位是MANAGER!雇员编号是:7782的雇员姓名是:CLARK,基本工资是:2450,职位是MANAGER!雇员编号是:7788的雇员姓名是:SCOTT,基本工资是:3000,职位是ANALYST!雇员编号是:7839的雇员姓名是:KING,基本工资是:5000,职位是PRESIDENT!雇员编号是:7844的雇员姓名是:TURNER,基本工资是:1500,职位是SALESMAN!雇员编号是:7876的雇员姓名是:ADAMS,基本工资是:1100,职位是CLERK!在oracle中所有的数据都是区分大小写的;大小写错误可能查询不出相应的数据;以下三个查询语句的结构是相同的:Select * from emp where job!=CLERK;Select * from emp where job<>CLERK;Select * from emp where not job=CLERK -这三种语法都可以在SQL Server中使用;对between and 求反:Select * from emp where not sal between 1500 and 3000Between and 不只是对数据,对日期也一样进行操作;Select * from emp where hiredate between 01-1月-1981 and 31-12月-81Set linesize 300;Set pagesize 200; 对于like操作符,不止可以用于字符串型的数据,而且可以用于其他类型的数据; Order by子句是写在所有语句最后的子句; INITCAP函数,将字符串首字母变为大写;而所有剩余的字母会变成小写; Oracle数据库中为了查询的方便,专门提供了一个dual的虚拟表,这样from后边便可以跟这个表名进行查询; Select * from emp where ename=UPPER(&hh);中的单引号中间的字符表示一个变量,下一步系统会让用户输入该变量的值,然后系统进行查询:结果图如下: SQL> select * from emp where ename=upper('&hh'); 输入 hh 的值: smith 原值 1: select * from emp where ename=upper('&hh') 新值 1: select * from emp where ename=upper('smith')EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO- - - - - - - -7369 SMITH CLERK 7902 17-12月-80 800 20 字符串操作有两种方式:语法一:substr(字符串,开始点)表示截取该字符串从开始点一直到结尾的部分;语法二:substr(字符串,开始点,结束点)截取字符串倒数三个字符:除了可以用length(字符串)-2以外,还可以使用负数表示:SQL> select substr(ename,-3) from emp;SUBSTR-ITHLENARDNESTINAKEARKOTTINGNERAMS面试题:请问substr截取的时候下标是从0还是从1开始?答:从0和1都一样;数字函数:Round(数字|列,保留小数的位数),表示四舍五入的操作;保留小数位数如果不写,则表示不保留小数;Trunc(数字|列,保留小数的位数),舍弃指定位置的内容;Mod(数字1,数字2)取模,取余数;SQL> select round(903.53567),round(-903.53567),round(903.53567,-1) from dual;ROUND(903.53567) ROUND(-903.53567) ROUND(903.53567,-1)- - - 904 -904 900SQL> select trunc(903.5325),trunc(-903.5367),trunc(903.53567,2),trunc(903.53567,-1) from dual;TRUNC(903.5325) TRUNC(-903.5367) TRUNC(903.53567,2) TRUNC(903.53567,-1)- - - - 903 -903 903.53 900可以使用sysdate来取得当前日期的值;Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)关键词: Oracle函数    字符串函数    数学函数    日期函数    逻辑运算函数                                           SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual; A A ZERO SPACE - - - - 65 97 48 32 2.CHR 给出整数,返回对应的字符; SQL> select chr(54740) zhao,chr(65) chr65 from dual; ZH C - - 赵 A 3.CONCAT 连接两个字符串; SQL> select concat(010-,88888888)|转23 高乾竞电话 from dual; 高乾竞电话 - 010-88888888转23 4.INITCAP 返回字符串并将字符串的第一个字母变为大写; SQL> select initcap(smith) upp from dual; UPP - Smith 5.INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置; C1 被搜索的字符串 C2 希望搜索的字符串 I 搜索的开始位置,默认为1 J 出现的位置,默认为1 SQL> select instr(oracle traning,ra,1,2) instring from dual; INSTRING - 9 6.LENGTH 返回字符串的长度; SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal) from gao.nchar_tst; NAME LENGTH(NAME) ADDR LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL) - - - - - - 高乾竞 3 北京市海锭区 6 9999.99 7 7.LOWER 返回字符串,并将所有的字符小写 SQL> select lower(AaBbCcDd)AaBbCcDd from dual; AABBCCDD - aabbccdd 8.UPPER 返回字符串,并将所有的字符大写 SQL> select upper(AaBbCcDd) upper from dual; UPPER - AABBCCDD 9.RPAD和LPAD(粘贴字符) RPAD 在列的右边粘贴字符 LPAD 在列的左边粘贴字符 SQL> select lpad(rpad(gao,10,*),17,*)from dual; LPAD(RPAD(GAO,1 - *gao* 不够字符则用*来填满 10.LTRIM和RTRIM LTRIM 删除左边出现的字符串 RTRIM 删除右边出现的字符串 SQL> select ltrim(rtrim( gao qian jing , ), ) from dual; LTRIM(RTRIM( - gao qian jing 11.SUBSTR(string,start,count) 取子字符串,从start开始,取count个 SQL> select substr(13088888888,3,8) from dual; SUBSTR( - 08888888 12.REPLACE(string,s1,s2) string 希望被替换的字符或变量 s1 被替换的字符串 s2 要替换的字符串 SQL> select replace(he love you,he,i) from dual; REPLACE(H - i love you 13.SOUNDEX 返回一个与给定的字符串读音相同的字符串 SQL> create table table1(xm varchar(8); SQL> insert into table1 values(weather); SQL> insert into table1 values(wether); SQL> insert into table1 values(gao); SQL> select xm from table1 where soundex(xm)=soundex(weather); XM - weather wether 14.TRIM(s from string) LEADING 剪掉前面的字符 TRAILING 剪掉后面的字符 如果不指定,默认为空格符 15.ABS 返回指定值的绝对值 SQL> select abs(100),abs(-100) from dual; ABS(100) ABS(-100) - - 100 100 16.ACOS 给出反余弦的值 SQL> select acos(-1) from dual; ACOS(-1) - 3.1415927 17.ASIN 给出反正弦的值 SQL> select asin(0.5) from dual; ASIN(0.5) - .52359878 18.ATAN 返回一个数字的反正切值 SQL> select atan(1) from dual; ATAN(1) - .78539816 19.CEIL 返回大于或等于给出数字的最小整数 SQL> select ceil(3.1415927) from dual; CEIL(3.1415927) - 4 20.COS 返回一个给定数字的余弦 SQL> select cos(-3.1415927) from dual; COS(-3.1415927) - -121.COSH 返回一个数字反余弦值 SQL> select cosh(20) from dual; COSH(20) - 242582598 22.EXP 返回一个数字e的n次方根 SQL> select exp(2),exp(1) from dual; EXP(2) EXP(1) - - 7.3890561 2.7182818 23.FLOOR 对给定的数字取整数 SQL> select floor(2345.67) from dual; FLOOR(2345.67) - 2345 24.LN 返回一个数字的对数值 SQL> select ln(1),ln(2),ln(2.7182818) from dual; LN(1) LN(2) LN(2.7182818) - - - 0 .69314718 .99999999 25.LOG(n1,n2) 返回一个以n1为底n2的对数 SQL> select log(2,1),log(2,4) from dual; LOG(2,1) LOG(2,4) - - 0 2 26.MOD(n1,n2) 返回一个n1除以n2的余数 SQL> select mod(10,3),mod(3,3),mod(2,3) from dual; MOD(10,3) MOD(3,3) MOD(2,3) - - - 1 0 2 27.POWER 返回n1的n2次方根 SQL> select power(2,10),power(3,3) from dual; POWER(2,10) POWER(3,3) - - 1024 27 28.ROUND和TRUNC 按照指定的精度进行舍入 SQL> select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual; ROUND(55.5) ROUND(-55.4) TRUNC(55.5) TRUNC(-55.5) - - - - 56 -55 55 -55 29.SIGN 取数字n的符号,大于0返回1,小于0返回-1,等于0返回0 SQL> select sign(123),sign(-100),sign(0) from dual; SIGN(123) SIGN(-100) SIGN(0) - - - 1 -1 0 30.SIN 返回一个数字的正弦值 SQL> select sin(1.57079) from dual; SIN(1.57079) - 1 31.SIGH 返回双曲正弦的值 SQL> select sin(20),sinh(20) from dual; SIN(20) SINH(20) - - .91294525 242582598 32.SQRT 返回数字n的根 SQL> select sqrt(64),sqrt(10) from dual; SQRT(64) SQRT(10) - - 8 3.1622777 33.TAN 返回数字的正切值 SQL> select tan(20),tan(10) from dual; TAN(20) TAN(10) - - 2.2371609 .64836083 34.TANH 返回数字n的双曲正切值 SQL> select tanh(20),tan(20) from dual; TANH(20) TAN(20) - - 1 2.2371609 35.TRUNC 按照指定的精度截取一个数 SQL> select trunc(124.1666,-2) trunc1,trunc(124.16666,2) from dual; TRUNC1 TRUNC(124.16666,2) - - 100 124.16 36.ADD_MONTHS 增加或减去月份 SQL> select to_char(add_months(to_date(199912,yyyymm),2),yyyymm) from dual; TO_CHA - 200002 SQL> select to_char(add_months(to_date(199912,yyyymm),-2),yyyymm) from dual; TO_CHA - 199910 37.LAST_DAY 返回日期的最后一天 SQL> select to_char(sysdate,yyyy.mm.dd),to_char(sysdate)+1,yyyy.mm.dd) from dual; TO_CHAR(SY TO_CHAR(S - - 2004.05.09 2004.05.10 SQL> select last_day(sysdate) from dual; LAST_DAY(S - 31-5月 -04 38.MONTHS_BETWEEN(date2,date1) 给出date2-date1的月份 SQL> select months_between(19-12月-1999,19-3月-1999) mon_between from dual; MON_BETWEEN - 9 SQL>selectmonths_between(to_date(2000.05.20,yyyy.mm.dd),to_date(2005.05.20,yyyy.mm.dd) mon_betw from dual; MON_BETW - -60 39.NEW_TIME(date,this,that) 给出在this时区=other时区的日期和时间 SQL> select to_char(sysdate,yyyy.mm.dd hh24:mi:ss) bj_time,to_char(new_time 2 (sysdate,PDT,GMT),yyyy.mm.dd hh24:mi:ss) los_angles from dual; BJ_TIME LOS_ANGLES - - 2004.05.09 11:05:32 2004.05.09 18:05:32 40.NEXT_DAY(date,day) 给出日期date和星期x之后计算下一个星期的日期 SQL> select next_day(18-5月-2001,星期五) next_day from dual; NEXT_DAY - 25-5月 -0141.SYSDATE 用来得到系统的当前日期 SQL> select to_char(sysdate,dd-mm-yyyy day) from dual; TO_CHAR(SYSDATE, - 09-05-2004 星期日 trunc(date,fmt)按照给出的要求将日期截断,如果fmt=mi表示保留分,截断秒 SQL> select to_char(trunc(sysdate,hh),yyyy.mm.dd hh24:mi:ss) hh, 2 to_char(trunc(sysdate,mi),yyyy.mm.dd hh24:mi:ss) hhmm from dual; HH HHMM - - 2004.05.09 11:00:00 2004.05.09 11:17:00 42.CHARTOROWID 将字符数据类型转换为ROWID类型 SQL> select rowid,rowidtochar(rowid),ename from scott.emp; ROWID ROWIDTOCHAR(ROWID) ENAME - - - AAAAfKAACAAAAEqAAA AAAAfKAACAAAAEqAAA SMITH AAAAfKAACAAAAEqAAB AAAAfKAACAAAAEqAAB ALLEN AAAAfKAACAAAAEqAAC AAAAfKAACAAAAEqAAC WARD AAAAfKAACAAAAEqAAD AAAAfKAACAAAAEqAAD JONES 43.CONVERT(c,dset,sset) 将源字符串 sset从一个语言字符集转换到另一个目的dset字符集 SQL> select convert(strutz,we8hp,f7dec) "conversion" from dual; conver - strutz 44.HEXTORAW 将一个十六进制构成的字符串转换为二进制 45.RAWTOHEXT 将一个二进制构成的字符串转换为十六进制 46.ROWIDTOCHAR 将ROWID数据类型转换为字符类型 47.TO_CHAR(date,format) SQL> select to_char(sysdate,yyyy/mm/dd hh24:mi:ss) from dual; TO_CHAR(SYSDATE,YY - 2004/05/09 21:14:41 48.TO_DATE(string,format) 将字符串转化为ORACLE中的一个日期 49.TO_MULTI_BYTE 将字符串中的单字节字符转化为多字节字符 SQL> select to_multi_byte(高) from dual; TO - 高 50.TO_NUMBER 将给出的字符转换为数字 SQL> select to_number(1999) year from dual; YEAR - 1999 51.BFILENAME(dir,file) 指定一个外部二进制文件 SQL>insert into file_tb1 values(bfilename(lob_dir1,image1.gif); 52.CONVERT(x,desc,source) 将x字段或变量的源source转换为desc SQL> select sid,serial#,username,decode(command, 2 0,none, 3 2,insert, 4 3, 5 select, 6 6,update, 7 7,delete, 8 8,drop, 9 other) cmd from v$session where type!=background; SID SERIAL# USERNAME CMD - - - - 1 1 none 2 1 none 3 1 none 4 1 none 5 1 none 6 1 none 7 1275 none 8 1275 none 9 20 GAO select 10 40 GAO none 53.DUMP(s,fmt,start,length) DUMP函数以fmt指定的内部数字格式返回一个VARCHAR2类型的值 SQL> col global_name for a30 SQL> col dump_string for a50 SQL> set lin 200 SQL> select global_name,dump(global_name,1017,8,5) dump_string from global_name; GLOBAL_NAME DUMP_STRING - - ORACLE.WORLD Typ=1 Len=12 CharacterSet=ZHS16GBK: W,O,R,L,D 54.EMPTY_BLOB()和EMPTY_CLOB() 这两个函数都是用来对大数据类型字段进行初始化操作的函数 55.GREATEST 返回一组表达式中的最大值,即比较字符的编码大小. SQL> select greatest(AA,AB,AC) from dual; GR - AC SQL> select greatest(啊,安,天) from dual; GR - 天 56.LEAST 返回一组表达式中的最小值 SQL> select least(啊

    注意事项

    本文(MLDN-魔乐科技李兴华Oracle教程学习笔记.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开