PostgreSQL导出一张表到MySQL

1. 查看PostgreSQL表结构,数据量,是否有特殊字段值

region_il=# select count(*) from result_basic;
  count
---------
 2611527
(1 row)
region_il=# \d result_basic
             Table "noco_il_16q1.result_basic"
        Column         |         Type          | Modifiers
-----------------------+-----------------------+-----------
 result_id             | integer               | not null
 ppid                  | character varying(24) |
 title                 | character varying     |
 categories            | integer[]             |
 phone                 | character varying(24) |
 brand_code            | character varying(24) |
 street_address        | character varying     |
 zip_code              | character varying(24) |
 city                  | character varying     |
 state                 | character varying(50) |
 country               | character varying(50) |
 lat                   | double precision      |
 lon                   | double precision      |
 vendor_code           | character varying(24) |
 vendor_poi_id         | character varying(32) |
 actual_street_address | character varying     |
 actual_zip_code       | character varying(24) |
 extender              | json                  |
 titles                | json                  |
Indexes:
    "result_basic_pkey" PRIMARY KEY, btree (result_id)
    "result_basic_vendor_poi_id_idx" btree (vendor_poi_id)
region_il=# \x
Expanded display is on.
region_il=# select * from result_basic where result_id = 2;
-[ RECORD 1 ]---------+---------------------------------------------
result_id             | 2
ppid                  | SUK5QD9B7C16D826B26E5
title                 | ????? ??????? ????????
categories            | {791}
phone                 |
brand_code            |
street_address        | ???? ?????? ???? ?? ?????????
zip_code              | 42314
city                  | ???????
state                 | ???????
country               | SAU
lat                   | 24.47893
lon                   | 39.65331
vendor_code           | NOCO
vendor_poi_id         | 1040248605
actual_street_address |
actual_zip_code       |
extender              | {"sideOfStreet":"+","mapLinkId":"571732670"}
titles                | 

2. 导出PostgreSQL表结构

$ pg_dump --verbose --schema-only --table=noco_il_16q1.result_basic region_il -f /usr/local/pgsql/dba/exp/result_basic_schema.sql

3. 导出PostgreSQL表的所有字段

region_il=# COPY result_basic TO ‘/usr/local/pgsql/dba/exp/result_basic.csv‘ WITH (DELIMITER ‘^‘,FORMAT csv,FORCE_QUOTE *);COPY 2611527

4. 将备份集传到MySQL数据库服务器

$ scp /usr/local/pgsql/dba/exp/result_basic* [email protected]172.16.101.66:/usr/local/mysql/dba/imp/

5. 编辑表结构文件修改字段类型并创建MySQl表结构

region_il>source /usr/local/mysql/dba/imp/result_basic_schema.sql;
region_il>desc result_basic;
+-----------------------+-------------+------+-----+---------+-------+
| Field                 | Type        | Null | Key | Default | Extra |
+-----------------------+-------------+------+-----+---------+-------+
| result_id             | int(11)     | NO   | PRI | NULL    |       |
| ppid                  | varchar(24) | YES  |     | NULL    |       |
| title                 | text        | YES  |     | NULL    |       |
| categories            | text        | YES  |     | NULL    |       |
| phone                 | varchar(24) | YES  |     | NULL    |       |
| brand_code            | varchar(24) | YES  |     | NULL    |       |
| street_address        | text        | YES  |     | NULL    |       |
| zip_code              | varchar(24) | YES  |     | NULL    |       |
| city                  | text        | YES  |     | NULL    |       |
| state                 | varchar(50) | YES  |     | NULL    |       |
| country               | varchar(50) | YES  |     | NULL    |       |
| lat                   | double      | YES  |     | NULL    |       |
| lon                   | double      | YES  |     | NULL    |       |
| vendor_code           | varchar(24) | YES  |     | NULL    |       |
| vendor_poi_id         | varchar(32) | YES  | MUL | NULL    |       |
| actual_street_address | text        | YES  |     | NULL    |       |
| actual_zip_code       | varchar(24) | YES  |     | NULL    |       |
| extender              | text        | YES  |     | NULL    |       |
| titles                | text        | YES  |     | NULL    |       |
+-----------------------+-------------+------+-----+---------+-------+
19 rows in set (0.01 sec)

6. 加载数据到MySQL表中

$ script /dev/null
$ screen -S restore_data
enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 33
Server version: 5.6.23-log MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
region_il>LOAD DATA INFILE ‘/usr/local/mysql/dba/imp/result_basic.csv‘ INTO TABLE result_basic FIELDS TERMINATED BY ‘^‘ OPTIONALLY ENCLOSED BY ‘"‘ LINES TERMINATED BY ‘\n‘;
Query OK, 2611527 rows affected (50 min 3.08 sec)
Records: 2611527  Deleted: 0  Skipped: 0  Warnings: 0

7. 验证导入的数据

region_il>select count(*) from result_basic;
+----------+
| count(*) |
+----------+
|  2611527 |
+----------+
1 row in set (0.94 sec)
region_il>select * from result_basic where result_id = 2\G
*************************** 1. row ***************************
            result_id: 2
                 ppid: SUK5QD9B7C16D826B26E5
                title: ????? ??????? ????????
           categories: {791}
                phone:
           brand_code:
       street_address: ???? ?????? ???? ?? ?????????
             zip_code: 42314
                 city: ???????
                state: ???????
              country: SAU
                  lat: 24.47893
                  lon: 39.65331
          vendor_code: NOCO
        vendor_poi_id: 1040248605
actual_street_address:
      actual_zip_code:
             extender: {"sideOfStreet":"+","mapLinkId":"571732670"}
               titles:
1 row in set (0.05 sec)
region_il>show variables like ‘%char%‘;
+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | latin1                           |
| character_set_connection | latin1                           |
| character_set_database   | utf8                             |
| character_set_filesystem | binary                           |
| character_set_results    | latin1                           |
| character_set_server     | latin1                           |
| character_set_system     | utf8                             |
| character_sets_dir       | /usr/local/mysql/share/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.03 sec)

region_il>set character_set_results = utf8;
Query OK, 0 rows affected (0.02 sec)

region_il>select * from result_basic where result_id = 2\G
*************************** 1. row ***************************
            result_id: 2
                 ppid: SUK5QD9B7C16D826B26E5
                title: ????? ??????? ????????
           categories: {791}
                phone:
           brand_code:
       street_address: ???? ?????? ???? ?? ?????????
             zip_code: 42314
                 city: ???????
                state: ???????
              country: SAU
                  lat: 24.47893
                  lon: 39.65331
          vendor_code: NOCO
        vendor_poi_id: 1040248605
actual_street_address:
      actual_zip_code:
             extender: {"sideOfStreet":"+","mapLinkId":"571732670"}
               titles:
1 row in set (0.00 sec)
时间: 2024-08-29 13:18:48

PostgreSQL导出一张表到MySQL的相关文章

postgresql导出某张表的数据

\copy 表名 to 路径 with csv 比如: \copy dataset to /home/backup/dataset.csv with csv 路径需不需要加引号呢,,加不加呢....我也不知道....都试试吧... 导入CSV COPY mytable FROM '/myfile.csv'  WITH CSV  HEADER postgres=# COPY vender(sid,vender_id,vender_name,connector,created_by,created_

Mysql导出(多张表)表结构及表数据 mysqldump用法

命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名; 1.导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)    mysqldump -uroot -pdbpasswd -d dbname >db.sql; 2.导出數據库為dbname某张表(test)结构    mysqldump -uroot -pdbpasswd -d dbname test>db.sql; 3.导出數據库為dbna

mysqldump批量导出(多张表)表结构及表数据

Mysql 批量导出表结构(数据) 仅导出结构,不导出数据: 1.导出數據库為dbname的表结构    mysqldump  -h主机地址 -u用户名 -p密码 -d dbname >db.sql; 2.导出數據库為dbname某张表(test)结构    mysqldump  -h主机地址 -u用户名 -p密码 -d dbname test>db.sql; 导出结构+数据:    3.导出數據库為dbname所有表结构及表數據(不加-d)    mysqldump  -h主机地址 -u用户

mysql导出某张表的部分数据

1.使用into outfile '保存到操作系统的外部文件路径' mysql -uroot -p123456 -hhostname -P3306 select   column_name_list  from table_name where condition  into outfile '/home/glc/tmp/yes.csv'; 2.使用 mysql -e "select  column_name_list  from table_name where condition "

oracle EXP导出一张表时使用query参数指定where条件

oracle exp 导出一个表的部分内容,使用query参数可加上SQL的where条件进行过滤 注意:如果需要使用到日期字符串格式等单引号,需要使用双引号将where条件括起来,而且双引号要用\做转义 exp test/[email protected] file=D:\test_bak.dmp log=D:\exp0811.log tables=(tbl_test) query=\"where start_time>='20160701000000' and start_time&l

postgreSQL 备份多张表

-U表示用户 -h表示主机 -p表示端口号 -t表示表名 -f表示备份后的sql文件的名字 -d表示要恢复数据库名 一.打开cmd 进入postgresql安装路径下的bin文件夹,以我的为例: cd D:\Program Files\PostgreSQL\bin 二.输入备份命令,多个表每个表前面都要加 -t: 输入口令,即你的数据库登录密码,完成备份. pg_dump -U postgres -h localhost -p 5432 -t fsrd_user -t fsrd_tenant -

postgresql 导入 导出(一张表)

导入sql   -w  指定数据库名 psql -h 192.168.20.123 -p 5432 -w warehouse < /usr/20180808.sql 导出一张表sql   -w  指定数据库名 语法:# -h 地址 -p 端口 -t 指定表 -n 指定schema -Fp 输出一个纯文本sql文件 -E 指定字符集 -f 指定生成的sql文件路径 最后一个是dbname -U 用户 -W 密码 -c先清除 pg_dump -h 192.168.20.123 -p 5432 -c

【Mysql】将Mysql的一张表导出至Excel

把Mysql的一张表导出至Excel不像<[Mysql]将Excel表导入至Mysql的其中一张表>(点击打开链接)那样困难, 直接输入如下的T-SQL语句即可: select * from 某个表 into outfile '文件路径' 比如,我要把如下的test数据库的一张i_student表导出至d盘根目录下的1.xls: use test 之后,输入: select * from i_student into outfile 'd:/1.xls' 如下图: 然后你就会发现在D盘静静躺着

mysql 和 sqlserver中备份一张表的区别

sqlserver中备份一张表 SELECT * into qa_buglist_bak FROM qa_buglist 不管表的数据有多大,速度很快: mysql中上述语句就无效了,须得新建一张表,然后让此长表中新增数据 create table qa_buglist_bak like qa_buglist;insert qa_buglist_bak select * from qa_buglist; 如果原表中数据量大,就特别慢,很吃硬盘和CPU 刚刚看了下,也就800万行的数据.. 我应该