從excel導入數據至PostgreSQL數據庫


COPY在PostgreSQL表和標准文件系統文件之間交換數據。COPY……TO把一個表的所有內容都拷貝到一個文件,而COPY……FROM從一個文件里拷貝數據到一個表里(把數據附加到表中已經存在的內容里)。

COPY 表名 TO '文件名.csv' CSV HEADER;



1、將excel文件轉換為csv格式,方法如下:

      文件-->另存為-->其他格式,保存類型下拉框中選擇CSV格式。


2、psql連接PostgreSQL數據庫:

      psql -h 127.0.0.1 -p 5432 -d postgres -U postgres


3、設置psql客戶端編碼格式(中文問題):

      查看psql客戶端當前編碼格式,命令:show client_encoding;

      如果編碼格式不是GBK,設為GBK,命令:set client_encoding='GBK';

4、執行copy命令:

      copy t_test(name) from 'D:\\t_test.csv' with csv;

 



導出:

 copy new_table to '/tmp/vehicles_2.csv' csv header;

返回結果:

COPY 4260

注:CSV,打開逗號分隔變量(CSV)模式。


HEADER,聲明文件包含一個頭標識行,包含文件中每個字段的名字。輸出時,第一行包含表的字段名,輸入時,第一行被忽略。

帶文件名的 COPY指示 PostgreSQL服務器直接從文件中讀寫數據。如果聲明了文件名,那么該文件必須為服務器可見,而且文件名必須從服務器的角度聲明。如果聲明的是STDIN或STDOUT,數據通過連接在客戶前端和服務器之間流動。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM