sql和mysql語法的不同之處:1、mysql支持enum和set類型,sql不支持;2、MySQL的遞增語句是AUTO_INCREMENT,而SQL是identity(1,1);3、同樣的負(fù)載壓力,MySQL要消耗更少的CPU和內(nèi)存,而SQL很耗資源。
MySQL與sqlserver的語法區(qū)別
1、MySQL支持enum,和set類型,SQL Server不支持
2、MySQL不支持nchar,nvarchar,ntext類型
3、MySQL的遞增語句是AUTO_INCREMENT,而SQL是identity(1,1)
4、SQL默認(rèn)到處表創(chuàng)建語句的默認(rèn)值表示是((0)),而在MySQL里面是不允許帶兩括號(hào)的
5、MySQL需要為表指定存儲(chǔ)類型
6、SQL識(shí)別符是[],[type]表示他區(qū)別于關(guān)鍵字,但是MySQL卻是 `,也就是按鍵1左邊的那個(gè)符號(hào)
7、SQL支持getdate()方法獲取當(dāng)前時(shí)間日期,但是MySQL里面可以分日期類型和時(shí)間類型,獲取當(dāng)前日期是current_date (),當(dāng)前完整時(shí)間是 now()函數(shù)
8、MS SQL不支持replace into 語句,但是在最新的sql20008里面,也支持merge語法
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、MySQL在創(chuàng)建表時(shí)要為每個(gè)表指定一個(gè)存儲(chǔ)引擎類型,而MS SQL只支持一種存儲(chǔ)引擎
12、MySQL不支持默認(rèn)值為當(dāng)前時(shí)間的datetime類型(MS SQL很容易做到),在MySQL里面 是用timestamp類型
13、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;
14、MySQL支持無符號(hào)型的整數(shù),那么比不支持無符號(hào)型的MS SQL就能多出一倍的最大數(shù) 存儲(chǔ)
15、MySQL不支持在MS SQL里面使用非常方便的varchar(max)類型,這個(gè)類型在MS SQL里 面既可做一般數(shù)據(jù)存儲(chǔ),也可以做blob數(shù)據(jù)存儲(chǔ)
16、MySQL創(chuàng)建非聚集索引只需要在創(chuàng)建表的時(shí)候指定為key就行,比如:
KEY?displayorder?(fid,displayorder)
在MS SQL里面必須要:
create?unique?nonclustered?index?index_uc_protectedmembers_username_appid? on?dbo.uc_protectedmembers?(username?asc,appid?asc)
17、MySQL text字段類型不允許有默認(rèn)值
18、MySQL的一個(gè)表的總共字段長度不超過65XXX。
19、一個(gè)很表面的區(qū)別就是MySQL的安裝特別簡單,而且文件大小才110M(非安裝版),相比微軟這個(gè)龐然大物,安裝進(jìn)度來說簡直就是…
20、MySQL的存儲(chǔ)過程只是出現(xiàn)在最新的版本中,穩(wěn)定性和性能可能不如MS SQL。
21、同樣的負(fù)載壓力,MySQL要消耗更少的CPU和內(nèi)存,MS SQL的確是很耗資源。
22、mysql的ifnull()函數(shù)對(duì)應(yīng)sql的isnull()函數(shù);
23、mysql的存儲(chǔ)過程中變量的定義去掉@;
24、mysql的每句結(jié)束要用”;”
25、SQLServer存儲(chǔ)過程的AS在MySql中需要用begin …end替換