zoukankan      html  css  js  c++  java
  • MySql和oracle的不同

    一、语法的不同

      1、oracle没有offet,limit关键字,所以在oracle中要分页的话,要换成rownum

      2、oracle建表时,没有auto_increment,所有要想让表的主键自增,要自己添加序列。

      3、oracle有一个dual表,当select后没有表时,加上的。不加会报错的。select 1 这个在mysql不会报错的,oracle下会。select 1 from dual这样的话,oracle就不会报错了。

      4、对空值的判断,name != ""这样在mysql下不会报错的,但是oracle下会报错。在oracle下的要换成name is not null

      5、oracle下对单引号,双引号是有要求的,一般不准用双引号,用了会报错(ERROR at line 1: ORA-00904: "t": invalid identifier),而mysql就没有这样的限制。

      6、oracle表的字段是number型的,如果你$post得到的参数是123456,入库的时候,你需要用to_number,to_date这样的函数来强制转换一下,不然后会被当成字符串来处理。而mysql却不会。

      7、group_concat这个函数,oracle是没有的,如果要想用自已写方法。

      8、mysql的用户权限管理,是放到mysql自动带的一个数据库mysql里面的,而oracle是用户权限是根着表空间走的。(这点我感觉要好好理解下)

      9、在oracle下用group by的话,group by后面的字段必须在select后面出现,不然会报错的,而mysql却不会。

      10、mysql存储引擎有好多,常用的mysiam,innodb等,而创建oracle表的时候,好像只有一个存储引擎。

      11、oracle字段无法选择位置,alter table add column before|after,这样会报错的,即使你用sql*plus这样的工具,也没法改字段的位置。

      12、oracle的表字段类型也没有mysql多,并且有很多不同,例如:mysql的int,float对应oracle的number型等。

      13、oracle查询时from 表名后面 不能加上as不然会报错的,select t.username from test as t而在mysql下是可以的。

      14、oracle中是没有substring这个函数的,mysql是有的。

    二、mysql移植到oracle中的表类型转换

    MYSQL                  ORACLE
    BLOB(220)             RAW(220)
    BLOB (20)             RAW(20)
    BLOG(1024)             RAW(1024)
    VARCHAR(n)             VARCHAR2(n)
    CHAR                   CHAR
    FLOAT(22,6)            NUMBER(22,6)
    DOUBLE(44,12)          NUMBER(44,12)
    TINYINT (3)            NUMBER(3)
    SMALLINT(5)            NUMBER(5)
    MEDIUMINT(8)           NUMBER(8)
    INT(10)                NUMBER(10)
    BIGINT(20)             NUMBER(20)
    DATATIME               DATA

    附录:

          参见大神的博客: http://www.cnblogs.com/HondaHsu

  • 相关阅读:
    河工大玲珑校赛重现の 饶学妹的比赛
    河工大玲珑杯校赛随笔
    河南省第四届ACM省赛(T1) 序号互换
    河南省第四届ACM省赛(T3) 表达式求值
    debian系统下安装ssh
    戴尔poweredge r730服务器配置以及系统安装
    win10环境下安装Ubantu双系统(超详解)
    debian服务器解决中文安装后出现乱码的问题
    debian系统下安装ssh
    如何在ubuntu上搭建hustoj?
  • 原文地址:https://www.cnblogs.com/george93/p/7808490.html
Copyright © 2011-2022 走看看