• Oracle学习 第12天


    这周刚好两个系统上线,连续几天加班到半夜,这周末总算轻松了,可以在家休息下,补一补Oracle,还是之前的教程,看到【更新及事务处理】,边看边更新吧

    1、Insert:好像没区别

    2、Update:好像没区别

    3、Delete:好像没区别

    4、事务/锁:事务概念和MsSQL差不多,锁的话本来MsSQL就不熟,只知道查表的时候WITH(NOLOCK)脏读提高效率

    5、替代变量:之前也看到过,不知数据库搞这种交互有什么意义,最多就是存储过程带变量进来就行了吧

    =====================

    也看了另外一个入门教程,函数,之前看过一个,再看这个巩固一下也好,过几天要弄真实环境来上上手了

    一、数值函数

    1、ROUND,取整

    2、CEIL、FLOOR,上下值

    3、ABS绝对值,MOD取模

    4、POWER,幂

    5、SQRT,平方根

    6、三角函数,几乎用不上,就是数学上那些写法一样

    二、字符串函数

    1、UPPER、LOWER,大小写,多了个INITCAP首字母大写

    2、SUBSTR,这个应该会比较常用,各个语言都是。SUBSTR('abcde',2,3),得到的是bcd,第三个参数忽略的话是取到尾,第二个参数负数的话是从尾开始

    3、LENGTH,长度,空格也算

    4、CONCAT,与||作用相同(MsSQL是直接用+就可以了)

    5、TRIM,去首尾字符,只能是一个,另有LTRIM,RTRIM,不带参数的话是去空格

    6、REPLACE,这个也比较常用,REPLACE('ABC','A','a'),最后一个参数不写的话就是去除

    三、日期函数

    1、SYSDATE,MsSQL是GETDATE,但格式不同,Oracle默认是DD-MON-RR,如02-7月-16

    2、ADDMONTHS,添加月份

    3、NEXT_DAY、LAST_DAY,NEXT_DAY可以看【下一个星期一】之类的,LAST_DAY无参数,仅返回所在月的最后一天

    4、MONTHS_BETWEEN,相隔月份(小数)

    5、EXTRACT,返回日期中的相应部份,如EXTRACT(YEAR FROM SYSDATE)

    6、TO_CHAR,日期转字符,默认格式DD-MON-RR,要转成习惯的格式:TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')

    7、TO_DATE,字符转日期,转换完是系统默认格式,而不是字符的格式:TO_DATE('2016-07-02', 'YYYY-MM-DD'),转出来还是系统默认的02-7月-16

    8、TO_CHAR数字转字符,参数:9忽略前面0,0位数不足补0,.或D显示小数点, ,或G显示千位符, $美元, S正负号,可以直接写最终想得到的结果

    9、TO_NUMBER字符转数字,可以直接写格式

    ============================

    再看一个存储过程的教程

    1、建立存储过程:比MsSQL方便,可以CREATE OR REPLACE,MsSQL的存储过程每次前面还要专门写几行判断【如果存在则删除】

    2、调用存储过程,要加括号?不知是不是强制的, MsSQL是不用加括号

    3、参数,要强制加IN或OUT的输入输出?

    4、事务提交/回滚,一般不在存储过程中处理这些,由调用存储过程的地方去处理

    5、调试存储过程,一般不远程调试,可以把SQL DEVELOPER复制到服务器上去,解压后直接就可以用,很方便,调试就是下断点,很直观

    6、存储函数,没什么区别,一般单个返回值用存储函数,无返回值或多个返回值,可用存储过程

    ============================

    建表改表

    1、建表,CREATE TABLE,还可以跟上 AS SELECT * FROM XX,有点像MsSQL的 SELECT * INTO XX FROM XXX,也和MsSQL一样,加一个WHERE 1<>1的话,可以仅复制结构,不复制数据

    2、改表名, RENAME XX TO XXX。 这些建表改表的DDL不受事务操作,一执行就会提交

    3、删表数据:DELETE和TRUNCATE

    4、删表:DROP TABLE

    5、闪回:FlashBack,Oracle 10g开始有的功能,类似回收站,表删了还能恢复,语法:FLASHBACK TABLE XX TO BEFORE DROP

    6、删除闪回中的表:PURGE TABLE XX,或用PURGE RECYCLEBIN清空闪回

    7、跳过闪回直接删除:DROP TABLE XX PURGE

    8、加字段:ALTER TABLE ADD ( XX NUMBER(3) );和MsSQL差不多,但多了个括号,不知是不是强制的,可加DEFAULT

    9、改字段:ALTER TABLE MODIFY( XX VARCHAR(2) ); MsSQL是ALTER COLUMN,Oracle是Modify,也可加DEFAULT,也多了括号

    10、删字段:ALTER TABLE DROP COLUMN,这个倒是一样

    11、无用列:删字段性能损耗大,ORACLE还提供了个方法,可以设置无用字段,ALTER TABLE 表名 SET UNUSED COLUMN (列名),COLUMN可以省略。

    12、删除无用列:ALTER TABLE XX DROP UNUSED COLUMNS;

    13、查看表注释:SELECT * FROM USER_TAB_COMMENTS WHERE TABLE_NAME = 'XXX';

    14、填写表注释:COMMENT ON TABLE XX IS '注释内容'

    15、查看列注释:SELECT * FROM USER_COL_COMMENTS WHERE TABLE_NAME = 'XXX';

    16、填写列注释:COMMENT ON COLUMN XX.XXX IS '注释内容'

    17、可见/不可见列:Oracle 12c 新特性,ALTER TABLE XX MODIFY( XXX INVISIBLE)

    18、表空间:即MsSQL的库

    今天虽然边学边刷微博,还看了电影,玩了游戏。。。但收获还是也挺大的,不知不觉也学了这么多

  • 相关阅读:
    OCP-1Z0-053-V12.02-40题
    OCP-1Z0-053-V12.02-255题
    OCP-1Z0-053-V12.02-407题
    OCP-1Z0-053-V12.02-298题
    OCP-1Z0-053-V12.02-38题
    OCP-1Z0-053-V12.02-274题
    OCP-1Z0-053-V12.02-159题
    OCP-1Z0-053-V12.02-406题
    OCP-1Z0-053-V12.02-369题
    OCP-1Z0-053-V12.02-610题
  • 原文地址:https://www.cnblogs.com/liuyouying/p/5634770.html
Copyright © 2020-2023  润新知