oracle與mysql的區別


1、列類型區別

  oracle:可變長度varchar2、浮點型number,小數浮點型number(m,n),可變二進制數據raw,大對象類型(存儲無結構數據,最大4G)lob

  mysql:可變長度varchar、浮點型float、double、小數decimal(m,n),可變二進制數據blob

2、約束(NOT NULL 非空約束、UNIQUE 唯一約束、PRIMARY KEY 主鍵約束 ,FOREIGN KEY 外鍵約束,CHECK 檢查約束)

  oracle:多了CHECK(檢查約束),eg:constraint gen_ch check(gender in ('male','female'))

3、序列(mysql沒有,因為mysql有自增AUTO_INCREMENT,而oracle需要新增序列seq然后再用seq.nextval來記錄id)

4、同義詞(別名)

  oracle:create synonym t for a.table;

  mysql:select * from table as t;

5、查詢表(當select 1;時沒表時,oracle需加上from dual)

  oracle:select 1 from dual;

6、列別名(oracle暫無)

  mysql:select column as c from table;

7、分頁

  oracle:虛擬列(rownum)

  mysql:select * from table limit 2,1;

8、全外連接(mysql沒有)

  oracle:full outer join

9、索引

  oracle:創建基本一樣,但是查詢索引不一樣,eg:select * from user_ind_columns;

  mysql:show create table t;

9、事務(oracle不允許不用事務。相同點隱式提交遇到DDL或DCL語句,或退出系統會隱式提交)

  oracle:可以設置保存點,及部分回滾,eg:savepoint s1;rollback to s1;

  mysql:需要start transaction;

10、pl/sql

11、儲存過程、函數(oracle多了關鍵詞is)

12、游標

  oracle:c%isopen 判斷是否打開游標,c%rowcount 當前fetch得到的行,c%found 上次fetch得到的數據 c%notfound 與found相反

13、觸發器

  mysql:新數據表示(new)

  oracle:新數據表示(:new)

14、php連接數據庫

  mysql:mysqli擴展

  oracle:oci8擴展

 


免責聲明!

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



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