在Oracle SQL Developer中批量导出指定用户下所有表列信息为CSV
批量导出Oracle指定用户下所有表的列信息方案
方法1:查询数据字典表直接导出
Oracle系统视图USER_TAB_COLUMNS(当前用户视角)或ALL_TAB_COLUMNS(跨用户视角)存储了所有列的完整信息,直接查询即可批量获取:
查询语句
- 查询当前用户的表列:
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE, COLUMN_ID FROM USER_TAB_COLUMNS ORDER BY TABLE_NAME, COLUMN_ID;
- 查询指定用户(例如
SCOTT)的表列:
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE, COLUMN_ID FROM ALL_TAB_COLUMNS WHERE OWNER = 'SCOTT' ORDER BY TABLE_NAME, COLUMN_ID;
导出操作
- PL/SQL Developer:执行查询后,点击结果集上方的「导出」按钮,选择CSV格式即可直接导出所有结果。
- SQL*Plus:执行以下脚本将结果保存为本地CSV文件:
SET HEADING ON SET COLSEP ',' SET LINESIZE 1000 SET PAGESIZE 0 SET FEEDBACK OFF SPOOL C:\oracle_table_columns.csv SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE, COLUMN_ID FROM USER_TAB_COLUMNS ORDER BY TABLE_NAME, COLUMN_ID; SPOOL OFF
方法2:PL/SQL Developer图形化批量导出
如果偏好图形界面操作:
- 打开「对象浏览器」,找到目标用户的「表」节点,按
Ctrl+A全选所有表。 - 右键选择「导出表」,在弹出窗口的「选项」标签页勾选「导出列」。
- 选择CSV作为导出格式,设置保存路径后点击「导出」,即可一次性完成所有表列信息的导出。
方法3:Oracle SQL Developer批量导出
- 打开SQL Developer并连接目标数据库,展开目标用户的「表」节点。
- 全选所有表,右键选择「导出」,在导出向导中选择CSV格式。
- 在「要导出的对象」中勾选「列」,按向导步骤完成导出即可。
内容的提问来源于stack exchange,提问作者kz123
相关产品推荐
相关产品推荐

