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擴充套件