Oracle 和MySQL的不同

2021-09-25 22:21:34 字數 1359 閱讀 6183

1.資料集的區分方式不同

oracle是通過建立不同的使用者來加以區分,而mysql只用乙個使用者root,通過不同的庫來區分。

create database 庫名;

use 庫名;

2.資料型別不同

orcale有number,varchar2等型別,但是mysql和它的產局還是蠻大的,主要有一下幾個型別:

•數值型別:

•smallint: 2個位元組

•int: 4個位元組      // age int(10)

•integer:int的同義詞

•bigint : 8個位元組

•float : 4個位元組

•double : 8個位元組   //score float(10,2)

mysql支援選擇在該型別關鍵字後面的括號內指定整數值的顯示寬度(例如,int(4))。顯示寬度並不限制可以在列內儲存的值的範圍,也不限制超過列的指定寬度的值的顯示。

•字串(字元)型別

•char:固定長度字串  *** char(2)

•varchar:可變長度字串 name varchar(20)

•varchar使用起來較為靈活,char處理速度更快

•text:非二進位製大物件(字元)

•blob:二進位製大物件(非字元)

•日期/時間型別:

•date: yyyy-mm-dd

•datetime: yyyy-mm-dd hh:mm:ss

•timestamp: yyyy-mm-dd hh:mm:ss

•time:hh:mm:ss

•year:yyyy

3.序列不同

orcale有序列的使用,而mysql不使用序列,通過auto_increment。

4.約束不同

首先,mysql是沒有檢查約束的,然後,mysql與oracle的非空約束的概念有所不同,mysql是可以寫空字串進去的,然後就是外來鍵約束,

alter table pet add  constraint fk foreign key (masterid) references person(id) on delete cascade on update cascade;更改父表的資料的同時也會改變子表的資料。

5.查詢不同

首先,兩者的連線符不同,mysql用的是關鍵字concat(欄位1,欄位2.....),oracle用的是||;

然後就是兩者的分組查詢限制不同,mysql在分組查詢時是可以和欄位名一起使用的

6.分頁查詢不同

mysql分頁查詢使用的是limit關鍵字,用法:

select * from table limit (start-1)*limit,limit;

其中start是頁碼

mysql和oracle的不同

mysql是乙個輕量級資料庫,開源免費,無提供服務 oracle是乙個重量級資料庫,使用免費,服務收費 資料恢復 資料遷移 mysql預設一條sql語句是乙個事務可以關閉自動提交,手動提交 oracle沒有自動提交需要手動提交 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...