Sqlite向MySql导入数据
2023-09-27 14:23:27 时间
想把手上的Sqlite数据库导入到MySql,想来应该很简单,结果发现非常麻烦。
1、工具直接导入。试着找了几个软件,都不行。网上有人开发的,但是要收费,也不能用。
2、用各自支持的方式,中转。我用的是sqlitestudio和Navicat for MySQL,都挺好用。sqlite可以把表导出,mysql可以导入,想来比较容易,却无数的坑:
1)最好用的是dbf,双方都支持,而且带表结构。但是——dbf对中文支持稀烂。导出来的打开就已经是乱码了,想各种招都不行。
2)xml,导入时列识别不了
3)json不支持
4)xls,格式会将一些字符串自作主张的改得乱七八糟,也头疼
5)用access导倒是可以,就是非常麻烦
3、最后找到一条路径,可以完成导入:
1)把sqlite的ddl语句在mysql中运行,去掉一些不识别的部分,如自增,默认值等。成功后,再手动调整这些属性。这样就有了一个需要的库结构了。
2)用sqlite的导出数据
注意,配置中默认编码是“cp936”,改为utf-8。分隔符默认是逗号。还要选中列表为首行。
3)mysql中,进入导入向导,选择txt
选择csv文件,下一步的分隔符改为逗号
下一步的数据行改为2
顺利的话,就会自动对应好所有的列
最关心的,中文字段成功过来了:
相关文章
- centos7 安装mysql及workbench客户端
- mysql监控工具sqlprofiler,类似sqlserver的profiler工具
- MySQL高级第四章——MySQL的锁机制
- Mysql:mysqlslap:自带的简单压力测试工具:使用、bug等
- 【数据库技术】MySQL索引背后的数据结构及算法原理
- Python MySQL(MySQLdb)
- Mysql慢查询的一次奇葩经历,group by慢查询终极解决方案!
- mysql:事务
- SpringBoot整合Mybatis和Mysql
- MYSQL错误解决:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)