天下数据---做天下最好的IDC服务商

网站地图
RSS订阅
匿名投稿
您的位置:网站首页 > 数据库

MySQL与SQL的比较

作者:yuying 来源:未知 日期:2010-1-27 15:15:59 人气: 标签:美国空间 香港虚拟主机 美国vps服务器 海外主机 香港主机租用
导读:MySQL是一个逐渐完善的过程,使用前期版本时会遇到一些问题,通常搞得莫名其妙,在版本选择上尽量选择最新的。1.在5.03以前版本中,存储varchar型数据时,后面的

MySQL是一个逐渐完善的过程,使用前期版本时会遇到一些问题,通常搞得莫名其妙,在版本选择上尽量选择最新的。

 1.5.03以前版本中,存储varchar型数据时,后面的空格会被忽视掉,前面的空格会保留,在5.03版本中修正了这个问题。

 2.在某些情况下,定义表或更改其结构时,将CHAR列转换为VARCHAR列。(在MySQL 5.0.3中更正),这个bug比较神奇,暂时没有遇到过,不知道这个“某些情况”指的是什么。

 3. 删除表时,不自动取消关于表的权限。必须明确发出REVOKE语句,以撤销针对表的权限。还有觉着MySQL修改权限

以后还需要Flush一下,否则即使重新mysql -u xxx -p 进入也不成,比较困惑。

 4.CAST()函数不支持对REALBIGINT的抛弃。编程语言中,例如Java中提供了不同格类型数据之间的相互转化,

Long.parseLong(),Float.parseFloat(),Double.parseDouble()……,这里少了2个感觉总是不爽;

 5.标准SQL要求,SELECT语句中的HAVING子句能够引用GROUP BY子句中的列。在MySQL 5.0.2之前,不能完成该功能。在4.x的时候,都没有用过很复杂的SQL语句,-都快养成习惯了

 6. MySQL服务器能够理解“||”和“&&”操作符,将其当作逻辑ORAND,就像在C编程语言中那样。在MySQL服务器中,||OR是同义词,&&AND也是同义词。由于采用了该优异的语法体系,MySQL服务器不支持SQL针对字符串连接的“||”操作符,而采用了CONCAT()取而代之。由于CONCAT()能够接受任意数目的参量,很容易将使用“||”操作符的情况转换为MySQL服务器

支持的类型。--这个就好玩了,与写程序很贴近,嗯,用惯了再用别的数据库就需要注意了!!

 7.另一个可能就是这个了,在MySQL中“%”操作符等同于MOD()。也就是说“N % M”等同于MOD(N,M)Cyuyan的程序员支持“%”,而且它也是为了兼容PostgreSQL而使用的,其他的数据库则不一定支持了!!

 8.允许在数值列上使用LIKE,例如可以对一个数据列使用select * from table_name where int_column like 26;

还有不少MySQLSQL的扩展,方便了使用,不过还是建议尽量使用标准的SQL语句,在以后换数据库的时候会省却很多的麻烦,起码这些SQL语句不用重写了,^_^

MySQL短小精悍,可以在自己机子上部署,对调程序基本感觉不到影响。如果使用LinuxRedhat系列)里面就带有了MySQL了(当然在安装的时候得勾上),相当的方便。

 

共有:条评论信息评论信息
发表评论
姓 名:
验证码: