详解Mysql和Oracle之间的误区

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

本质区别

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

数据库的安全性

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

权限

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

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

1、全局;

2、基于每个主机;

3、基于表;

4、基于表列。

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

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

模式迁移

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

包含内容如下:

1.模式对象的相似性;

2.模式对象的名称;

3.表设计时的关注点;

4.多数据库整合;

5.mysql模式整合的关注点。

模式对象的相似性

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

详解Mysql和Oracle之间的误区

模式对象的名称

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

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

表设计的关注点

1、字符数据的类型;

2、列默认值。

3.字符数据类型

(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之间的误区的资料请关注钦钦技术栈其它相关文章!

版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/7490/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年 8月 1日 7:33:25
下一篇 2022年 8月 1日 7:33:38

软件定制开发公司

相关阅读

发表回复

登录后才能评论
通知:禁止投稿所有关于虚拟货币,币圈类相关文章,发现立即永久封锁账户ID!