• Mysql与Oracle 的对比


    MysqlOracle 的对比

    区别点

    Mysql

    Oracle

    数据类型

    CHAR:定长字符串,适合主键

    VARCHAR:变长字符串

    FLOAT,     数值型

     DOUBLE,  数值型             

    DATE ,      日期型         

     INT         整型  

     

    字符类型 char 定长字符类型 varchar可变长的字符类型  varchar2 可变长的字符类型

    二进制大对象 BLOB 主要用来存储图片,音频,视频....

    文本大对象 CLO主要用来存放大文本

    Date

    数字类型 number

     

    主键自动增长

    Auto_increment 主键必须是整型才可以自增长

    如creat TABLE t1 (tid INT (10) PRIMARY KEY auto_increment,

    tname varchar (10),tage int(2));

    Oracle 中给主键设置自增长,先设序列,在设置触发器.

    引号的处理

     MYSQL里可以用双引号包起字符串,

    ORACLE只可以用单引号包起字符串在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号

    分页

    limit是mysql的语法
    select * from table limit m,n
    其中m是指记录开始的index,从0开始,表示第一条记录
    n是指从第m+1条开始,取n条。limit 2,4
    即取出第3条至第6条,4条记

    Oracle 中用rownum .取前n条数据,oracle中用rownum < m;

    1:其中m-1 等于要取的条数

    2:rownum 只能有 < ,<= ,没有 >

    3: 如m为6,则取得是前5条数据。

     日期字段

    MYSQL日期字段分DATE和TIME两种

    ORACLE日期字段只有DATE,包含年月日时分秒信息

    空字符的处理

    MYSQL的非空字段也有空的内容

    如:name != ""这样在mysql下不会报错

    ORACLE里定义了非空字段就不容许有空的内容 。 如果为NULL或空字符,需要把它改成一个空格的字符串。如:oracle下的要换成name is not null 

    Sql语句group by

    Mysql不要求group by 后的字段 一定要出现在select 后面

    oracle中sql 的group by 后的字段 一定要出现在select 后面

    开源项目

    MySQL是开源的项目

    付费

    SQL语法的不同

    MySQL较为灵活

    Oracle较为严格

     

     

     

    事务

    事务的提交

    MySQL默认是自动提交

     

    Oracle默认不自动提交,需要用户手动提交

     

    事务隔离级别

    MySQL是可重复读

     

    读已提交

    对事务的支持

    MySQL在innodb存储引擎的行级锁的情况下才可支持事务

    Oracle则完全支持事务

     

    保存数据的持久性

    MySQL是在数据库更新或者重启,则会丢失数据

    Oracle把提交的sql操作线写入了在线联机日志文件中,保持到了磁盘上,可以随时恢复

    用户权限

    放在mysql 自己的mysql 库中

    oracle 的权限是跟着表空间走的

  • 相关阅读:
    mysql用户的管理
    openpyxl对excel实现字母与数字之间的转换
    字体识别
    python中os模块简单用法
    python合成语音
    python中openpyxl修改excel中字体及读取字体
    观察者模式-C#实现
    工厂模式-C#改良实现
    建造者模式-C#改良实现
    996 不是福气,努力也未必成功(转)
  • 原文地址:https://www.cnblogs.com/2016-cxp/p/10702468.html
Copyright © 2020-2023  润新知