oracle操作

oracle postgresql查询表结构和索引

2020-11-03  本文已影响0人  不玩了啊

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下)

上一篇下一篇

猜你喜欢

热点阅读