Oracle中和MYSQL show create table tablename,desc tablename,show tables, show databases 相似效果。
Posted 杨晓楠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle中和MYSQL show create table tablename,desc tablename,show tables, show databases 相似效果。相关的知识,希望对你有一定的参考价值。
转自https://www.xuebuyuan.com/3220375.html
oracle命令执行之前需要设置下输出格式,不然结果会显示不全
SET LONG 1000;
SET PAGESIZE 0;
在对mysql移植到Oracle时 数据库一些专有写法的差异进行备注。
1. show create table tablename;
Oracle:
select table_name,dbms_metadata.get_ddl(\'TABLE\',\'TABLE_NAME\')from dual,user_tables where table_name=\'TABLE_NAME\'; eg: select table_name,dbms_metadata.get_ddl(\'TABLE\',\'C\')from dual,user_tables where table_name=\'C\';
注意:TABLE_NAME 指表名 需要大写。
2. desc tablename;
Oracle:
select column_name,data_type,nullable from all_tab_columns where owner=\'LANCE\' and table_name=\'TABLE_NAME\';
注意:TABLE_NAME 指表名 需要大写。 LANCE为当前用户名称。
3. show tables
Oracle:
select TABLE_NAME from user_tables;
# 查看当前登陆用户的所属表
或者
select table_name from all_tables where owner=\'用户名\';
eg:select table_name from all_tables where owner=\'SIMON\';
注意:此处 TABLE_NAME 为 user_tables的字段名称,请不要修改。用户名需要大写。
4.show databases
Oracle:
select name as database from v$database;
以上是关于Oracle中和MYSQL show create table tablename,desc tablename,show tables, show databases 相似效果。的主要内容,如果未能解决你的问题,请参考以下文章
oracle 如何获取表的结构,就像mysql里的desc命令一样的功能,
如何从数据库(oracle,mysql)中取出根据ID分组后,时间最大的数据