Maison >base de données >tutoriel mysql >Comment mettre en file d'attente les résultats d'une requête SQL dans un fichier CSV à l'aide de SQLPLUS ?

Comment mettre en file d'attente les résultats d'une requête SQL dans un fichier CSV à l'aide de SQLPLUS ?

DDD
DDDoriginal
2025-01-17 20:34:11562parcourir

How to Spool SQL Query Results to a CSV File Using SQLPLUS?

Exporter les résultats de la requête SQL au format CSV à l'aide de SQLPLUS

Question :

Comment afficher les résultats d'une requête SQL dans un fichier CSV en utilisant uniquement SQLPLUS ?

Réponse :

Pour exporter les résultats de la requête vers un fichier CSV dans SQLPLUS, procédez comme suit :

<code class="language-sql">-- 设置列分隔符为逗号
set colsep ,

-- 抑制标题行
set pagesize 0

-- 删除尾随空格
set trimspool on

-- 可选:禁用标题分隔符
set headsep off

-- 定义行大小和数字宽度
set linesize X  -- 将'X'替换为总列宽
set numw X      -- 将'X'替换为所需的数字宽度(避免ID上的科学计数法)

-- 将结果输出到目标CSV文件
spool myfile.csv

-- 执行您的查询
select table_name, tablespace_name 
from all_tables
where owner = 'SYS'
  and tablespace_name is not null;

-- 停止输出
spool off</code>

Notes supplémentaires :

Cette méthode laisse des espaces entre les champs. Pour éviter cela, vous pouvez utiliser la variante suivante :

<code class="language-sql">-- 使用竖线作为列分隔符
set colsep |  

-- 或者,您可以使用以下方法(可能会在逗号前引入空格)
set colsep ,
set trimspool on
sed 's/\s+,/,/' myfile.csv </code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn