中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL和Oracle的本質區別

發布時間:2021-09-16 09:54:25 來源:億速云 閱讀:154 作者:chen 欄目:數據庫

這篇文章主要介紹“MySQL和Oracle的本質區別”,在日常操作中,相信很多人在MySQL和Oracle的本質區別問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MySQL和Oracle的本質區別”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

本質區別:

Oracle數據庫是一個對象關系數據庫管理系統(收費)

MySQL是一個開源的關系數據庫管理系統(免費)

數據庫的安全性:

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

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

權限

MySQL的權限系統是通過繼承形成的分層結構。權限授于高層時,其他低層隱式繼承被授于的權限,當然低層也可改寫這些權限。

按授權范圍不同,MySQL有以下種授權方式:

  1. 鴻蒙官方戰略合作共建——HarmonyOS技術社區

  2. 全局;

  3. 基于每個主機;

  4. 基于表;

  5. 基于表列。

每一級在數據庫中都有一個授權表。當進行權限檢查時,MySQL從高到低檢查每一張表,低范圍授權優先于高范圍授權。

與Oracle不同,MySQL沒有角色的概念。也就是說,如果對一組用戶授于同樣的權限,需要對每一個用戶分別授權。

模式遷移

模式包含表、視圖、索引、用戶、約束、存儲過程、觸發器和其他數據庫相關的概念。多數關系型數據庫都有相似的概念。

包含內容如下:

  • 模式對象的相似性;

  • 模式對象的名稱;

  • 表設計時的關注點;

  • 多數據庫整合;

  • MySQL模式整合的關注點。

模式對象的相似性

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

MySQL和Oracle的本質區別

模式對象的名稱

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

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

表設計的關注點

1、字符數據的類型;

2、列默認值。

3.2.3.1 字符數據類型

(1) Oracle支持4種字體類型:CHAR、NCHAR、NVARCHAR2和VARCHAR2。CHAR和NCHAR的最大長度為2000字節,

NVARCHAR2和VARCHAR2最大長度為4000字節。

(2)MySQL和Oracle在字符型數據保存和讀取上存在一些不同。MySQL的字符類型,如CHAR和VARCHAR的長度小于65535字節。Oracle支持4種字體類型:C  HAR、NCHAR、NVARCHAR2和VARCHAR2。CHAR和NCHAR的最大長度為2000字節,NVARCHAR2和VARCHAR2最大長度為4000字節。

(3.2.3.2 列默認值)

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

多數據庫遷移

如果多個MySQL數據庫位于同一個數據庫服務上,支持遷移。

數據存儲概念

MySQL的數據庫對應于服務器上數據目錄內的了目錄,這一數據存儲方式與多數據數據庫不同,也包括Oracle。數據庫中的表對應一個或者多個數據庫目錄下的文件,并取表存儲時的存儲引擎。

一個Oracle數據庫包含一個或者多個表空間。表空間對應數據在磁盤上的物理存儲。表空間是從一個或者多個數據文件開始構建的。數據文件是文件系統中的文件或者原始存儲的一塊空間。

語法上的區別:

主鍵:

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

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

引號問題:

  • Oracle不使用雙引號,會報錯

  • mysql則對引號沒有限制

分頁查詢:

  • MySQL分頁查詢使用關鍵字limit來實現

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

數據類型:

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

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

到此,關于“MySQL和Oracle的本質區別”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

赤城县| 寿宁县| 金乡县| 怀集县| 清水河县| 富宁县| 邯郸县| 禹州市| 蒙山县| 龙海市| 清水河县| 丽水市| 平安县| 砚山县| 大田县| 高雄市| 怀集县| 亚东县| 仁寿县| 平江县| 凉山| 舟山市| 子洲县| 长沙市| 盐津县| 延寿县| 浠水县| 文安县| 抚顺市| 马龙县| 康平县| 于都县| 浦县| 醴陵市| 尖扎县| 攀枝花市| 信丰县| 遵义县| 长武县| 靖边县| 绥德县|