把postgresql中的表导入到mysql数据库中的两种方式
来源:互联网 发布:php加密授权 编辑:程序博客网 时间:2024/04/30 07:19
一般来说数据库表的导入导出都是在同一类型的数据库中操作比较常见,不同类型数据库之间的操作不太常见。因为毕竟不同类型数据库之间会有一些差别,在跨库导入的时候需要修改一些东西才能保证正常导入另一种类型数据库中。正好在工作中遇到了这种情况,是要把postgresql中的表导入到mysql数据库中去,总结了两种方式,希望大家可以用来参考一下(如有不对,还请多提宝贵意见)。
第一种:通过Navicat for PostgreSQL工具来进行(这个工具可以在百度上下载)
大概的步骤:通过该工具提供的把数据库或者表生成sql文件的功能来进行导出,然后再将导出的sql文件进行修改,之后将修改的sql文件导入到mysql中去
然后在该表名上右键进行导出操作(可以导出表结构或者表数据和结构,我这里是导出表结构和数据),将导出的sql文件保存到一个位置中
下面是导出来的sql文件部分内容:
是不是觉得和mysql的sql文件差不多,但是问题就是出现在细节上,下面就放一张mysql的sql文件,来对比下
接下来就是要修改postgresql的sql脚本了,修改的地方一般有以下几个地方:
1." 要改成 `
2.对于字段的说明不能是 COMMENT ON COLUNN "XXX" IS "XXX" 这种方式要改成mysql对字段的说明
3,postgresqlz中的一些函数和方法mysql是不能识别的也要去掉比如nextval('tb_cad_sql'::regclass)
4.以防万一把sql文件里面的注释型的内容也去掉
5.对于我的这个sql文件来说要把里面的“soc”.去掉
经过一番修改后的sql内容如下:
用下面的命令mysql -uroot -p test </root/tb_audit.sql 在mysql数据库中导入 。(用户名密码和数据库都是按照我的来的,下面命令中的都一样)
第二种:用命令行的方式导入导出
步骤:先导出表结构在导出表数据,修改后再导入表结构和表数据
首先进入到postgresql的安装目录的bin目录下面执行 ./pg_dump -Usoc -t tb_cad -s soc>/root/tb_cad.sql(-s是导出表结构 -t是那张表,soc是对应的数据库,如果执行./pg_dump -Usoc -t tb_cad soc>/root/tb_cad.sql导出的sql文件里面是包含了表结构和表中数据,但是里面会出现copy命令,就是向表里面插入数据,这个我没有调好,所以没有用这个命令。)这条命令导出的是表结构,内容如下:
修改同上面修改一样,修改后的内容如下:
然后用下面的命令mysql -uroot -p test </root/tb_audit.sql 在mysql数据库中导入(此时导入进去的是一张空表)
然后在postgresql数据库的bin目录下执行./pg_dump -Usoc -t tb_cad -a --column-inserts soc>/root/tb_cad.sql导出表数据(-a是只导数据,--colunm-inserts是将每条数据以insert语句进行插入)得到的内容如下:
经过修改内容如下:
然后在mysql数据库中对应的数据库下面执行命令 load data local infile '/root/tb_cad.sql' into table tb_cad ;
ok,两种方式演示完毕,如有错误,请提出。
- 把postgresql中的表导入到mysql数据库中的两种方式
- 把R里面的数据导入到mysql数据库的两种方式
- php把excel表格中的数据导入到mysql数据库
- 把Sql2000中的表导入到Mysql中的方法
- asp.net中把有图片的execl导入到数据库(以二进制流的方式存放图片)中的两种方法
- 把Excel表中的数据导入到数据库
- 把远程MySQL数据库中的数据手工导入到本地MySQL数据库
- Excel 导入到数据库中的两种方法(.net)
- 把远程数据库中的数据导入到本地数据库
- MySql将Excel表中的数据导入到数据库表
- mysql 导入文件中的数据到数据库表
- 把数据库从MYSQL迁移到POSTGRESQL
- 把Excel表中的数据导入数据库
- 把文本文件中的内容导入到数据库中
- ASP:把access数据库中的数据导入到Excel中
- 一种把ACCESS的数据导入到MySQL中的方法
- 把excel中的数据批量导入到mysql数据中
- 把一个数据库表中的数据导入到另一个数据库中解决方法
- SIFT算法详解
- 【HDOJ】elevator
- PAT乙级.1029. 旧键盘(20)
- Relaxation step(Dijkstra's 最短路径算法)
- C#中在某些控件内实现双缓冲绘图的一些问题
- 把postgresql中的表导入到mysql数据库中的两种方式
- 【Leetcode】116. Populating Next Right Pointers in Each Node
- Android VelocityTracker的使用
- 极客 - 博文5 - 第K值问题实现
- tjut 3572
- 颜色迁移之三——Welsh经典算法
- 简洁的迷你DVDjava代码
- Java 基本类型转换
- js实现动态时钟