详解Mysql和Oracle之间的误区


Posted in MySQL onMay 18, 2021

本质区别

  • 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之间的误区的资料请关注三水点靠木其它相关文章!

MySQL 相关文章推荐
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
May 06 MySQL
MySQL 使用事件(Events)完成计划任务
May 24 MySQL
Mysql数据库按时间点恢复实战记录
Jun 30 MySQL
MySQL里面的子查询的基本使用
Aug 02 MySQL
MySql子查询IN的执行和优化的实现
Aug 02 MySQL
一次MySQL启动导致的事故实战记录
Sep 15 MySQL
Mysql分析设计表主键为何不用uuid
Mar 31 MySQL
MySQL实现配置主从复制项目实践
Mar 31 MySQL
一文了解MYSQL三大范式和表约束
Apr 03 MySQL
Mysql将字符串按照指定字符分割的正确方法
May 30 MySQL
mysql全面解析json/数组
Jul 07 MySQL
SQLServer常见数学函数梳理总结
Aug 05 MySQL
详解GaussDB for MySQL性能优化
详解MySQL的Seconds_Behind_Master
May 18 #MySQL
MySQL优化之如何写出高质量sql语句
May 17 #MySQL
mysql数据库入门第一步之创建表
MySQL 隔离数据列和前缀索引的使用总结
May 14 #MySQL
MySQL 使用自定义变量进行查询优化
May 14 #MySQL
MySQL 逻辑备份与恢复测试的相关总结
May 14 #MySQL
You might like
PHP开发入门教程之面向对象
2006/12/05 PHP
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
PHP滚动日志的代码实现
2015/06/10 PHP
PHP中子类重载父类的方法【parent::方法名】
2016/05/06 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
javascript 对象比较实现代码
2009/04/27 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
2014/06/05 Javascript
深入理解JavaScript系列(33):设计模式之策略模式详解
2015/03/03 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
详解为什么Vue中不要用index作为key(diff算法)
2020/04/04 Javascript
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
Python模块学习 datetime介绍
2012/08/27 Python
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
Python中eval带来的潜在风险代码分析
2017/12/11 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
Python 判断时间是否在时间区间内的实例
2020/05/16 Python
css3中transition属性详解
2014/09/02 HTML / CSS
详解如何通过H5(浏览器/WebView/其他)唤起本地app
2017/12/11 HTML / CSS
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
公务员职业生涯规划书范文  
2014/01/19 职场文书
2014年幼儿园后勤工作总结
2014/11/10 职场文书
2016新党章学习心得体会
2016/01/15 职场文书
股权投资协议书
2016/03/23 职场文书
PHP实现两种排课方式
2021/06/26 PHP
解决Mysql报错 Table 'mysql.user' doesn't exist
2022/05/06 MySQL