0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Mysql和Oracle数据库之间的误区

华为开发者社区 来源:华为开发者社区 作者:我闹我的BUG还没写 2020-11-13 09:35 次阅读

Mysql 和Oracle 在开发中的使用是随处可见的,那就简单去了解一下这俩款火的不行的数据库。

本质区别:

Oracle数据库是一个对象关系数据库管理系统(收费)

MySQL是一个开源的关系数据库管理系统(免费)

数据库的安全性:

mysql使用三个参数来验证用户,即用户名,密码和位置

Oracle使用了更多的安全功能,如用户名,密码,配置文件,本地身份验证,外部身份验证,高级安全增强功能等;

权限:

MySQL的权限系统是通过继承形成的分层结构。权限授于高层时,其他低层隐式继承被授予的权限,当然低层也可改写这些权限。按授权范围不同,MySQL有以下种授权方式: 1、全局; 2、基于每个主机; 3、基于表; 4、基于表列。

每一级在数据库中都有一个授权表。当进行权限检查时,MySQL从高到低检查每一张表,低范围授权优先于高范围授权。与Oracle不同,MySQL没有角色的概念。也就是说,如果对一组用户授予同样的权限,需要对每一个用户分别授权。

模式迁移:

模式包含表、视图、索引、用户、约束、存储过程、触发器和其他数据库相关的概念。多数关系型数据库都有相似的概念。包含内容如下:

模式对象的相似性;

模式对象的名称;

表设计时的关注点;

多数据库整合;

MySQL模式整合的关注点。

模式对象的相似性:

就模式对象,Oracle和MySQL存储诸多的相似,但也有一些不同

模式对象的名称:

Oracle是大小写不敏感的,并且模式对象是以在写时行存储。在Oracle的世界中,列、索引、存储过程、触发器以及列别名都是大小写不敏感,并且在所有平台都是如此。MySQL是大小写敏感的,如数据库相对的存储路径、表对应的文件都是如此;

当把关键字用引号引起来时,Oracle和MySQL都允许把这些关键字用于模式对象。但MySQL对于一些关键字,不加引号也行。

表设计的关注点:

1、字符数据的类型; 2、列默认值。 3.2.3.1 字符数据类型 (1) Oracle支持4种字体类型:CHAR、NCHAR、NVARCHAR2和VARCHAR2。CHAR和NCHAR的最大长度为2000字节,NVARCHAR2和VARCHAR2最大长度为4000字节。

(2)MySQL和Oracle在字符型数据保存和读取上存在一些不同。MySQL的字符类型,如CHAR和VARCHAR的长度小于65535字节。Oracle支持4种字体类型:C HAR、NCHAR、NVARCHAR2和VARCHAR2。CHAR和NCHAR的最大长度为2000字节,NVARCHAR2和VARCHAR2最大长度为4000字节。(3.2.3.2 列默认值)

MySQL会处理列默认值,不允许他为空,这点和Oracle不同。在Oracle中如果向表插入数据,需要对有所有不允许为NULL列的值。

多数据库迁移:

如果多个MySQL数据库位于同一个数据库服务上,支持迁移。

数据存储概念:

MySQL的数据库对应于服务器上数据目录内的了目录,这一数据存储方式与多数据数据库不同,也包括Oracle。数据库中的表对应一个或者多个数据库目录下的文件,并取表存储时的存储引擎。

一个Oracle数据库包含一个或者多个表空间。表空间对应数据在磁盘上的物理存储。表空间是从一个或者多个数据文件开始构建的。数据文件是文件系统中的文件或者原始存储的一块空间。

语法上的区别:

主键:

mysql一般使用自动增长类型,在创建表的时候指定表的主键为auto increment,主键就会自动增长。

Oracle中没有自动增长,主键一般使用序列,插值时依次赋值即可

引号问题:

Oracle不使用双引号,会报错

mysql则对引号没有限制

分页查询:

mysql分页查询使用关键字limit来实现

Oracle没有实现分页查询的关键字,实现起来较复杂,在每个结果集中只有一个rownum字段标明它的位置,并且只能用rownum<=某个数,不能用rownum>=某个数,因为ROWNUM是伪列,在使用时所以需要为ROWNUM取一个别名,变成逻辑列,然后来操作

数据类型:

mysql中的整型:int(),字符串类型:varchar()

Oracle中的整形:number(),字符串类型:varchar2()

责任编辑:xj

原文标题:3分钟带你分清Mysql 和Oracle之间的误区

文章出处:【微信公众号:华为开发者社区】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3799

    浏览量

    64396
  • Oracle
    +关注

    关注

    2

    文章

    289

    浏览量

    35134
  • MySQL
    +关注

    关注

    1

    文章

    809

    浏览量

    26577

原文标题:3分钟带你分清Mysql 和Oracle之间的误区

文章出处:【微信号:Huawei_Developer,微信公众号:华为开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    数据库数据恢复—Mysql数据库表记录丢失的数据恢复流程

    Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、
    的头像 发表于 12-16 11:05 158次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>Mysql</b><b class='flag-5'>数据库</b>表记录丢失的<b class='flag-5'>数据</b>恢复流程

    数据库数据恢复—ORACLE常见故障的数据恢复可行性分析

    Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、
    的头像 发表于 12-10 11:35 121次阅读

    数据库数据恢复—MYSQL数据库ibdata1文件损坏的数据恢复案例

    mysql数据库故障: mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用my
    的头像 发表于 12-09 11:05 154次阅读

    不用编程不用电脑,快速实现多台Modbus协议的PLC、智能仪表对接SQL数据库

    的参数按照任务组自动生成SQL命令语句,实现多设备SQL命令与数据库软件对接,支持MySQL、SQLServer、PostgreSQL、Oracle等。
    的头像 发表于 12-09 10:53 225次阅读
    不用编程不用电脑,快速实现多台Modbus协议的PLC、智能仪表对接SQL<b class='flag-5'>数据库</b>

    oracle数据恢复—存储掉盘导致Oracle数据库文件大小变为0kb的数据恢复案例

    存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上
    的头像 发表于 11-21 11:29 134次阅读
    <b class='flag-5'>oracle</b><b class='flag-5'>数据</b>恢复—存储掉盘导致<b class='flag-5'>Oracle</b><b class='flag-5'>数据库</b>文件大小变为0kb的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—Oracle ASM实例无法挂载的数据恢复案例

    Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能moun
    的头像 发表于 10-28 11:26 163次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>Oracle</b> ASM实例无法挂载的<b class='flag-5'>数据</b>恢复案例

    oracle数据恢复—Oracle数据库打开报错的数据恢复案例

    打开oracle数据库时报错,报错信息:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。急需恢复zxfg用户下的数据。 出现上述报错的原因有:控制文件损坏、
    的头像 发表于 10-17 13:20 234次阅读
    <b class='flag-5'>oracle</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>Oracle</b><b class='flag-5'>数据库</b>打开报错的<b class='flag-5'>数据</b>恢复案例

    Oracle数据恢复—异常断电后Oracle数据库报错的数据恢复案例

    Oracle数据库故障: 机房异常断电后,Oracle数据库报错:“system01.dbf需要更多的恢复来保持一致性,
    的头像 发表于 09-30 13:31 307次阅读
    <b class='flag-5'>Oracle</b><b class='flag-5'>数据</b>恢复—异常断电后<b class='flag-5'>Oracle</b><b class='flag-5'>数据库</b>启<b class='flag-5'>库</b>报错的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—Oracle数据库文件system01.dbf损坏的数据恢复案例

    打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。
    的头像 发表于 09-21 14:25 357次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>Oracle</b><b class='flag-5'>数据库</b>文件system01.dbf损坏的<b class='flag-5'>数据</b>恢复案例

    Oracle数据恢复—Oracle数据库delete删除的数据恢复方法

    删除Oracle数据库数据一般有以下2种方式:delete、drop或truncate。下面针对这2种删除oracle数据库
    的头像 发表于 09-11 11:45 378次阅读

    华纳云:MySQL初始化操作如何创建新的数据库

    要在MySQL中创建一个新的数据库,可以按照以下步骤进行操作: 登录到MySQL数据库管理系统中。可以使用MySQL命令行客户端或者图形化工
    的头像 发表于 09-04 14:30 268次阅读

    Oracle数据恢复—Oracle数据库误truncate表的数据恢复案例

    北京某国企客户Oracle 11g R2数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,数据库的备份不可用,无法查询表
    的头像 发表于 03-11 17:30 394次阅读
    <b class='flag-5'>Oracle</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>Oracle</b><b class='flag-5'>数据库</b>误truncate表的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复】Oracle数据库ASM实例无法挂载的数据恢复案例

    oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
    的头像 发表于 02-01 17:39 525次阅读
    【<b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复】<b class='flag-5'>Oracle</b><b class='flag-5'>数据库</b>ASM实例无法挂载的<b class='flag-5'>数据</b>恢复案例

    怎么简单实现由Labview读取的串口数据自增写入mysql5.7数据库中?

    怎么简单实现由Labview读取的串口数据自增写入mysql5.7数据库中? 已实现:串口数据的接收处理 mysql5.7的安装(已测试
    发表于 01-11 22:05

    Oracle数据库是什么 Oracle数据库的特点

    Oracle数据库系统具有高效率、可靠性好的特点,适用于各种规模的企业和组织。它支持大容量数据和高并发事务处理,能够满足各种复杂的业务需求。
    的头像 发表于 01-06 15:02 1024次阅读