mysql與oracle有區(qū)別:1、Oracle是一個對象關系數(shù)據(jù)庫管理系統(tǒng)(ORDBMS),而MySQL是一個關系數(shù)據(jù)庫管理系統(tǒng)(RDBMS);2、Oracle是閉源的(收費),MySQL是開源的(免費);3、Oracle是大型數(shù)據(jù)庫,而MySQL是中小型數(shù)據(jù)庫;4、Oracle可設置用戶權限、訪問權限、讀寫權限等,而MySQL不行;5、Oracle有表空間,MySQL沒有。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8&&Oracle12c版本、Dell G3電腦。
MySQL和Oracle都是流行的關系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),在世界各地廣泛使用;大多數(shù)數(shù)據(jù)庫以類似的方式工作,但MySQL和Oracle的這里和那里總是存在一些差異的。
mysql與oracle的具體區(qū)別
1、本質的區(qū)別
Oracle數(shù)據(jù)庫是一個對象關系數(shù)據(jù)庫管理系統(tǒng)(ORDBMS)。它通常被稱為Oracle RDBMS或簡稱為Oracle,是一個收費的數(shù)據(jù)庫。
MySQL是一個開源的關系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。它是世界上使用最多的RDBMS,作為服務器運行,提供對多個數(shù)據(jù)庫的多用戶訪問。它是一個開源、免費的數(shù)據(jù)庫。
2、Oracle數(shù)據(jù)庫產品是閉源同時也是收費的,MySQL是開源的項目(免費);
3、Oracle是大型數(shù)據(jù)庫,Mysql是中小型數(shù)據(jù)庫;
4、Oracle可以設置用戶權限、訪問權限、讀寫權限等,MySQL沒有;
5、Oracle有表空間的概念,MySQL沒有;
6、Oracle默認不自動提交,需要用戶手動提交。Mysql默認是自動提交。
7、Oracle邏輯備份時不鎖定數(shù)據(jù),且備份的數(shù)據(jù)是一致的。Mysql邏輯備份時要鎖定數(shù)據(jù),才能保證備份的數(shù)據(jù)是一致的,影響業(yè)務正常使用。
8、Oracle有各種成熟的性能診斷調優(yōu)工具,能實現(xiàn)很多自動分析、診斷功能。比如awr、addm、sqltrace、tkproof等;Mysql的診斷調優(yōu)方法較少,主要有慢查詢日志。
9、Oracle容量無限,根據(jù)配置決定;而MySQL使用MyISAM存儲引擎,最大表尺寸為65536TB。 MySQL數(shù)據(jù)庫的最大有效表尺寸通常是由操作系統(tǒng)對文件大小的限制決定的,而不是由MySQL內部限制決定。
10、Oracle在linux下的性能,在少量數(shù)據(jù)時速度低于MySQL,在千萬級時速度快于MySQL。
11、Oracle全面,完整,穩(wěn)定,但一般數(shù)據(jù)量大,對硬件要求較高 ;而MySQL使用CPU和內存極少,性能很高,但擴展性較差。
12、MySQL處理翻頁的SQL語句比較簡單,用LIMIT 開始位置, 記錄個數(shù)。Oracle處理翻頁的SQL語句就比較繁瑣了。每個結果集只有一個ROWNUM字段標明它的位置, 并且只能用ROWNUM80。
13、MySQL日期字段分date和TIME兩種,Oracle日期字段只有DATE,包含年月日時分秒信息,用當前數(shù)據(jù)庫的系統(tǒng)時間為SYSDATE, 精確到秒。
14、SQL語句的區(qū)別:
-
mysql可以沒有from,oracle必須有,可以寫成from dual;
-
mysql使用concat()函數(shù)連接字符串,oracle不僅有concat()函數(shù),還可以使用||;
-
mysql沒有全外連接,使用集合連接代替,oracle有全外連接,而且左右外連接有自己的語法:(+);
-
mysql分頁使用limit,oracle分頁得借助rownum關鍵字;
-
mysql自動增長auto_increment,oracle使用序列代替;
-
mysql直接書寫循環(huán)判斷語句,oracle得借助PLSQL語句;
-
mysql判斷使用elseif,oracle使用elsif;
-
mysql可以直接增刪改,oracle需要commit;
-
group by,在下oracle下用group by的話,group by后面的字段必須在select后面出現(xiàn),不然會報錯的,而mysql卻不會;
【相關推薦:mysql視頻教程】