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