詳解Mysql和Oracle之間的誤區(qū)
本質(zhì)區(qū)別
- Oracle數(shù)據(jù)庫(kù)是一個(gè)對(duì)象關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(收費(fèi))
- MySQL是一個(gè)開源的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(免費(fèi))
數(shù)據(jù)庫(kù)的安全性
- mysql使用三個(gè)參數(shù)來(lái)驗(yàn)證用戶,即用戶名,密碼和位置
- Oracle使用了更多的安全功能,如用戶名,密碼,配置文件,本地身份驗(yàn)證,外部身份驗(yàn)證,高級(jí)安全增強(qiáng)功能等
權(quán)限
MySQL的權(quán)限系統(tǒng)是通過(guò)繼承形成的分層結(jié)構(gòu)。權(quán)限授于高層時(shí),其他低層隱式繼承被授于的權(quán)限,當(dāng)然低層也可改寫這些權(quán)限。
按授權(quán)范圍不同,MySQL有以下種授權(quán)方式:
1、全局;
2、基于每個(gè)主機(jī);
3、基于表;
4、基于表列。
每一級(jí)在數(shù)據(jù)庫(kù)中都有一個(gè)授權(quán)表。當(dāng)進(jìn)行權(quán)限檢查時(shí),MySQL從高到低檢查每一張表,低范圍授權(quán)優(yōu)先于高范圍授權(quán)。
與Oracle不同,MySQL沒(méi)有角色的概念。也就是說(shuō),如果對(duì)一組用戶授于同樣的權(quán)限,需要對(duì)每一個(gè)用戶分別授權(quán)。
模式遷移
模式包含表、視圖、索引、用戶、約束、存儲(chǔ)過(guò)程、觸發(fā)器和其他數(shù)據(jù)庫(kù)相關(guān)的概念。多數(shù)關(guān)系型數(shù)據(jù)庫(kù)都有相似的概念。
包含內(nèi)容如下:
1.模式對(duì)象的相似性;
2.模式對(duì)象的名稱;
3.表設(shè)計(jì)時(shí)的關(guān)注點(diǎn);
4.多數(shù)據(jù)庫(kù)整合;
5.MySQL模式整合的關(guān)注點(diǎn)。
模式對(duì)象的相似性
就模式對(duì)象,Oracle和MySQL存儲(chǔ)諸多的相似,但也有一些不同

模式對(duì)象的名稱
Oracle是大小寫不敏感的,并且模式對(duì)象是以在寫時(shí)行存儲(chǔ)。在Oracle的世界中,列、索引、存儲(chǔ)過(guò)程、觸發(fā)器以及列別名都是大小寫不敏感,并且在所有平臺(tái)都是如此。MySQL是大小寫敏感的,如數(shù)據(jù)庫(kù)相對(duì)的存儲(chǔ)路徑、表對(duì)應(yīng)的文件都是如此
當(dāng)把關(guān)鍵字用引號(hào)引起來(lái)時(shí),Oracle和MySQL都允許把這些關(guān)鍵字用于模式對(duì)象。但MySQL對(duì)于一些關(guān)鍵字,不加引號(hào)也行。
表設(shè)計(jì)的關(guān)注點(diǎn)
1、字符數(shù)據(jù)的類型;
2、列默認(rèn)值。
3.字符數(shù)據(jù)類型
(1) Oracle支持4種字體類型:CHAR、NCHAR、NVARCHAR2和VARCHAR2。CHAR和NCHAR的最大長(zhǎng)度為2000字節(jié),
NVARCHAR2和VARCHAR2最大長(zhǎng)度為4000字節(jié)。
(2)MySQL和Oracle在字符型數(shù)據(jù)保存和讀取上存在一些不同。MySQL的字符類型,如CHAR和VARCHAR的長(zhǎng)度小于65535字節(jié)。Oracle支持4種字體類型:C HAR、NCHAR、NVARCHAR2和VARCHAR2。CHAR和NCHAR的最大長(zhǎng)度為2000字節(jié),NVARCHAR2和VARCHAR2最大長(zhǎng)度為4000字節(jié)。
MySQL會(huì)處理列默認(rèn)值,不允許他為空,這點(diǎn)和Oracle不同。在Oracle中如果向表插入數(shù)據(jù),需要對(duì)有所有不允許為NULL列的值。
多數(shù)據(jù)庫(kù)遷移
如果多個(gè)MySQL數(shù)據(jù)庫(kù)位于同一個(gè)數(shù)據(jù)庫(kù)服務(wù)上,支持遷移。
數(shù)據(jù)存儲(chǔ)概念
MySQL的數(shù)據(jù)庫(kù)對(duì)應(yīng)于服務(wù)器上數(shù)據(jù)目錄內(nèi)的了目錄,這一數(shù)據(jù)存儲(chǔ)方式與多數(shù)據(jù)數(shù)據(jù)庫(kù)不同,也包括Oracle。數(shù)據(jù)庫(kù)中的表對(duì)應(yīng)一個(gè)或者多個(gè)數(shù)據(jù)庫(kù)目錄下的文件,并取表存儲(chǔ)時(shí)的存儲(chǔ)引擎。
一個(gè)Oracle數(shù)據(jù)庫(kù)包含一個(gè)或者多個(gè)表空間。表空間對(duì)應(yīng)數(shù)據(jù)在磁盤上的物理存儲(chǔ)。表空間是從一個(gè)或者多個(gè)數(shù)據(jù)文件開始構(gòu)建的。數(shù)據(jù)文件是文件系統(tǒng)中的文件或者原始存儲(chǔ)的一塊空間。
語(yǔ)法上的區(qū)別
主鍵:
- mysql一般使用自動(dòng)增長(zhǎng)類型,在創(chuàng)建表的時(shí)候指定表的主鍵為auto increment,主鍵就會(huì)自動(dòng)增長(zhǎng)。
- Oracle中沒(méi)有自動(dòng)增長(zhǎng),主鍵一般使用序列,插值時(shí)依次賦值即可
引號(hào)問(wèn)題:
- Oracle不使用雙引號(hào),會(huì)報(bào)錯(cuò)
- mysql則對(duì)引號(hào)沒(méi)有限制
分頁(yè)查詢:
- mysql分頁(yè)查詢使用關(guān)鍵字limit來(lái)實(shí)現(xiàn)
- Oracle沒(méi)有實(shí)現(xiàn)分頁(yè)查詢的關(guān)鍵字,實(shí)現(xiàn)起來(lái)較復(fù)雜,在每個(gè)結(jié)果集中只有一個(gè)rownum字段標(biāo)明它的位置,并且只能用rownum<=某個(gè)數(shù),不能用rownum>=某個(gè)數(shù),因?yàn)镽OWNUM是偽列,在使用時(shí)所以需要為ROWNUM取一個(gè)別名,變成邏輯列,然后來(lái)操作
數(shù)據(jù)類型:
- mysql中的整型:int(),字符串類型:varchar()
- Oracle中的整形:number(),字符串類型:varchar2()
以上就是詳解Mysql和Oracle之間的誤區(qū)的詳細(xì)內(nèi)容,更多關(guān)于Mysql和Oracle之間的誤區(qū)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- SpringBoot多數(shù)據(jù)庫(kù)連接(mysql+oracle)的實(shí)現(xiàn)
- 詳解MySQL實(shí)時(shí)同步到Oracle解決方案
- MySQL版oracle下scott用戶建表語(yǔ)句實(shí)例
- mysql、oracle默認(rèn)事務(wù)隔離級(jí)別的說(shuō)明
- MyBatis JdbcType 與Oracle、MySql數(shù)據(jù)類型對(duì)應(yīng)關(guān)系說(shuō)明
- mysql和oracle的區(qū)別小結(jié)(功能性能、選擇、使用它們時(shí)的sql等對(duì)比)
- mysql類似oracle rownum寫法實(shí)例詳解
- 淺談Mysql、SqlServer、Oracle三大數(shù)據(jù)庫(kù)的區(qū)別
- Oracle更換為MySQL遇到的問(wèn)題及解決
相關(guān)文章
MySQL的Redo Log數(shù)據(jù)恢復(fù)核心機(jī)制面試精講
這篇文章主要為大家介紹了MySQL的Redo Log數(shù)據(jù)恢復(fù)核心機(jī)制面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
MySQL中隱式轉(zhuǎn)換的踩坑記錄以及解決方法分享
這篇文章主要和大家分享一個(gè)MySQL隱式轉(zhuǎn)換時(shí)踩過(guò)的坑,差點(diǎn)把服務(wù)器整崩潰了,以及最后的解決辦法。文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-11-11
win10下mysql 5.7.23 winx64安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了win10下mysql 5.7.23 winx64安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
MySQL觸發(fā)器學(xué)習(xí)總結(jié)
創(chuàng)建觸發(fā)器,當(dāng)往order表中添加記錄是,更新goods表,大家可以看下語(yǔ)句即可2012-09-09
mysql優(yōu)化之慢查詢分析+explain命令分析+優(yōu)化技巧總結(jié)
這篇文章主要介紹了mysql優(yōu)化之慢查詢分析,explain命令分析,優(yōu)化技巧總結(jié),需要的朋友可以參考下2023-02-02
與MSSQL對(duì)比學(xué)習(xí)MYSQL的心得(四)--BLOB數(shù)據(jù)類型
在MYSQL中BLOB是一個(gè)二進(jìn)制大對(duì)象,用來(lái)儲(chǔ)存可變數(shù)量的數(shù)據(jù),而MSSQL中并沒(méi)有BLOB數(shù)據(jù)類型,只有大型對(duì)象數(shù)據(jù)類型(LOB)2014-06-06
Mysql實(shí)現(xiàn)全文檢索、關(guān)鍵詞跑分的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Mysql實(shí)現(xiàn)全文檢索、關(guān)鍵詞跑分的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

