摘要: MySQL和Oracle,别傻了,糊涂了。
Mysql和Oracle在开发中随处可用,下面我们就来简单了解一下这两个热门数据库。
本质区别:
Oracle数据库是一个对象关系数据库管理系统(收费)MySQL是一个开源的关系数据库管理系统(免费)
数据库的安全性:
mysql使用三个参数来验证用户,即用户名,密码和位置Oracle使用了更多的安全功能,如用户名,密码,配置文件,本地身份验证,外部身份验证,高级安全增强功能等
权限
MySQL的权限体系是继承形成的层次结构。当权限被授予较高的级别时,其他较低的级别会隐式继承所授予的权限,当然,较低的级别也可以重写这些权限。
根据不同的授权范围,MySQL有以下几种授权方式:
1.大局;
2.基于每个主机;
3.基于表格;
4.基于表列。
每个级别在数据库中都有一个授权表。在检查权限时,MySQL从高到低检查每一张表,低范围授权优先于高范围授权。
与Oracle不同,MySQL没有角色的概念。也就是说,如果授予一组用户相同的权限,那么每个用户都需要单独授权。
模式迁移
包含与表、视图、索引、用户、约束、存储过程、触发器和其他数据库相关的概念。大多数关系数据库都有类似的概念。
内容如下:
模式对象的相似性;模式对象的名称;表设计时的关注点;多数据库整合;MySQL模式整合的关注点。
模式对象的相似性
就模式对象而言,Oracle和MySQL有很多相似之处,但也有一些不同之处。
架构对象的名称
Oracle不区分大小写,模式对象存储为写时写行。在Oracle的世界中,列、索引、存储过程、触发器和列别名是不区分大小写的,这在所有平台上都是如此。MySQL是区分大小写的,比如数据库的相对存储路径和表对应的文件。
当关键字被引用时,Oracle和MySQL都允许这些关键字用于模式对象。但是,MySQL可以对一些关键字不加引号。
桌子设计的重点
1.字符数据的类型;
2.列的默认值。
3.2.3.1字符数据类型
(1) Oracle支持四种字体类型:CHAR、NCHAR、NVARCHAR2和VARCHAR2。和charnchar的最大长度为2000字节,
nvar2和NVARCHAR2的最大长度为4000字节。
(2)2)MySQL和Oracle在保存和读取字符数据方面有一些区别。MySQL字符类型(如char和VARCHAR)的长度小于65535个字节。Oracle支持四种字体类型:C HAR、NCHAR、NVARCHAR2和VARCHAR2。CHAR和NCHAR的最大长度为2000字节,NVARCHAR2和VARCHAR2的最大长度为4000字节。
(3.2.3.2列默认值)
MySQL会处理列默认值,不允许是空,和Oracle不一样。在Oracle中,如果向表中插入数据,需要检查所有不允许为空的列的值。
多数据库迁移
如果多个MySQL数据库位于同一个数据库服务上,则支持迁移。
数据存储的概念
MySQL的数据库对应服务器上data目录中的目录。这种数据存储模式不同于多数据数据库,包括Oracle。数据库中的表对应于一个或多个数据库目录中的文件,并在存储表时使用存储引擎。
Oracle数据库包含一个或多个表空。磁盘上表空之间对应数据的物理存储。Tables 空是从一个或多个数据文件构建的。文件是文件系统中的文件或原始存储的块空。
语法差异:
主键:
mysql一般使用自动增长类型,在创建表的时候指定表的主键为auto increment,主键就会自动增长。Oracle中没有自动增长,主键一般使用序列,插值时依次赋值即可
引用问题:
Oracle不使用双引号,会报错mysql则对引号没有限制
分页查询:
mysql分页查询使用关键字limit来实现Oracle没有实现分页查询的关键字,实现起来较复杂,在每个结果集中只有一个rownum字段标明它的位置,并且只能用rownum<=某个数,不能用rownum>=某个数,因为ROWNUM是伪列,在使用时所以需要为ROWNUM取一个别名,变成逻辑列,然后来操作
数据类型:
mysql中的整型:int(),字符串类型:varchar()Oracle中的整形:number(),字符串类型:varchar2()
来源:
https://***.tuicool.com/articles/bairiam
本文来自一纸枕书投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/540313.html