Mysql和Oracle的區別


主鍵:

MySql一般使用自動增長類型,在創建表的時候只要指定表的主鍵為auto increment,插入記錄時就不需要再為主鍵添加記錄了,主鍵會自動增長。Oracle中沒有自動增長,主鍵一般使用序列,插入記錄時將序列號的下一值付給該字段即可,只是ORM框架只是需要native主鍵生成策略即可。

•單引號的處理:

MySql里可以使用雙引號來包起字符串,Oracle里要使用單引號包起字符串。

•分頁查詢:

這個應該是兩者最明顯的區別了,很多人都知道MySql中分頁很簡單,因為他有專門的關鍵字limit來實現分頁查詢;

但是Oracle里面沒有這種關鍵字來實現分頁查詢的,所以它實現起來就比MySql要繁瑣得多了,在每個結果集中只有一個rownum字段標明它的位置,並且只能用rownum<=某個數,不能用rownum>=某個數,因為ROWNUM是偽列,在使用時所以需要為ROWNUM取一個別名,變成邏輯列,然后來操作。select * from (select ROWNUM as num,A.* from (select * from test) A where ROWNUM <=40) where num >= 20; 這是這兩者的最大的不同。

 

各種方法的區別:

1.數據類型

Oracle中的整型,number(),字符串類型,varchar2()

MySQL中的整型,int(),字符串類型,varchar()

2.日期

Oracle中的日期,to_date()字符串轉日期,to_char()日期轉字符串,last_day()月的最后一天,add_months()對指定的日期加上指定月,months_between()相差的月,next_day()返回給定日期第二天開始一周內

的指定周幾的日期。

MySQL中的日期,date(),time(),timedate(),timestamp(),Year()

3.空值

MySQL中的null值處理,用ifnull(),一般用法ifnull(comm,0);

Oracle中的空值處理,用NVL()兩個參數,NVL2()三個參數,其中null在Oracle中最大,在MySQL中最小

4.去空

MySQL中只有trim(),Oracle中有trim(),ltrim(),rtrim()

5.分組

group up在Oracle中后面要跟出現的所有字段名,MySQL中可以跟單獨字段


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM