共计 1946 个字符,预计需要花费 5 分钟才能阅读完成。
这篇文章主要介绍“MySQL 和 Oracle 的本质区别”,在日常操作中,相信很多人在 MySQL 和 Oracle 的本质区别问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL 和 Oracle 的本质区别”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!
本质区别:
Oracle 数据库是一个对象关系数据库管理系统 (收费)
MySQL 是一个开源的关系数据库管理系统 (免费)
数据库的安全性:
mysql 使用三个参数来验证用户,即用户名,密码和位置
Oracle 使用了更多的安全功能,如用户名,密码,配置文件,本地身份验证,外部身份验证,高级安全增强功能等
权限
MySQL 的权限系统是通过继承形成的分层结构。权限授于高层时,其他低层隐式继承被授于的权限,当然低层也可改写这些权限。
按授权范围不同,MySQL 有以下种授权方式:
鸿蒙官方战略合作共建——HarmonyOS 技术社区
全局;
基于每个主机;
基于表;
基于表列。
每一级在数据库中都有一个授权表。当进行权限检查时,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()
到此,关于“MySQL 和 Oracle 的本质区别”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!