1. MySQL支持enum和set类型,SQL Server不支持;
2. MySQL不支持nchar、nvarchar、ntext类型;
3. MySQL数据库的递增语句是AUTO_INCREMENT,而MS SQL是identity(1,1);
4. MS SQL默认到处表创建语句的默认值表示是((0)),而在MySQL里面是不允许带两括号的;
5. MySQL需要为表指定存储类型;
6. MS SQL识别符是[],[type]表示他区别于关键字,但是MySQL却是 `,也就是按键1左边的那个符号;
7. MS SQL支持getdate()方法获取当前时间日期,但是MySQL里面可以分日期类型和时间类型,获取当前日期是cur_date(),当前完整时间是 now()函数;
8. MS SQL不支持replace into语句,但是在最新的SQL Server 2008里面,也支持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. MS SQL不支持limit语句,是非常遗憾的,只能用top 取代limt 0,N,row_number() over()函数取代limit N,M;
12. MySQL在创建表时要为每个表指定一个存储引擎类型,而MS SQL只支持一种存储引擎;
13. MySQL不支持默认值为当前时间的datetime类型(MS SQL很容易做到),在MySQL里面是用timestamp类型;
14. MS SQL里面检查是否有这个表再删除,需要这样:
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;
15. MySQL支持无符号型的整数,那么比不支持无符号型的MS SQL就能多出一倍的最大数存储;
16. MySQL不支持在MS SQL里面使用非常方便的varchar(max)类型,这个类型在MS SQL里面既可做一般数据存储,也可以做blob数据存储;
17. MySQL数据库创建非聚集索引只需要在创建表的时候指定为key就行,比如:KEY displayorder (fid,displayorder)
在MS SQL里面必须要:
create unique nonclustered index index_uc_protectedmembers_username_appid on dbo.uc_protectedmembers(username asc,appid asc)
18. MySQL text字段类型不允许有默认值;
19. MySQL的一个表的总共字段长度不超过65XXX。
20. 一个很表面的区别就是MySQL的安装特别简单,而且文件大小才110M(非安装版),相比微软这个庞然大物,安装进度来说简直就是.....
21. MySQL的管理工具有几个比较好的,MySQL_front和官方那个套件,不过都没有SSMS的使用方便,这是MySQL很大的一个缺点。
22. MySQL的存储过程只是出现在最新的版本中,稳定性和性能可能不如MS SQL。
23. 同样的负载压力,MySQL要消耗更少的CPU和内存,MS SQL的确是很耗资源;
24. php连接MySQL数据库和MS SQL的方式都差不多,只需要将函数的MySQL替换成MS SQL即可。
25. MySQL支持 date,time,year类型,MS SQL到2008才支持date和time。
sql
server
2005和mysql都是网络数据库,
区别是有的,因为二者语法不一致,
如果学会了sql
server
2005的标准和操作,再去操作mysql是一样的,
因为mysql主要针对的是小型数据库应用。
你学了
sql
server
mysql
学起来就很容易了,
区别就是
有一些
控制代码名字不一样,但功能都一样,没多大区别,但是
sql
server
是微软的
只能应用windows平台,而mysql
和linux
是最好的搭档,web
开发,中小企业
都用
mysql