oracle postgresql查询表结构和索引

oracle:

建表语句:select dbms_metadata.get_ddl('TABLE','ODS_NE_GNB_NG') from dual

查询某张表的所有字段名

select COLUMN_NAME,column_id from user_tab_columns where table_name='SYS_USER‘;

表名必须大写,否则查不出来

2.查询出某张表所有字段名,用  ||','|| 分隔

select max(substr(SYS_CONNECT_BY_PATH(COLUMN_NAME,'||'',''||'),2)) col from (select COLUMN_NAME,column_id from user_tab_columns where table_name='SYS_USER') start with column_id=1 connect by column_id=rownum;

这个用来spool导出数据时,手动定义格式(字段较多时,可以用此语句查出所有字段)

3.spool 导出csv

spool.sql

set colsep ,

set feedback off

set heading off

set trimout on

set termout off

set pagesize 0

spool /home/oracle/spool_data/test.csv

select user_name || ',' || user_pass from sys_user_account;

spool off

exit


sqlplus  -s  用户名/密码 @spool.sql

postgresql:

1、通过命令行查询

\d 数据库  —— 得到所有表的名字

\d 表名  —— 得到表结构


2、通过SQL语句查询

"select * from pg_tables"  —— 得到当前db中所有表的信息(这里pg_tables是系统视图)

"select tablename from pg_tables where schemaname='public'" ——  得到所有用户自定义表的名字(这里"tablename"字段是表的名字,"schemaname"是schema的名字。用户自定义的表,如果未经特殊处理,默认都是放在名为public的schema下)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。