mysql user_tab_cols_MySQL和Oracle对比学习之数据字典元数据

MySQL和Oracle虽然在架构上有很大的不同,但是如果从某些方面比较起来,它们有些方面也是相通的。

毕竟学习的主线是MySQL,所以会从MySQL的角度来对比Oracle的一些功能。大体总结了以下的内容,欢迎大家拍砖,

查看当前的数据库名

mysql> SELECT DATABASE();

+------------+

| DATABASE() |

+------------+

| test         |

+------------+

1 row in set (0.00 sec)

+++Oracle的实现方法 ++++

因为架构的不同,所以列举了数据库,实例级的查询方法。

方法一,通过数据库参数来查看

SQL> show parameter instance_name

NAME                                 TYPE                              VALUE

------------------------------------ --------------------------------- ------------------------------

instance_name                        string                            TRUABP4

方法二:通过数据字典来查看

数据库级

SQL> select name from v$database;

NAME

---------------------------

TRUABP4

实例级

SQL> select instance_name from v$instance;

INSTANCE_NAME

------------------------------------------------

TRUABP4

方法三:通过内置函数来实现,这种方法相比前两种更为通用。

SQL> select sys_context('USERENV','instance_name') from dual;

SYS_CONTEXT('USERENV','INSTANCE_NAME')

----------------------------------------------------

TRUABP4

得到数据库创建的脚本

得到数据库名为mysql的创建脚本,毕竟在架构实现上不同,有点类似oracle中的用户级别。

mysql> show create database mysql;

+----------+------------------------------------------------------------------+

| Database | Create Database                                                  |

+----------+------------------------------------------------------------------+

| mysql    | CREATE DATABASE `mysql` /*!40100 DEFAULT CHARACTER SET latin1 */ |

+----------+------------------------------------------------------------------+

1 row in set (0.00 sec)

+++Oracle的实现方法 ++++

Oracle中的实现方式相比要复杂很多。叫法一样,但是实现还是有很大的差别。

CREATE DATABASE mynewdb

USER SYS IDENTIFIED BY pz6r58

USER SYSTEM IDENTIFIED BY y1tz5p

LOGFILE GROUP 1 ('/u01/oracle/oradata/mynewdb/redo01.log') SIZE 100M,

GROUP 2 ('/u01/oracle/oradata/mynewdb/redo02.log') SIZE 100M,

GROUP 3 ('/u01/oracle/oradata/mynewdb/redo03.log') SIZE 100M

MAXLOGFILES 5

MAXLOGMEMBERS 5

MAXLOGHISTORY 1

MAXDATAFILES 100

MAXINSTANCES 1

CHARACTER SET US7ASCII

NATIONAL CHARACTER SET AL16UTF16

DATAFILE '/u01/oracle/oradata/mynewdb/system01.dbf' SIZE 325M REUSE

EXTENT MANAGEMENT LOCAL

SYSAUX DATAFILE '/u01/oracle/oradata/mynewdb/sysaux01.dbf' SIZE 325M REUSE

DEFAULT TEMPORARY TABLESPACE tempts1

TEMPFILE '/u01/oracle/oradata/mynewdb/temp01.dbf'

SIZE 20M REUSE

UNDO TABLESPACE undotbs

DATAFILE '/u01/oracle/oradata/mynewdb/undotbs01.dbf'

SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

查看当前的用户

mysql> SELECT USER();

+----------------+

| USER()         |

+----------------+

| root@localhost |

+----------------+

1 row in set (0.00 sec)

+++Oracle的实现方法 ++++

方法一,通过sql*plus中的show user命令杰克得到

SQL> show user

USE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值