標籤:
1: Mysql一般使用自動成長類型,在建立表時只要指定表的主鍵為auto increment,插入記錄時,不需要再指定該記錄的主索引值,Mysql將自動成長;Oracle沒有自動成長類型,主鍵一般使用的序列,插入記錄時將序號的下一個值付給該欄位即可;只是ORM架構是只要是native主鍵建置原則即可。2:MYSQL裡可以用雙引號包起字串,ORACLE裡只可以用單引號包起字串。在插入和修改字串前必須做單引號的替換:把所有出現的一個單引號替換成兩個單引號。3:MYSQL處理翻頁的SQL語句比較簡單,用LIMIT 開始位置, 記錄個數;ORACLE處理翻頁的SQL語句就比較繁瑣了。每個結果集只有一個ROWNUM欄位標明它的位置, 並且只能用ROWNUM<100, 不能用ROWNUM>804:MYSQL的非空欄位也有空的內容,ORACLE裡定義了非空欄位就不容許有空的內容。按MYSQL的NOT NULL來定義ORACLE表結構, 導資料的時候會產生錯誤。因此導資料時要對Null 字元進行判斷,如果為NULL或Null 字元,需要把它改成一個空格的字串。5:MYSQL裡用 欄位名 like ‘%字串%‘,ORACLE裡也可以用 欄位名 like ‘%字串%‘ 但這種方法不能使用索引, 速度不快。6:長字串的處理ORACLE也有它特殊的地方。INSERT和UPDATE時最大可操作的字串長度小於等於4000個單位元組, 如果要插入更長的字串, 請考慮欄位用CLOB類型,方法借用ORACLE裡內建的DBMS_LOB程式包。插入修改記錄前一定要做進行非空和長度判斷,不可為空的欄位值和超出長度欄位值都應該提出警告,返回上次操作。7:Oracle實現了ANSII SQL中大部分功能,如,事務的隔離等級、傳播特性等而Mysql在這方面還是比較的若8:Oracle不等於支援!= 和 <> 而mysql支援的是<>9:Oracle ‘’和null都是null 而mysql則不是。
Oracle與mysql區別