首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Oracle频道
中国IT教育
Google
首页 入门基础 安装配置 体系架构 PLSQL 备份恢复 性能调优 开发技术 资讯动态 考试认证 下载 专题 讨论
您现在的位置: 中国IT实验室 >> Oracle >> 产品介绍 >> 正文

mysql和Oracle数据库的一些异同。

    1、WHERE字句的LIKE条件中通配符。
    Oracle和mysql都支持%和_两个通配符,前者匹配任意个任意字符,后者匹配最多一个任意字符。但在处理本意字符%和_时,就很不相同了。mysql可以用转义字符\来处理;oracle也可以用转义字符来处理,但必须在LIKE表达式后用escape '\'来说明;其中\可以是任意一个字符(注意必须是一个字符)。

    2、对象名的大小写敏感性
    处理诸如表,存储过程,函数,索引,数据库等对象时,Oracle对大小写不敏感;mysql则由操作系统来决定。如LINUX下是敏感的,WINDOWS是不敏感的。

    3、查询表信息
    mysql: show tables;
    Oracle: select table_name from tabs;

    4、自动增长类型的支持
    mysql: 每一个表可以有一列用auto_increment,但必须用于主关键字。其起始值可以用AUTO_INCREMENT=500000作为表属性来约束,不能设步长,不能循环使用。
    Oracle: 用 sequence对象来支持该类型。可以在触发器和SQL语句中用nextval,currval来取值;注意CURRVAL需要在同一SESSION里方能取值正确。
    查询语句如SELECT  seqid_main.nextval from dual。
    创建语句如CREATE SEQUENCE SEQID_MAIN INCREMENT BY 1 START WITH 1 NOCYCLE CACHE 20 NOORDER;

    5、限制记录数的支持
    mysql: 用limit [start-index,]count子句来实现,非常简单,并且支持DELETE语法,应该对用户非常方便。
    Oracle: 没有直接的子句可以提供支持。但近似可以用row_number函数来实现。
    如  row_number() over (order by col1 desc,col2) as row,然后对row来进行过滤处理。如果没有排序子句则可以用更简单的rownum来实现。

    6、连接操作符的支持
    其实mysql和Oracle都支持左、右、内联操作。不过Oracle的语法如 a.id=b.id(+)来表示左联操作比较直观和容易构造。

    7、null的处理
    Oracle: nvl函数。
    mysql: 默认上下文环境如‘’,0,UNDEF等。

    8、字符联接
    Oracle: ||(常用)
    mysql: concat

    9、日期型的转换
    mysql: DateFormat,默认支持的各种格式(基于当前区域设置)。
    Oracle: to_date/to_char

    10、注释行的开头字符
    mysql: #
    Oracle: -

    11、外表关联支持
    mysql: 4.0版本后创建InnoDB类型的表。
    Oracle: 现在的差不多都支持,很老的就不知道了,等等。

【责编:Ken】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Oracle频道相关导航