您好,登錄后才能下訂單哦!
小編給大家分享一下數據庫從mssql遷移mysql的操作方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
作為系統開發最常見的兩種后臺數據庫,名字上都有著細微的差別,所以在實際的使用上,也是不一樣的,今天針對這部分,帶大家走進了解這部分內容。
支持數據類型的差別
1、MySQL支持enum、set類型,MSSQL不支持。 2、MySQL不支持nchar、nvarchar、ntext類型。 3、MySQL的遞增字段類型是AUTO_INCREMENT,而MSSQL是identity(1,1)。 4、MySQL不支持默認值為當前時間的datetime類型(MSSQL很容易做到),在MySQL里面 是用timestamp類型。 5、MySQL支持無符號型的整數,理論上比不支持無符號型的MSSQL多出一倍的最大數存儲。 6、MySQL不支持在MSSQL里面使用非常方便的varchar(max)類型,這個類型在MSSQL里面既可做一般數據存儲,也可以做blob數據存儲。
常見符號的差別
1、MSSQL識別符是[],[type]表示他區別于關鍵字,但是MySQL卻是 `,也就是按鍵1左邊的那個符號。 2、MSSQL默認到處表創建語句的默認值表示是((0)),而在MySQL里面是不允許帶兩括號。 3、MSSQL定義變量一定要用@開頭,而MySQL沒這種要求。 4、MSSQL每條語句結束可以用“;”、GO或什么都不要,MySQL的每句結束要用“;”。 5、MySQL的輸出參數out對應SQLServer的output,且MySQL的out要放在變量的前面,MSSQL的output放在變量后面。
常用函數差別
1、MSSQL支持getdate()方法獲取當前時間日期,但是MySQL里面可以分日期類型和時間類型,獲取當前日期是current_date (),當前完整時間是 now()函數。
2、MySQL的ifnull()函數對應MSSQL的isnull()函數。
3、MySQL的uuid()對應MSSQL的GUID()。
4、MySQL字符串連接用concat()函數,MSSQL只需要用“+”加號。
SQLServer中 set @str=?select * from ?+?tablename?+…+… 、 MySQL中 str=concat(?select * from?, ?tablecname?,…,…)
5、MySQL的Execute對應MSSQL的exec。
6、MySQL存儲過程中沒有return函數。
SQL語句語法常見差別
1、MSSQL不支持replace into 語句,但從SQLServer 2008開始支持merge語法。
2、MySQL支持:
insert into table1 set t1 = ??, t2 = ?? ;
MSSQL不支持這樣寫。
3、MySQL支持:
insert into tabl1 values (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1);
SQLServer 2008之后也開始支持。
4、MSSQL里面檢查是否有這個表再刪除,需要這樣:
if exists (select * from dbo.sysobjects where id = object_id(N'表名') and OBJECTPROPERTY(id,N'IsUserTable')=1)
但是在MySQL里面只需要DROP TABLE IF EXISTS 表名
5、MySQL創建非聚集索引只需要在創建表的時候指定為key就行,比如:
KEY xxx (fid,xxx)
在MSSQL里面必須要:
create unique nonclustered index index_xxx on dbo.xxx (field1 asc,field2 asc);
6、MySQL的If語句與MSSQL有較大區別,MySQL寫法如下:
If (條件) Then 語句 end If; If (條件) Then 語句 Else 語句 End If; If (條件) Then 語句 Elseif (注意不能寫成 Else if ) 語句 Elseif … End If;
7、從SQL語句中獲取字段值到變量寫法不同。
MSSQL寫法:
select @a=count() from 表名; MySQL寫法: select count() from 表名 into @a;
8、MySQL中沒有top關鍵字,需要用limit代替且放在后面。
表創建相關
1、MySQL需要為表指定存儲類型。
2、MySQL在創建表時要為每個表指定一個存儲引擎類型,而MS SQL只支持一種存儲引擎。
3、MySQL的一個表的總共字段長度不超過65XXX。
性能及管理工具
1、同樣的負載壓力,MySQL要消耗更少的CPU和內存,MSSQL的確是很耗資源。
2、MySQL的管理管理使用收費的第三方工具諸如Navicat尚可,MSSQL提供的管理工具免費而且功能非常強大。
以上是數據庫從mssql遷移mysql的操作方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。