前言
已经入职几个月的时间了,不同于平常学习使用的 MySQL,公司内使用的是 Oracle 数据库。针对以前 MySQL 的学习笔记,这里主要总结下 Oracle 数据库,以及其与 MySQL 的一些区别。
用户与存储区别
mysql:
- 对数据的管理可以有很多个用户,登录用户后可以看到该用户权限下的所有的数据库
- 一般来讲都是一个项目对应着一个数据库,该数据库下存放着所有该项目所要用到的表,视图等东西
- 查看所有的数据库命令:show databases;
- 查看某数据库下的所有表命令:show tables;
oracle:
- 对数据的管理同样有着很多个用户,同样的登录用户后可以看到该用户权限下的所有东西
- 数据库只有一个,但是可以有很多个表空间
【表空间就像是mysql中的一个个的数据库,用来区分项目与项目之间的所属东西】 - oracle多了一个东西叫做数据字典,这其实就是系统字典表,我们只有查看的权限。系统字典表有很多张,需要细致的去学习
- 查看所有表空间命令:select tablespace_name from dba_tablespaces;
【dba_tablespaces – 所有表空间数据字典,user_tablespaces --当前用户权限下的所有表空间】 - 查看当前用户下的所有表及对应的表空间命令:select table_name,tablespace_name from dba_tables;
总结
Oracle通过数据库用户,实现了对象级控制数据库访问和使用的机制。而数据库用户是定义在数据库中一个名称,是Oracle数据库的基本访问机制,且每一个数据库用户都拥有自己的数据库,拥有不同的权限,能够根据权限访问其他用户的数据库信息。一个实例有多个用户,每个用户默认拥有一个表空间,也可以操作多个表空间,多个用户可以同时用一个表空间。
字段数据类型区别
mysql:
- 数值型:tinyint(超小整数)、smallint(小整数)、mediumint(中整数)、int(整数)、bigint(大整数)、float(单精度浮点型)、double(双精度浮点型)
- 字符型:char(定长字符串)、varchar(变长字符串)、blob(二进制长文本)、text(长文本)、longblob(二进制超长文本)、longtext(超长文本)
- 日期类型:date(日期)、time(时间)、year(年份)、datetime(时期加时间&#x