論MySQL與Oracle的區別

2022-08-17 14:24:13 字數 1231 閱讀 1825

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 型別的資料列裡,每個值 只占用剛好夠用的位元組再加...