数据库

 首页 > 数据库 > postgresql > postgresql数据库的数据如何导入进MySQL数据库

postgresql数据库的数据如何导入进MySQL数据库

分享到:
【字体:
导读:
         摘要:首先还要感谢一下来自大连的Backer同学,给予了一定的启发:)由于某种不可告人的原因,我们准备把数据库从pg切换到mysql,首先面临的是数据转化问题,指望工具帮你转不大靠谱,还是得手工转,以下是关键步骤1将数据库结构先迁移到mysql中,这个用rails的d...

postgresql数据库的数据如何导入进MySQL数据库

首先还要感谢一下来自大连的Backer同学,给予了一定的启发:)

由于某种不可告人的原因,我们准备把数据库从pg切换到mysql,首先面临的是数据转化问题,指望工具帮你转不大靠谱,还是得手工转,以下是关键步骤

1 将数据库结构先迁移到mysql中,这个用rails的db migrate很简单

2 用pg_dump导出postgresql的数据
pg_dump mydatabase -Upostgres -a -D -f /path/to/bak.sql
其实-a表示只取数据,-D表示在insert语句中含有字段名,这样可以避免你的数据库增加了字段而导致的数据字段不完全匹配问题,这样导出的结果是一系列insert语句。

3 用vi或者netbeans等编辑工具打开bak.sql ,发现insert语句上面有数十行postgresql平台的特定sql语句,将这些语句全部删除,最后加上“set names utf8;”,这样就解决utf8乱码问题。

4 最关键的一点,由于pg中很多关键字的字段在insert语句中是加双引号的,而在mysql中是不加双引号的,在导入过程中会产生语法错误,解决办法是替换掉这些伪关键字,比如“password” "domain" "position" "role"等,替换为password domain position role

5 mysql -uroot -p123456 newdatabase < bak.sql

6 导入成功,over

postgresql数据库的数据如何导入进MySQL数据库
分享到:
PostgreSQL与MySQL数据类型的对比
PostgreSQL与MySQL数据类型的对比 MySQL 数据类型 数据类型 说明 固定长度的位串。 BOOLEAN 存储逻辑布尔值(true/false/unknown),可以是 TRUE、true 和 1;FALSE、false 和 0。 TINYBLOB 用于存储二进制对象(比如图形)的原始二进制数据,最大 255 字节。 BLOB 用于存储二...
MySQL转换至PostgreSQL数据库的详细步骤
MySQL转换至PostgreSQL数据库的详细步骤 由于项目需要,需要将mysql数据库转为 PostgreSQL数据库。大概的整理下了。 一、mysql表 CREATE TABLE `ss_users` (      `ID` int(11) NOT NULL auto_increment,      `PASSWD` varchar(200) NOT NULL,      `NAME` varchar(80) NOT NULL,     ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……