最近在做ms sql server轉(zhuǎn)換成mysql的工作,總結(jié)了點(diǎn)經(jīng)驗(yàn),跟大家分享一下。同時(shí)這些也會(huì)在不斷更新。也希望大家補(bǔ)充。 1 mysql支持enum,和set類型,sql server不支持
2 mysql不支持nchar,nvarchar,ntext類型
3 mysql的遞增語(yǔ)句是auto_increment,而ms sql是identity(1,1)
4 ms sql默認(rèn)到處表創(chuàng)建語(yǔ)句的默認(rèn)值表示是((0)),而在mysql里面是不允許帶兩括號(hào)的
5 mysql需要為表指定存儲(chǔ)類型
6 ms sql識(shí)別符是[],[type]表示他區(qū)別于關(guān)鍵字,但是mysql卻是 `,也就是按鍵1左邊的那個(gè)符號(hào)
7 ms sql支持getdate()方法獲取當(dāng)前時(shí)間日期,但是mysql里面可以分日期類型和時(shí)間類型,獲取當(dāng)前日期是cur_date(),當(dāng)前完整時(shí)間是 now()函數(shù)
8 ms sql不支持replace into 語(yǔ)句,但是在最新的sql20008里面,也支持merge語(yǔ)法
9 mysql支持insert into table1 set t1 = ‘’, t2 = ‘’ ,但是ms sql不支持這樣寫
10 mysql支持insert into tabl1 values (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)
11 ms sql不支持limit語(yǔ)句,是非常遺憾的,只能用top 取代limt 0,n,row_number() over()函數(shù)取代limit n,m
12 mysql在創(chuàng)建表時(shí)要為每個(gè)表指定一個(gè)存儲(chǔ)引擎類型,而ms sql只支持一種存儲(chǔ)引擎
13 mysql不支持默認(rèn)值為當(dāng)前時(shí)間的datetime類型(ms sql很容易做到),在mysql里面是用timestamp類型
14 ms sql里面檢查是否有這個(gè)表再刪除,需要這樣:
if exists (select *???from???dbo.sysobjects???where??id = object_id(n’uc_newpm’) and objectproperty(id,n’isusertable’)=1)但是在mysql里面只需要 drop table if exists cdb_forums;
但是在mysql里面只需要 drop table if exists cdb_forums;
15 mysql支持無(wú)符號(hào)型的整數(shù),那么比不支持無(wú)符號(hào)型的ms sql就能多出一倍的最大數(shù)存儲(chǔ)
16 mysql不支持在ms sql里面使用非常方便的varchar(max)類型,這個(gè)類型在ms sql里面既可做一般數(shù)據(jù)存儲(chǔ),也可以做blob數(shù)據(jù)存儲(chǔ)
17 mysql創(chuàng)建非聚集索引只需要在創(chuàng)建表的時(shí)候指定為key就行,比如:key displayorder (fid,displayorder) 在ms sql里面必須要:
create unique nonclustered indexindex_uc_protectedmembers_username_appid on dbo.uc_protectedmembers(username asc,appid asc)
18 mysql text字段類型不允許有默認(rèn)值
19mysql的一個(gè)表的總共字段長(zhǎng)度不超過(guò)65xxx。
20一個(gè)很表面的區(qū)別就是mysql的安裝特別簡(jiǎn)單,而且文件大小才110m(非安裝版),相比微軟這個(gè)龐然大物,安裝進(jìn)度來(lái)說(shuō)簡(jiǎn)直就是…..
21mysql的管理工具有幾個(gè)比較好的,mysql_front,和官方那個(gè)套件,不過(guò)都沒(méi)有ssms的使用方便,這是mysql很大的一個(gè)缺點(diǎn)。
22mysql的存儲(chǔ)過(guò)程只是出現(xiàn)在最新的版本中,穩(wěn)定性和性能可能不如ms sql。
23 同樣的負(fù)載壓力,mysql要消耗更少的cpu和內(nèi)存,ms sql的確是很耗資源。
24php連接mysql和ms sql的方式都差不多,只需要將函數(shù)的mysql替換成ms sql即可。
25mysql支持date,time,year類型,ms sql到2008才支持date和time。
?以上就是MS SQL Server和MySQL區(qū)別的內(nèi)容,更多相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)(www.php.cn)!?