如何将excel表格数据导入postgresql数据库

实际的工作中,我们经常会碰到统计数据的工作,有些维度的统计数据因为工作需要我们需要导出为excel作为报表附件供不同的部门审查。为了方便以后的对比工作,领导会让在数据库中创建一张表,用于专门记录这些数据。此时我们DBA需要将这些excel表格导入到数据库中,copy和\copy命令为我们提供了解决办法,本文主要通过copy命令的使用,介绍如何将excel表格导入至数据库中。关于copy及\copy命令的区别,请广大博友通过另一篇文章《如何将postgresql数据库表内数据导出为excel格式》查看。

1、copy基本语法

COPY { 表名 [ ( 列名称 [, ...] ) ]
from { '文件名' | PROGRAM '命令' | STDIN }
 [ [ WITH ] ( 选项 [, ...] ) ]

选项可以是下列内容之一
 FORMAT 格式_名称
 FREEZE [ 布尔 ]
 DELIMITER '分隔字符'
 NULL '空字符串'
 HEADER [ 布尔 ]
 QUOTE '引用字符'
 ESCAPE '转义字符'
 FORCE_QUOTE { ( 列名称 [, ...] ) | * }
 FORCE_NOT_NULL ( 列名称 [, ...] )
 ENCODING 'encoding_name(编码名)'

2、参数含义介绍

FORMAT:指复制到文件的文件类型,如:CSV,TEXT。  
FREEZE :冻结数据,然后执行VACUUM FREEZE。 
DELIMITER:指在导出文件时的分隔符指定需要用单引号。在TEXT时默认为tab,CSV文件默认是逗号。不支持binary文件格式。 
HEADER:指在复制到文件时带上表字段名称。 
NULL:指定null值,默认为\N。 
QUOTE: 声明 CSV 模式里的引号字符,缺省是双引号。
ESACPE: 指定转义符,缺省是 QUOTE 值(通常是双引号)。
ENCODING:指定文件的编码,如果没有指定就默认使用客户端的字符集。

3、使用示例

①编辑excel表格,填充测试数据,表格的保存格式为csv格式,编码原则为UTF-8,逗号分隔。

②将excel表格上传至数据库服务器,根据表格字段创建对应表。

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数据。

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 |

④查看上传至服务器内的excel表格数据

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,逗号分隔)后,系统自动对表格内的数据进行了格式转换,部分字段内加入了转义符,比如双引号,逗号等,避免了数据导入出错。

到此这篇关于如何将excel表格数据导入postgresql数据库的文章就介绍到这了,更多相关excel表格数据导入postgresql数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • PostgreSql 导入导出sql文件格式的表数据实例

    PostgreSql默认导出的文件格式是.backup,而我们很多数据库导入数据库脚本时是.sql文件格式的,PostgreSql作为国内的新潮,会不会不支持导出.sql文件格式吗?答案是当然不会.下面我们借助Pg Admin III工具来导出.sql的脚本的. 一.导出 首先,你当然得有一张完整的数据表啦,并且保证里面是有数据的: 有了表和数据之后,选中该表: 选中右键 --> 备份 我们可以看到文件名默认以.backup格式的方式进行数据备份的. 首先将自定义格式 --> 无格式 点开之后

  • postgresql 实现数据的导入导出

    最近想把服务器上的测试数据库数据导到我本地的电脑上,本地电脑数据库是安装在windows系统下 之前没使用过pgsql,网上找了点资料,记入如下: 一,首先把服务器上的数据进行备份 pg_dump -U 用户名 数据库名 (-t 表名)> 数据存放路径 二,把.sql 文件下载到本地之后,首先切换到pgsql路径下的bin目录 然后执行这条命令: -d:数据库名 -h:地址 -p:端口 -u:用户名 -f:sql文件路径 之后输入口令: 这样就可以了! 补充:Sqoop从PostgreSQL导入

  • 如何将postgresql数据库表内数据导出为excel格式(推荐)

    在上篇文章给大家介绍了如何将postgresql数据库表内数据导出为excel格式(推荐) 感兴趣的朋友点击查看. 本文主要用于介绍如何使用copy或者\copy命令将postgresql数据库内表的数据导出为excel格式,方便用户查看编辑. copy命令同\copy命令语法上相同,区别在于copy必须使用能够超级用户使用,copy - to file 中的文件都是数据库服务器所在的服务器上的文件,而\copy 一般用户即可执行且\copy 保存或者读取的文件是在客户端所在的服务器.本文主要以

  • 如何将excel表格数据导入postgresql数据库

    实际的工作中,我们经常会碰到统计数据的工作,有些维度的统计数据因为工作需要我们需要导出为excel作为报表附件供不同的部门审查.为了方便以后的对比工作,领导会让在数据库中创建一张表,用于专门记录这些数据.此时我们DBA需要将这些excel表格导入到数据库中,copy和\copy命令为我们提供了解决办法,本文主要通过copy命令的使用,介绍如何将excel表格导入至数据库中.关于copy及\copy命令的区别,请广大博友通过另一篇文章<如何将postgresql数据库表内数据导出为excel格式>

  • 把excel表格里的数据导入sql数据库的两种方法

    本来最近在研究微信公众平台的,老大临时交我个任务,把excel表格里的数据导入sql数据库,我想这so easy嘛. 没想都在上面消磨了两天... 把情况介绍下:在数据库中有如下这样结构的表(A表) 我只取关键的及列里面还有很多数据. 有一张id和name对照的excel文件(B表)和N张结构类似的excel表(C表)(没有id那一列)              我的任务在B表中找到C表中数据对应的id后,然后将id加到C表中,最后根据id是唯一的,用C表的数据去更新A表的数据.这里主要涉及了e

  • Java实现批量导入excel表格数据到数据库中的方法

    本文实例讲述了Java实现批量导入excel表格数据到数据库中的方法.分享给大家供大家参考,具体如下: 1.创建导入抽象类 package com.gcloud.common.excel; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintStream; import java.sql.SQLException;

  • Springboot上传excel并将表格数据导入或更新mySql数据库的过程

    本文主要描述,Springboot-mybatis框架下上传excel,并将之导入mysql数据库的过程,如果用户id已存在,则进行更新修改数据库中该项信息,由于用到的是前后端分离技术,这里记录的主要是后端java部分,通过与前端接口进行对接实现功能,使用layui等前端框架与之对接,也可以自己写前端代码,本文以Controller开始,从导入过程开始讲述,其中包括字典表的转换 1.在pom.xml文件中导入注解,主要利用POI <dependency> <groupId>org.

  • asp.net中EXCEL数据导入到数据库的方法

    本文实例讲述了asp.net中EXCEL数据导入到数据库的方法.分享给大家供大家参考.具体分析如下: excel是办公中非常常用的一个办公表格了,但我们在开发中通常会需要直接把excel数据快速导入到数据库中了,这里整理了一个asp.net中EXCEL数据导入到数据库的例子供各位参考学习. 注意:EXCEL中的第一行不能导入. 下面是源码:IntoExcel.aspx: 复制代码 代码如下: <%@ Page  AutoEventWireup="true" CodeFile=&q

  • C#实现Excel表数据导入Sql Server数据库中的方法

    本文实例讲述了C#实现Excel表数据导入Sql Server数据库中的方法.分享给大家供大家参考,具体如下: Excel表数据导入Sql Server数据库的方法很多,这里只是介绍了其中一种: 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段tid int类型, tname nvarchar类型, tt nvarchar类型 (注意:my_test表中的数据类型必须与Excel中相应字段的类型一致) 2. 我们用SELECT * FROM  OPENROWSET(

  • C++ 中实现把EXCEL的数据导入数据库(ACCESS、MSSQL等)实例代码

    C++ 中实现把EXCEL的数据导入数据库(ACCESS.MSSQL等)实例代码 在把EXCEL的数据导入数据库之前,先进行一些简单的准备工作: 1.把数据所在的EXCEL表另保存为DBF 4格式. 2.打开BCB,添加AdoTable(改名为DBFTable)和DataSource这两个控件 OK,准备工作,到此结束,剩下的就是打代码了 1.在Form_Load()事件中,加入以下代码: AnsiString filepath=ExtractFilePath(FileName); //File

  • Java如何将Excel数据导入到数据库

    本文实例为大家分享了Java将Excel数据导入到数据库的具体代码,供大家参考,具体内容如下 所用Jar包 1. sqljdbc4.jar 连接数据库的Jar包(根据数据库的不同进行选择,我用的SqlServer2008) 2.Jxl.jar 访问Excel的Jar包 package xsl; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; impo

  • Python导入Excel表格数据并以字典dict格式保存的操作方法

    本文介绍基于Python语言,将一个Excel表格文件中的数据导入到Python中,并将其通过字典格式来存储的方法~   本文介绍基于Python语言,将一个Excel表格文件中的数据导入到Python中,并将其通过字典格式来存储的方法.   我们以如下所示的一个表格(.xlsx格式)作为简单的示例.其中,表格共有两列,第一列为学号,第二列为姓名,且每一行的学号都不重复:同时表格的第一行为表头.   假设我们需要将第一列的学号数据作为字典的键,而第二列姓名数据作为字典的值.   首先,导入必要的

  • 精妙的SQL和SQL SERVER 与ACCESS、EXCEL的数据导入导出转换

    * 说明:复制表(只复制结构,源表名:a 新表名:b)       select * into b from a where 1<>1     * 说明:拷贝表(拷贝数据,源表名:a 目标表名:b)       insert into b(a, b, c) select d,e,f from b;     * 说明:显示文章.提交人和最后回复时间       select a.title,a.username,b.adddate from table a,(select max(adddate

随机推荐