返回顶部
首页 > 资讯 > 数据库 >详解Mysql和Oracle之间的误区
  • 755
分享到

详解Mysql和Oracle之间的误区

mysqloracle 2022-05-10 22:05:48 755人浏览 泡泡鱼
摘要

目录本质区别数据库的安全性权限模式迁移模式对象的相似性模式对象的名称表设计的关注点多数据库迁移数据存储概念语法上的区别本质区别 oracle数据库是一个对象关系数据库管理系统(收费) Mysql是一

目录
  • 本质区别
  • 数据库安全
  • 权限
  • 模式迁移
  • 模式对象的相似性
  • 模式对象的名称
  • 表设计的关注点
  • 数据库迁移
  • 数据存储概念
  • 语法上的区别

本质区别

  • oracle数据库是一个对象关系数据库管理系统(收费)
  • Mysql是一个开源的关系数据库管理系统(免费)

数据库的安全性

  • mysql使用三个参数来验证用户,即用户名,密码和位置
  • Oracle使用了更多的安全功能,如用户名,密码,配置文件,本地身份验证,外部身份验证,高级安全增强功能等

权限

Mysql的权限系统是通过继承形成的分层结构。权限授于高层时,其他低层隐式继承被授于的权限,当然低层也可改写这些权限。

按授权范围不同,MySQL有以下种授权方式:

全局;

基于每个主机;

基于表;

基于表列。

每一级在数据库中都有一个授权表。当进行权限检查时,MySQL从高到低检查每一张表,低范围授权优先于高范围授权。

与Oracle不同,MySQL没有角色的概念。也就是说,如果对一组用户授于同样的权限,需要对每一个用户分别授权。

模式迁移

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

包含内容如下:

模式对象的相似性;

模式对象的名称;

表设计时的关注点;

多数据库整合;

MySQL模式整合的关注点。

模式对象的相似性

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

模式对象的名称

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

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

表设计的关注点

字符数据的类型;

列默认值。

字符数据类型

(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字节。

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()

以上就是详解Mysql和Oracle之间的误区的详细内容,更多关于Mysql和Oracle之间的误区的资料请关注自学编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: 详解Mysql和Oracle之间的误区

本文链接: https://lsjlt.com/news/10328.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解Mysql和Oracle之间的误区
    目录本质区别数据库的安全性权限模式迁移模式对象的相似性模式对象的名称表设计的关注点多数据库迁移数据存储概念语法上的区别本质区别 Oracle数据库是一个对象关系数据库管理系统(收费) MySQL是一...
    99+
    2022-05-10
    mysql oracle
  • Mysql和Oracle之间的误区是什么
    这篇文章将为大家详细讲解有关Mysql和Oracle之间的误区是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本质区别Oracle数据库是一个对象关系数据库管理系统(收费)MySQL是一个开源的关系数...
    99+
    2023-06-15
  • 详解Shell $*和$@之间的区别
    $* 和 $@ 都表示传递给函数或脚本的所有参数,我们已在《Shell特殊变量》一节中进行了演示,本节重点说一下它们之间的区别。 当 $* 和 $@ 不被双引号" "包围时,它们之间没有任何区别,都是将接收到的每个参数看...
    99+
    2022-06-04
    Shell $* $@
  • ES6中export default和export之间的区别详解
    🎈 export default 和 export 有什么区别: export 、export default,都属于ES6里面的语法 1. export与export defaul...
    99+
    2023-05-17
    es6 export default es6 export
  • Oracle与MySQL的区别详解
    目录什么是mysql什么是oracleMySQL的优点MySQL的缺点Oracle的优点Oracle的缺点Oracle与MySQL的区别什么是MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司...
    99+
    2023-04-14
    Oracle与MySQL的区别 Oracle与MySQL优缺点 Oracle优缺点 MySQL优缺点
  • MySQL分区之LIST分区详解
    目录介绍一、创建分区1.插入数据2.插入不在列表中的值二、分区管理1.增加分区2.合并分区3.拆分分区4.删除分区三、其它分区1.对时间字段进行分区四、移除表的分区参考:总结介绍 L...
    99+
    2024-04-02
  • MySQL分区之RANGE分区详解
    目录介绍一、RANGE分区1.创建分区2.性能分析3.增加分区4.删除分区5.拆分合并分区二、日期字段分区方法三、null值处理四、移除表的分区总结介绍 RANGE分区基于一个给定的...
    99+
    2024-04-02
  • MySQL分区之KEY分区详解
    目录介绍一、常规KEY二、LINEAR KEY三、分区管理四、移除表的分区总结介绍 KEY分区和HASH分区相似,但是KEY分区支持除text和BLOB之外的所有数据类型的分区,而H...
    99+
    2024-04-02
  • MySQL分区之HASH分区详解
    目录介绍一、常规HASH二、线性HASH(LINEAR HASH)三、分区管理1.合并分区2.增加分区四、移除表的分区总结介绍 基于给定的分区个数,将数据分配到不同的分区,HASH分...
    99+
    2024-04-02
  • MySQL分区之子分区详解
    目录介绍一、创建子分区1.不定义每个子分区2.定义每个子分区3.测试数据二、分区管理1.合并分区2.拆分分区3.删除分区三、错误的子分区创建四、移除表的分区总结介绍 子分区其实是对每...
    99+
    2024-04-02
  • MariaDB和MySQL之间有什么区别
    MariaDB和MySQL是两种关系型数据库管理系统,它们之间有以下几个区别: 开发者:MariaDB是MySQL的一个分支,由M...
    99+
    2024-04-09
    MariaDB
  • mysql中#{}和${}的区别详解
    #{}会将传入的数据当成一个字符串,会对自动传入的数据加一个双引号 order by #{userId}   这里假如userId = 111,那么解析成sql时...
    99+
    2024-04-02
  • javascript的var与let,const之间的区别详解
    目录作为全局变量时变量提升暂时性死区块级作用域重复声明修改声明的变量(常量与变量声明)总结说到JavaScript中声明变量的几种方法也就是var、let、const了,let和co...
    99+
    2024-04-02
  • Spring和SpringBoot之间的区别
    目录Spring是什么? Spring Boot是什么? Maven依赖项 springboot为不同的Spring模块提供了许多启动程序依赖项。最常用的方法有:MVC配置 配置模板...
    99+
    2024-04-02
  • SuspendLayout和BeginUpdate之间的区别
    SuspendLayout和BeginUpdate都是用于暂时停止控件的绘制和布局更新,但二者的使用场景和效果有所不同。1. Sus...
    99+
    2023-09-26
    区别
  • textbox和richtextbox之间的区别
    Textbox和RichTextbox是两种文本输入控件,它们之间的主要区别在于富文本支持和功能的丰富程度。1. 文本格式支持:Ri...
    99+
    2023-09-26
    textbox
  • RxJS:auditTime 和 sampleTime 之间的区别
    `auditTime` 和 `sampleTime` 是 RxJS 中用于时间节流的操作符,它们的区别在于:1. `auditTim...
    99+
    2023-09-27
    区别
  • RDBMS 和 MongoDB 之间的区别
    RDBMSRDBMS 代表关系数据库管理系统。它将数据以实体形式存储为表。它提供多层信息安全。每个表可能有也可能没有主键(用于唯一标识表中的记录)和外键(用于标识两个表之间的关系)。 RDBMS 使用 SQL 语言来查询数据库。流行的 RD...
    99+
    2023-10-22
  • cin.get()和cin.getline()之间的区别
    cin.getline()和cin.get()都是对输入的面向行的读取,即一次读取整行而不是单个数字或字符,但是二者有一定的区别。cin.get()每次读取一整行并把由Enter键生...
    99+
    2022-11-15
    cin.get cin.getline
  • 一文详解Elasticsearch和MySQL之间的数据同步问题
    Elasticsearch中的数据是来自于Mysql数据库的,因此当数据库中的数据进行增删改后,Elasticsearch中的数据,索引也必须跟着做出改变。而对于管理服务(MySQL...
    99+
    2023-05-16
    Elasticsearch MySQL实现数据同步 Elasticsearch MySQL数据同步 Elasticsearch MySQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作