0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Mysql和Oracle數(shù)據(jù)庫之間的誤區(qū)

華為開發(fā)者社區(qū) ? 來源:華為開發(fā)者社區(qū) ? 作者:我鬧我的BUG還沒寫 ? 2020-11-13 09:35 ? 次閱讀

Mysql 和Oracle 在開發(fā)中的使用是隨處可見的,那就簡單去了解一下這倆款火的不行的數(shù)據(jù)庫。

本質(zhì)區(qū)別:

Oracle數(shù)據(jù)庫是一個對象關(guān)系數(shù)據(jù)庫管理系統(tǒng)(收費)

MySQL是一個開源的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(免費)

數(shù)據(jù)庫的安全性:

mysql使用三個參數(shù)來驗證用戶,即用戶名,密碼和位置

Oracle使用了更多的安全功能,如用戶名,密碼,配置文件,本地身份驗證,外部身份驗證,高級安全增強功能等;

權(quán)限:

MySQL的權(quán)限系統(tǒng)是通過繼承形成的分層結(jié)構(gòu)。權(quán)限授于高層時,其他低層隱式繼承被授予的權(quán)限,當(dāng)然低層也可改寫這些權(quán)限。按授權(quán)范圍不同,MySQL有以下種授權(quán)方式: 1、全局; 2、基于每個主機; 3、基于表; 4、基于表列。

每一級在數(shù)據(jù)庫中都有一個授權(quán)表。當(dāng)進行權(quán)限檢查時,MySQL從高到低檢查每一張表,低范圍授權(quán)優(yōu)先于高范圍授權(quán)。與Oracle不同,MySQL沒有角色的概念。也就是說,如果對一組用戶授予同樣的權(quán)限,需要對每一個用戶分別授權(quán)。

模式遷移:

模式包含表、視圖、索引、用戶、約束、存儲過程、觸發(fā)器和其他數(shù)據(jù)庫相關(guān)的概念。多數(shù)關(guān)系型數(shù)據(jù)庫都有相似的概念。包含內(nèi)容如下:

模式對象的相似性;

模式對象的名稱;

表設(shè)計時的關(guān)注點;

多數(shù)據(jù)庫整合;

MySQL模式整合的關(guān)注點。

模式對象的相似性:

就模式對象,Oracle和MySQL存儲諸多的相似,但也有一些不同

模式對象的名稱:

Oracle是大小寫不敏感的,并且模式對象是以在寫時行存儲。在Oracle的世界中,列、索引、存儲過程、觸發(fā)器以及列別名都是大小寫不敏感,并且在所有平臺都是如此。MySQL是大小寫敏感的,如數(shù)據(jù)庫相對的存儲路徑、表對應(yīng)的文件都是如此;

當(dāng)把關(guān)鍵字用引號引起來時,Oracle和MySQL都允許把這些關(guān)鍵字用于模式對象。但MySQL對于一些關(guān)鍵字,不加引號也行。

表設(shè)計的關(guān)注點:

1、字符數(shù)據(jù)的類型; 2、列默認(rèn)值。 3.2.3.1 字符數(shù)據(jù)類型 (1) Oracle支持4種字體類型:CHAR、NCHAR、NVARCHAR2和VARCHAR2。CHAR和NCHAR的最大長度為2000字節(jié),NVARCHAR2和VARCHAR2最大長度為4000字節(jié)。

(2)MySQL和Oracle在字符型數(shù)據(jù)保存和讀取上存在一些不同。MySQL的字符類型,如CHAR和VARCHAR的長度小于65535字節(jié)。Oracle支持4種字體類型:C HAR、NCHAR、NVARCHAR2和VARCHAR2。CHAR和NCHAR的最大長度為2000字節(jié),NVARCHAR2和VARCHAR2最大長度為4000字節(jié)。(3.2.3.2 列默認(rèn)值)

MySQL會處理列默認(rèn)值,不允許他為空,這點和Oracle不同。在Oracle中如果向表插入數(shù)據(jù),需要對有所有不允許為NULL列的值。

多數(shù)據(jù)庫遷移:

如果多個MySQL數(shù)據(jù)庫位于同一個數(shù)據(jù)庫服務(wù)上,支持遷移。

數(shù)據(jù)存儲概念:

MySQL的數(shù)據(jù)庫對應(yīng)于服務(wù)器上數(shù)據(jù)目錄內(nèi)的了目錄,這一數(shù)據(jù)存儲方式與多數(shù)據(jù)數(shù)據(jù)庫不同,也包括Oracle。數(shù)據(jù)庫中的表對應(yīng)一個或者多個數(shù)據(jù)庫目錄下的文件,并取表存儲時的存儲引擎。

一個Oracle數(shù)據(jù)庫包含一個或者多個表空間。表空間對應(yīng)數(shù)據(jù)在磁盤上的物理存儲。表空間是從一個或者多個數(shù)據(jù)文件開始構(gòu)建的。數(shù)據(jù)文件是文件系統(tǒng)中的文件或者原始存儲的一塊空間。

語法上的區(qū)別:

主鍵:

mysql一般使用自動增長類型,在創(chuàng)建表的時候指定表的主鍵為auto increment,主鍵就會自動增長。

Oracle中沒有自動增長,主鍵一般使用序列,插值時依次賦值即可

引號問題:

Oracle不使用雙引號,會報錯

mysql則對引號沒有限制

分頁查詢:

mysql分頁查詢使用關(guān)鍵字limit來實現(xiàn)

Oracle沒有實現(xiàn)分頁查詢的關(guān)鍵字,實現(xiàn)起來較復(fù)雜,在每個結(jié)果集中只有一個rownum字段標(biāo)明它的位置,并且只能用rownum<=某個數(shù),不能用rownum>=某個數(shù),因為ROWNUM是偽列,在使用時所以需要為ROWNUM取一個別名,變成邏輯列,然后來操作

數(shù)據(jù)類型:

mysql中的整型:int(),字符串類型:varchar()

Oracle中的整形:number(),字符串類型:varchar2()

責(zé)任編輯:xj

原文標(biāo)題:3分鐘帶你分清Mysql 和Oracle之間的誤區(qū)

文章出處:【微信公眾號:華為開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3887

    瀏覽量

    65655
  • Oracle
    +關(guān)注

    關(guān)注

    2

    文章

    298

    瀏覽量

    35747
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    842

    瀏覽量

    27431

原文標(biāo)題:3分鐘帶你分清Mysql 和Oracle之間的誤區(qū)

文章出處:【微信號:Huawei_Developer,微信公眾號:華為開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)庫誤刪除表記錄的數(shù)據(jù)恢復(fù)案例

    本地服務(wù)器,安裝的windows server操作系統(tǒng)。 操作系統(tǒng)上部署MySQL單實例,引擎類型為innodb,表空間類型為獨立表空間。該MySQL數(shù)據(jù)庫沒有備份,未開啟binlog。 人為
    的頭像 發(fā)表于 02-22 09:44 ?453次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)——<b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)庫</b>誤刪除表記錄的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    Oracle推出創(chuàng)新數(shù)據(jù)庫服務(wù)

    近日,Oracle公司再次引領(lǐng)數(shù)據(jù)庫技術(shù)創(chuàng)新,限量推出了Globally Distributed Exadata Database on Exascale Infrastructure服務(wù)。該服
    的頭像 發(fā)表于 02-10 14:45 ?428次閱讀

    從Delphi、C++ Builder和Lazarus連接到MySQL數(shù)據(jù)庫

    ? 從 Delphi、C++ Builder 和 Lazarus 連接到 MySQL 數(shù)據(jù)庫 MySQL 數(shù)據(jù)訪問組件(MyDAC)是一個組件
    的頭像 發(fā)表于 01-20 13:47 ?521次閱讀
    從Delphi、C++ Builder和Lazarus連接到<b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)庫</b>

    適用于MySQL和MariaDB的Python連接器:可靠的MySQL數(shù)據(jù)連接器和數(shù)據(jù)庫

    和 Linux 的 wheel 包分發(fā)。 直接連接 該解決方案使您能夠通過 TCP/IP 建立與 MySQL 或者 MariaDB 數(shù)據(jù)庫服務(wù)器的直接連接,而無需數(shù)據(jù)庫客戶端。另外
    的頭像 發(fā)表于 01-17 12:18 ?362次閱讀
    適用于<b class='flag-5'>MySQL</b>和MariaDB的Python連接器:可靠的<b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)</b>連接器和<b class='flag-5'>數(shù)據(jù)庫</b>

    從Delphi、C++ Builder和Lazarus連接到Oracle數(shù)據(jù)庫

    從 Delphi、C++ Builder 和 Lazarus 連接到 Oracle 數(shù)據(jù)庫 Oracle 數(shù)據(jù)訪問組件 (ODAC) 是一個組件
    的頭像 發(fā)表于 01-15 10:01 ?637次閱讀

    MySQL數(shù)據(jù)庫的安裝

    MySQL是一個開源免費的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下公司。 MySQL 最流行的
    的頭像 發(fā)表于 01-14 11:25 ?417次閱讀
    <b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)庫</b>的安裝

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復(fù)流程

    Mysql數(shù)據(jù)庫故障: Mysql數(shù)據(jù)庫表記錄丟失。 Mysql數(shù)據(jù)庫故障表現(xiàn): 1、
    的頭像 發(fā)表于 12-16 11:05 ?468次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—<b class='flag-5'>Mysql</b><b class='flag-5'>數(shù)據(jù)庫</b>表記錄丟失的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)流程

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—ORACLE常見故障的數(shù)據(jù)恢復(fù)可行性分析

    Oracle數(shù)據(jù)庫常見故障表現(xiàn): 1、ORACLE數(shù)據(jù)庫無法啟動或無法正常工作。 2、ORACLE ASM存儲破壞。 3、
    的頭像 發(fā)表于 12-10 11:35 ?351次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MYSQL數(shù)據(jù)庫ibdata1文件損壞的數(shù)據(jù)恢復(fù)案例

    mysql數(shù)據(jù)庫故障: mysql數(shù)據(jù)庫文件ibdata1、MYI、MYD損壞。 故障表現(xiàn):1、數(shù)據(jù)庫無法進行查詢等操作;2、使用my
    的頭像 發(fā)表于 12-09 11:05 ?460次閱讀

    不用編程不用電腦,快速實現(xiàn)多臺Modbus協(xié)議的PLC、智能儀表對接SQL數(shù)據(jù)庫

    的參數(shù)按照任務(wù)組自動生成SQL命令語句,實現(xiàn)多設(shè)備SQL命令與數(shù)據(jù)庫軟件對接,支持MySQL、SQLServer、PostgreSQL、Oracle等。
    的頭像 發(fā)表于 12-09 10:53 ?638次閱讀
    不用編程不用電腦,快速實現(xiàn)多臺Modbus協(xié)議的PLC、智能儀表對接SQL<b class='flag-5'>數(shù)據(jù)庫</b>

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Oracle ASM實例無法掛載的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境&故障: Oracle ASM磁盤組由4塊磁盤組成。Oracle ASM磁盤組掉線 ,ASM實例不能moun
    的頭像 發(fā)表于 10-28 11:26 ?376次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—<b class='flag-5'>Oracle</b> ASM實例無法掛載的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    Oracle數(shù)據(jù)恢復(fù)—異常斷電后Oracle數(shù)據(jù)庫報錯的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫故障: 機房異常斷電后,Oracle數(shù)據(jù)庫報錯:“system01.dbf需要更多的恢復(fù)來保持一致性,
    的頭像 發(fā)表于 09-30 13:31 ?578次閱讀
    <b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—異常斷電后<b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)庫</b>啟<b class='flag-5'>庫</b>報錯的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫文件system01.dbf損壞的數(shù)據(jù)恢復(fù)案例

    打開oracle數(shù)據(jù)庫報錯“system01.dbf需要更多的恢復(fù)來保持一致性,數(shù)據(jù)庫無法打開”。
    的頭像 發(fā)表于 09-21 14:25 ?797次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—<b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)庫</b>文件system01.dbf損壞的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    Oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫delete刪除的數(shù)據(jù)恢復(fù)方法

    刪除Oracle數(shù)據(jù)庫數(shù)據(jù)一般有以下2種方式:delete、drop或truncate。下面針對這2種刪除oracle數(shù)據(jù)庫
    的頭像 發(fā)表于 09-11 11:45 ?571次閱讀

    華納云:MySQL初始化操作如何創(chuàng)建新的數(shù)據(jù)庫

    要在MySQL中創(chuàng)建一個新的數(shù)據(jù)庫,可以按照以下步驟進行操作: 登錄到MySQL數(shù)據(jù)庫管理系統(tǒng)中。可以使用MySQL命令行客戶端或者圖形化工
    的頭像 發(fā)表于 09-04 14:30 ?454次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品