如何將excel表格數(shù)據(jù)導入postgresql數(shù)據(jù)庫
實際的工作中,我們經(jīng)常會碰到統(tǒng)計數(shù)據(jù)的工作,有些維度的統(tǒng)計數(shù)據(jù)因為工作需要我們需要導出為excel作為報表附件供不同的部門審查。為了方便以后的對比工作,領(lǐng)導會讓在數(shù)據(jù)庫中創(chuàng)建一張表,用于專門記錄這些數(shù)據(jù)。此時我們DBA需要將這些excel表格導入到數(shù)據(jù)庫中,copy和\copy命令為我們提供了解決辦法,本文主要通過copy命令的使用,介紹如何將excel表格導入至數(shù)據(jù)庫中。關(guān)于copy及\copy命令的區(qū)別,請廣大博友通過另一篇文章《如何將postgresql數(shù)據(jù)庫表內(nèi)數(shù)據(jù)導出為excel格式》查看。
1、copy基本語法
COPY { 表名 [ ( 列名稱 [, ...] ) ]
from { '文件名' | PROGRAM '命令' | STDIN }
[ [ WITH ] ( 選項 [, ...] ) ]
選項可以是下列內(nèi)容之一
FORMAT 格式_名稱
FREEZE [ 布爾 ]
DELIMITER '分隔字符'
NULL '空字符串'
HEADER [ 布爾 ]
QUOTE '引用字符'
ESCAPE '轉(zhuǎn)義字符'
FORCE_QUOTE { ( 列名稱 [, ...] ) | * }
FORCE_NOT_NULL ( 列名稱 [, ...] )
ENCODING 'encoding_name(編碼名)'
2、參數(shù)含義介紹
FORMAT:指復制到文件的文件類型,如:CSV,TEXT。
FREEZE :凍結(jié)數(shù)據(jù),然后執(zhí)行VACUUM FREEZE。
DELIMITER:指在導出文件時的分隔符指定需要用單引號。在TEXT時默認為tab,CSV文件默認是逗號。不支持binary文件格式。
HEADER:指在復制到文件時帶上表字段名稱。
NULL:指定null值,默認為\N。
QUOTE: 聲明 CSV 模式里的引號字符,缺省是雙引號。
ESACPE: 指定轉(zhuǎn)義符,缺省是 QUOTE 值(通常是雙引號)。
ENCODING:指定文件的編碼,如果沒有指定就默認使用客戶端的字符集。
3、使用示例
①編輯excel表格,填充測試數(shù)據(jù),表格的保存格式為csv格式,編碼原則為UTF-8,逗號分隔。


②將excel表格上傳至數(shù)據(jù)庫服務器,根據(jù)表格字段創(chuàng)建對應表。
postgres=# create table movie_star(user_id int,user_name varchar(100),age int,gender text,address varchar(100),remark text); CREATE TABLE postgres=# postgres=# postgres=# postgres=# select * from movie_star ; user_id | user_name | age | gender | address | remark ---------+-----------+-----+--------+---------+-------- (0 rows)
③使用copy命令導入excel數(shù)據(jù)。
postgres=# copy movie_star from '/pg/movie_star.csv' with csv header; COPY 9 postgres=# postgres=# select * from movie_star ; user_id | user_name | age | gender | address | remark ---------+---------------+-----+--------+-------------------+------------------------------------------ 1 | Jackie Chan | 45 | male | HK,CHINA,ASIA | police story project A rush hour 2 | Gong Li | 38 | female | "Singapore",ASIA | Farewell My Concubine Lifetimes Living 3 | Brigitte Lin | 46 | female | HK,CHINA,ASIA | 4 | Maggie Cheung | 39 | female | HK,CHINA,ASIA | 5 | Jet Li | 41 | male | "Singapore",ASIA | Fist of LegendOnce Upon a Time in China 6 | Jacky Cheung | 35 | male | HK,CHINA,ASIA | 7 | Chow Yun Fat | 48 | male | HK,CHINA,ASIA | 8 | Donnie Yen | 36 | male | HK,CHINA,ASIA | 9 | Stephen Chow | 40 | male | HK,CHINA,ASIA |
④查看上傳至服務器內(nèi)的excel表格數(shù)據(jù)
postgres=# \! cat /pg/movie_star.csv user_id,user_name,age,gender,address,remark 1,Jackie Chan,45,male,"HK,CHINA,ASIA ",police story project A rush hour 2,Gong Li,38,female," ""Singapore"",ASIA", Farewell My Concubine Lifetimes Living 3,Brigitte Lin,46,female," HK,CHINA,ASIA", 4,Maggie Cheung,39,female,"HK,CHINA,ASIA ", 5,Jet Li,41,male,"""Singapore"",ASIA", Fist of LegendOnce Upon a Time in China 6,Jacky Cheung ,35,male,"HK,CHINA,ASIA", 7,Chow Yun Fat,48,male,"HK,CHINA,ASIA", 8, Donnie Yen,36,male,"HK,CHINA,ASIA", 9,Stephen Chow,40,male,"HK,CHINA,ASIA",
通過在excel表格我們可以看到,將excel表格保存為csv格式(UTF-8,逗號分隔)后,系統(tǒng)自動對表格內(nèi)的數(shù)據(jù)進行了格式轉(zhuǎn)換,部分字段內(nèi)加入了轉(zhuǎn)義符,比如雙引號,逗號等,避免了數(shù)據(jù)導入出錯。
到此這篇關(guān)于如何將excel表格數(shù)據(jù)導入postgresql數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)excel表格數(shù)據(jù)導入postgresql數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
postgresql數(shù)據(jù)庫設(shè)置id自增的基本方法舉例例子解析
這篇文章主要給大家介紹了關(guān)于postgresql數(shù)據(jù)庫設(shè)置id自增的基本方法舉例,文章介紹了在PostgreSQL中實現(xiàn)自增ID的兩種方法,分別是使用序列和觸發(fā)器,序列方法簡單直接,而觸發(fā)器和函數(shù)方法則提供了更大的靈活性,需要的朋友可以參考下2024-11-11
在Linux系統(tǒng)上安裝PostgreSQL數(shù)據(jù)庫
這篇文章介紹了在Linux系統(tǒng)上安裝PostgreSQL數(shù)據(jù)庫的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-03-03
在PostgreSQL中實現(xiàn)數(shù)據(jù)的自動清理和過期清理
在 PostgreSQL 中,可以通過多種方式實現(xiàn)數(shù)據(jù)的自動清理和過期處理,以確保數(shù)據(jù)庫不會因為存儲過多過時或不再需要的數(shù)據(jù)而導致性能下降和存儲空間浪費,本文給大家介紹了一些常見的方法及詳細示例,需要的朋友可以參考下2024-07-07
PostgreSQL查看數(shù)據(jù)庫占用空間大小的幾種常用方法
在PostgreSQL中,查看數(shù)據(jù)庫及數(shù)據(jù)表當前數(shù)據(jù)的占用量可以通過執(zhí)行特定的SQL查詢來實現(xiàn),本文給大家介紹了幾種常用的方法,并通過代碼示例講解的非常詳細,需要的朋友可以參考下2024-05-05
PostgreSQL使用MySQL外表的步驟詳解(mysql_fdw)
這篇文章主要介紹了PostgreSQL使用MySQL外表的步驟(mysql_fdw),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01

