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擴展