oracle和mysql的區別

2022-04-05 02:31:29 字數 1241 閱讀 3408

1樓:

1. oracle是大型資料庫而mysql是中小型資料庫,oracle市場佔有率達40%,mysql只有20%左右,同時mysql是開源的而oracle**非常高。

2. oracle支援大併發,大訪問量,是oltp最好的工具。

3. 安裝所用的空間差別也是很大的,mysql安裝完後才152m而oracle有3g左右,且使用的時候oracle佔用特別大的記憶體空間和其他機器效能。

4.oracle也mysql操作上的一些區別

①主鍵mysql一般使用自動增長型別,在建立表時只要指定表的主鍵為auto increment,插入記錄時,不需要再指定該記錄的主鍵值,mysql將自動增長;oracle沒有自動增長型別,主鍵一般使用的序列,插入記錄時將序列號的下一個值付給該欄位即可;只是orm框架是只要是native主鍵生成策略即可。

②單引號的處理

mysql裡可以用雙引號包起字串,oracle裡只可以用單引號包起字串。在插入和修改字串前必須做單引號的替換:把所有出現的一個單引號替換成兩個單引號。

③翻頁的sql語句的處理

mysql處理翻頁的sql語句比較簡單,用limit 開始位置, 記錄個數;oracle處理翻頁的sql語句就比較繁瑣了。每個結果集只有一個rownum欄位標明它的位置, 並且只能用rownum<100, 不能用rownum>80

④ 長字串的處理

長字串的處理oracle也有它特殊的地方。insert和update時最大可操作的字串長度小於等於4000個單位元組, 如果要插入更長的字串, 請考慮欄位用clob型別,方法借用oracle裡自帶的dbms_lob程式包。插入修改記錄前一定要做進行非空和長度判斷,不能為空的欄位值和超出長度欄位值都應該提出警告,返回上次操作。

⑤空字元的處理

mysql的非空欄位也有空的內容,oracle裡定義了非空欄位就不容許有空的內容。按mysql的not null來定義oracle表結構, 導資料的時候會產生錯誤。因此導資料時要對空字元進行判斷,如果為null或空字元,需要把它改成一個空格的字串。

⑥字串的模糊比較

mysql裡用 欄位名 like '%字串%',oracle裡也可以用 欄位名 like '%字串%' 但這種方法不能使用索引, 速度不快。

⑦oracle實現了ansii sql中大部分功能,如,事務的隔離級別、傳播特性等而mysql在這方面還是比較的弱。

2樓:匿名使用者

一個是大型的,一個是中小型的

其餘區別不大

oracle下的sql plus和pl sql的區別

一 sql plus是oracle提供的一種使用者介面。類似於作業系統的命令列。使用者可以通過在sql plus中輸入命令來向資料庫傳送命令,資料庫也將處理結果通過sql plus呈現給使用者。是資料庫和使用者的互動工具。二 pl sql則是oracle的過程化程式語言,定義了大量語法,使用者可以遵...

SQL Server和Oracle以及MySQL有哪些區別

區別如下 1 oracle和sql server是商業收費的,而mysql是開源免費的 2 oracle和mysql是甲骨文的產品,sql server是微軟的產品 3 oracle和ibm db2都是超大型關聯式資料庫,sql server是大型關聯式資料庫,而mysql是中型關聯式資料庫 4 o...

SQL Server和Oracle以及MySQL有哪些區別

sql 有個標準,就是 ansi sql 有 sql88,sql92 標準。如果要學正宗的 sql 要去看 ansi sql oracle 和 sql server 大體按照找個 sql 標準來的,但是又有了不少擴充,自己定義了不少的東西。主要的區別就是它們各自擴充的東西是不同的。所以 oracle...