玖叶教程网

前端编程开发入门

PostgreSQL - 批量复制文本文件到数据表

使用数据库时,经常需要把许多csv格式或txt格式文件的内容复制到数据库的表中,在文件数量比较少的情况下,可以使用INSERT命令完成。但是如果文本文件数量非常多,使用INSERT命令把数据插入到数据表,不仅需要先读取各个文本文件的内容,并且转换为适合INSERT命令使用的格式,而且操作比较繁琐,耗费时间多。这种情况下,应该使用数据库系统提供的复制数据的命令。以下为PostgreSQL数据库系统中,大批量复制文本文件的数据到数据表的应用实例。

PostgreSQL数据库提供的复制文本数据到数据表的命令如下:

psql -U username -d database -h localhost -c "\COPY mkd_min1 FROM SZ#000001.csv CSV"

以上为复制一个文本文件的命令格式,如果需要批量复制多个文件,可以把要复制的文本文件放在同一个目录下,写一个批处理文件 batchcopy_csvfile.bat,然后在命令提示符下运行即可。代码如下:

@echo off

set PATH=%PATH%;D:\Program Files\PostgreSQL\15\bin

setlocal
set PGPASSWORD=123456



for %%f in (*.csv)  do psql -d stockdb -h localhost -U postgres -p 5432 -c "\COPY stockmd_min1 FROM '%%~dpnxf' DELIMITER ',' CSV;"

pause
endlocal

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言