自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

三分鐘帶你分清MySQL和Oracle之間的誤區(qū)

數(shù)據(jù)庫(kù) MySQL Oracle
MySQL和Oracle,別再傻傻分不清。MySQL 和Oracle 在開發(fā)中的使用是隨處可見的,那就簡(jiǎn)單去了解一下這倆款火的不行的數(shù)據(jù)庫(kù)。

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

本質(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ù)來驗(yàn)證用戶,即用戶名,密碼和位置

Oracle使用了更多的安全功能,如用戶名,密碼,配置文件,本地身份驗(yàn)證,外部身份驗(yàn)證,高級(jí)安全增強(qiáng)功能等

權(quán)限

MySQL的權(quán)限系統(tǒng)是通過繼承形成的分層結(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沒有角色的概念。也就是說,如果對(duì)一組用戶授于同樣的權(quán)限,需要對(duì)每一個(gè)用戶分別授權(quán)。

模式遷移

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

包含內(nèi)容如下:

  • 模式對(duì)象的相似性;
  • 模式對(duì)象的名稱;
  • 表設(shè)計(jì)時(shí)的關(guān)注點(diǎn);
  • 多數(shù)據(jù)庫(kù)整合;
  • MySQL模式整合的關(guān)注點(diǎn)。

模式對(duì)象的相似性

就模式對(duì)象,Oracle和MySQL存儲(chǔ)諸多的相似,但也有一些不同

 

 

 

 

模式對(duì)象的名稱

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

當(dāng)把關(guān)鍵字用引號(hào)引起來時(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.2.3.1 字符數(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é)。

(3.2.3.2 列默認(rèn)值)

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中沒有自動(dòng)增長(zhǎng),主鍵一般使用序列,插值時(shí)依次賦值即可

引號(hào)問題:

  • Oracle不使用雙引號(hào),會(huì)報(bào)錯(cuò)
  • mysql則對(duì)引號(hào)沒有限制

分頁(yè)查詢:

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

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

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

 

責(zé)任編輯:龐桂玉 來源: Linux公社
相關(guān)推薦

2022-02-17 09:24:11

TypeScript編程語(yǔ)言javaScrip

2021-04-20 13:59:37

云計(jì)算

2024-01-16 07:46:14

FutureTask接口用法

2024-08-30 08:50:00

2020-06-30 10:45:28

Web開發(fā)工具

2021-02-03 14:31:53

人工智能人臉識(shí)別

2024-01-12 07:38:38

AQS原理JUC

2024-07-05 09:31:37

2024-02-22 07:37:37

對(duì)象JVM內(nèi)存

2020-03-08 16:45:58

數(shù)據(jù)挖掘學(xué)習(xí)數(shù)據(jù)量

2017-01-18 15:38:20

語(yǔ)言

2024-09-13 08:49:45

2009-11-05 16:04:19

Oracle用戶表

2024-06-06 08:50:43

2019-07-18 17:08:56

物聯(lián)網(wǎng)技術(shù)軟件

2024-05-16 11:13:16

Helm工具release

2009-11-09 12:55:43

WCF事務(wù)

2024-12-18 10:24:59

代理技術(shù)JDK動(dòng)態(tài)代理

2023-12-04 18:13:03

GPU編程

2020-08-17 17:20:36

pythonJAVA代碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)