mysql和oracle的不同

2021-10-10 10:55:37 字數 1330 閱讀 7194

mysql是乙個輕量級資料庫,開源免費,無提供服務

oracle是乙個重量級資料庫,使用免費,服務收費(資料恢復、資料遷移)

mysql預設一條sql語句是乙個事務可以關閉自動提交,手動提交

oracle沒有自動提交需要手動提交

mysql讀已提交,當前事務進行操作時其他事務等待之後進行操作(排他鎖)

oracle讀未提交,當前事務進行操作時其他事務可以進行讀取操作(共享鎖)

mysql資料以庫形式進行儲存,連線指定庫讀取指定庫中資料

oracle以全域性資料庫儲存,只擁有乙個庫,通過不同表空間進行表的儲存與使用,根據連線的使用者使用相應使用者預設表空間中的資料

mysql提供了分頁關鍵字limit 可以快速對結果進行指定條數的獲取

oracle沒有提供分頁關鍵字,而是通過子查詢偽列rownum的形式進行指定條數的獲取

mysql提供了數值字段自增約束,進行新增時可以自增

oracle沒有提供自增約束,需要定義序列在新增時使用 序列名.nextval進行賦值

mysql中常用資料型別為數值:int、double / 字元型:varchar /日期 : datetime、

oracle中常用資料型別為數值:number /字元型:varchar2/日期:date

mysql如果使用not null可以儲存空字串

oracle的非空判斷判斷是否為null或空字串

mysql在遇到突然性的狀況時,當前處理根據事務回滾失敗,並不會進行記錄

oracle所有操作在日誌中進行記錄,可以在恢復後根據日誌找回相應操作

mysql在資料進行備份時鎖定資料,不允許進行操作

oracle在資料進行備份時不影響其他事務操作,並且在備份結束後可以保證資料的一致性

mysql的診斷調優方法較少,主要有慢查詢日誌。

oracle有各種成熟的效能診斷調優工具,能實現很多自動分析、診斷功能。比如awr、addm、sqltrace、tkproof等

mysql通過連線ip、賬號、密碼的形式進行校驗,安全性相對較低,可能被模擬主機進行登入

oracle通過ip、賬號、密碼、許可權、預設表空間進行連線與資料安全的校驗

mysql裡可以用雙引號包起字串也可以用單引號,oracle裡只可以用單引號包起字串。在使用資料庫操作字串時使用單引號作為字串標識

mysql可以直接使用like進行模糊查詢,oracle也可以,但考慮到索引,一般使用函式instr判斷指定字串在資料出現的位置》1則表示包含,但靈活性相較於like有所下降

mysql對於欄位與表書寫別名時都可以省略as

oracle在書寫欄位時可以省略,但是對錶起別名時不能書寫as

起別名時不使用as

Oracle 和MySQL的不同

1.資料集的區分方式不同 oracle是通過建立不同的使用者來加以區分,而mysql只用乙個使用者root,通過不同的庫來區分。create database 庫名 use 庫名 2.資料型別不同 orcale有number,varchar2等型別,但是mysql和它的產局還是蠻大的,主要有一下幾個...

mysql和Oracle資料庫的不同點?

1.使用的索引結構不同 oracle b 樹索引,位圖索引 mysql innodb b 樹索引,hash索引,倒排序索引 2.使用索引搜尋資料的邏輯不一樣?mysql 在使用非主鍵索引進行查詢時,絕大數情況,通過輔助索引再到對應的主鍵值,然後通過聚集索引找到對應的資料。3.使用的語法上會有差別?a...

MySql和Oracle的區別

1.mysql和oracle的日期轉換 mysql中有2種日期格式date和time,oracle只有一種日期格式date。oracle select to char sysdate,yyyy mm dd from dual oracle select to char sysdate,hh24 mi...