1 id自動增長
mysql可設定auto increment,oracle中則不可直接設定,需要通過序列實現。
oracle 序列
create sequence emp_sequence
increment by 1
start with 1
nomaxvalue
nocycle
cash 10
注意:
第一次nextval返回的是初始值;隨後的nextval會自動增加你定義的increment by值,
然後返回增加後的值。currval 總是返回當前sequence的值,但是在第一次nextval初始化之後才能使用currval,
否則會出錯。一次nextval會增加一次sequence的值,所以如果你在同乙個語句裡面使用多個nextval,其值就是不一樣的。
cash的作用:
如果指定cache值,oracle就可以預先在記憶體裡面放置一些sequence,這樣訪問的快些。cache裡面的取完後,oracle自動再取
一組到cache。 使用cache或許會跳號, 比如資料庫突然不正常down掉(shutdown abort),cache中的sequence就會丟失.
所以可以在create sequence的時候用nocache防止這種情況。
2 單引號
mysql支援雙引號包裹字串 oracle只支援單引號
3 翻頁
mysql 比較簡單 只需要limit n,m n起始位置 m總條數
oracle 中是使用rownum 注意不能使用rownum>某個數
4 日期
mysql中兩個字段 date time
oracle 中只有 date 直接到秒 可通過to_date 或to_char()進行轉換
mysql的當前時間 now() curdate() curtime()
oracle的當前時間sysdate()
5 空字串的處理
6 like的使用
都可用 但在oracle中的效率不高 可用字串比較函式instr(欄位名,『字串』)>0 效果更好
7 mysql是自動提交 oracle預設不自動提交
淺淺的談一下mysql與oracle的區別
這裡我會淺淺的談一下mysql與oracle的區別 相同點 1.都是關係型資料庫管理系統 2.都是目前比較流行的資料庫 不同點 1.單引號的處理 mysql裡可以用雙引號抱起字串,oracle裡只可以供單引號抱起字串。mysql是乙個自動增長的資料型別,插入資料的時候,他不會自動增長,orcale不...
ORACLE例項與ORACLE資料庫的區別
剛接觸oracle的人肯定會對例項和資料庫感到困惑,例項到底代表些什麼?為什麼會有這個概念的出現?oracle例項 程序 程序所使用的記憶體 sga 例項是乙個臨時性的東西,你也可以認為它代表了資料庫某一時刻的狀態!資料庫 重做檔案 控制檔案 資料檔案 臨時檔案 資料庫是永久的,是乙個檔案的集合。o...
mysql中char與varchar的區別
char是一種固定長度的型別,varchar則是一種可變長度的型別 char m 型別的資料列裡,每個值都占用m個位元組,如果某 個長度小於m,mysql就會在它的右邊用空格字元補足 在檢索操作中那些填補出來的空格字元將被去掉 在varchar m 型別的資料列裡,每個值 只占用剛好夠用的位元組再加...