关于mysql:三分钟带你分清Mysql-和Oracle之间的误区

40次阅读

共计 1754 个字符,预计需要花费 5 分钟才能阅读完成。

摘要 :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 存储诸多的类似,但也有一些不同

模式对象的名称

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

点击关注,第一工夫理解华为云陈腐技术~

正文完
 0