新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 数据库 > MySQL教程 > 正文:MySQL高级特性----对比与其他数据库

MySQL高级特性----对比与其他数据库

新客网 XKER.COM 2006-10-10 来源: 收藏本文

  TEXT(len) TEXT(len),len是最大长度。并且LIKE可运用。
  INT INT,有很多的选项! 
  REAL REAL,或FLOAT。有4和8字节版本。
  UINT INT UNSIGNED 
  DATE DATE,使用 ANSI SQL 格式而非mSQL自己的。
  TIME TIME 
  MONEY DECIMAL(12,2),有2个小数位的定点值。
  
  索引创建 
  
  MySQL
  索引可以在表创建时用CREATE TABLE语句指定。
  mSQL
  在表被创建了以后,索引必须被创建,用单独的CREATE INDEX语句。
  把一个唯一标识符插入到一张表中
  
  MySQL 使用AUTO_INCREMENT作为列类型修饰符。见20.4.29 mysql_insert_id()。
  mSQL
  在一张表上创建一个SEQUENCE并且选择_seq列。
  为行获得一个唯一标识符
  
  MySQL 向表中增加一个PRIMARY KEY或UNIQUE键。
  
  mSQL 使用_rowid列。注意_rowid可以将来改变,取决于很多因素。
  得到列最后被修改的时间
  
  MySQL 在表中增加一个TIMESTAMP列。如果你不给出列值或如果你给它一个NULL值,该列自动为INSERT或UPDATE语句设置为当前的日期和时间。
  
  mSQL 使用_timestamp列。
  NULL值的比较
  
  MySQL MySQL遵从ANSI SQL且与NULL的比较总是NULL。
  
  mSQL 在mSQL中,NULL = NULL是TRUE(真)。当从mSQL到MySQL移植老的代码时,你必须将=NULL改委IS NULL,并将<>NULL改为IS NOT NULL。
  字符串的比较
  
  MySQL
  通常,字符串比较以大小写无关方式按当前字符集(缺省为ISO-8859-1 Latin1)决定的排序次序实施。如果你不喜欢这样,声明你的列有BINARY属性,它使得比较根据用在MySQL服务器主机上的ASCII顺序进行。
  mSQL
  所有的字符串比较以大小写敏感的方式以ASCII顺序排序来进行。
  大小写不敏感的搜索
  
  MySQL
  LIKE是一个大小写不敏感或大小写敏感的运算符,这取决于涉及的列。如果LIKE参数不以一个通配符字符开始,如有可能,MySQL则使用索引。
  mSQL
  使用CLIKE。
  尾部空格的处理
  
  MySQL
  剥去CHAR和VARCHAR列尾部的空格。如果不希望这种行为,使用一个TEXT行列。
  mSQL
  保留尾部的空格。
  WHERE子句
  
  MySQL
  MySQL正确地优先化任何东西(AND在OR前计算)。要想在MySQL里得到mSQL的行为,使用括号(如下所示)。
  mSQL
  从左到右计算任何东西。这意味着超过3个参数的一些逻辑运算不能以任何方式表示,它也意味着当你升级到MySQL时,你必须改变一些查询。你通过增加括号很容易做到这点。假定你有下列mSQL查询:
  mysql> SELECT * FROM table WHERE a=1 AND b=2 OR a=3 AND b=4;
  
  为了使MySQL像mSQL那样计算它,你必须增加括号:
  
  mysql> SELECT * FROM table WHERE (a=1 AND (b=2 OR (a=3 AND (b=4))));
  
  存取控制 
  
  MySQL
  有表来存储对每个用户、主机和数据库的授权(许可)选项。见6.6 权限系统如何工作。
  mSQL
  有一个文件“mSQL.acl”,在哪里你能为用户授权读/写权限。
   
  怎样对比MySQL与PostgreSQL
  
  PostgreSQL有一些更高级的功能如定义用户类型、触发器、规则和一些事务支持。然而,PostgreSQL 缺乏很多来自 ANSI SQL和ODBC的很多标准类型和函数。对于一个完整的限制列表及其支持或不支持哪一个类型和函数,见crash-me网页。www.xker.com(小新)
  
  通常,PostgreSQL是比MySQL慢很多。见10.8 使用你自己的基准。这大部分是由于他们的事务系统。如果你确实需要事务或PostgreSQL提供的丰富的类型体系并且你能承受速度的损失,你应该看看 PostgreSQL。

共3页: 上一页 [1] [2] [3] 下一页
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐