废话不多说了,直接给大家贴代码了,具体代码如下所示:
#! /usr/bin/perl
#
# based on https://stackoverflow.com/a/87531/5742651
# usage: sqlite3 .dump database_name.sqlite3 | perl sqlite2mysql.pl | mysql -u root -p $import_database_name
#
# ignore follow lines:
# BEGIN TRANSACTION
# COMMIT
# sqlite_sequence
# CREATE UNIQUE INDEX
# PRAGMA foreign_keys=OFF
# "tablename/field" => `tablename/field`
# booleans 't' and 'f' => 1 and 0
# AUTOINCREMENT => AUTO_INCREMENT
# varchar => varchar(255)
# CREATE TABLE table... => DROP TABLE table; CREATE TABLE table...
# Merge insert sqls into multiple insert to speed up
# INSERT INTO table VALUES('val1');
# INSERT INTO table VALUES('val2'); => INSERT INTO table VALUES('val1'), ('val2'), ('val3');
# INSERT INTO table VALUES('val3');
my $open=0;
my $line_cache = '';
# For speed up
print "SET GLOBAL max_allowed_packet=209715200;\n";
#print "SET AUTOCOMMIT=0;\n";
while ($line = <>){
if (($line !~ /PRAGMA foreign_keys=OFF/) && ($line !~ /BEGIN TRANSACTION/) && ($line !~ /COMMIT/) && ($line !~ /sqlite_sequence/) && ($line !~ /CREATE UNIQUE INDEX/)){
if ($line =~ /CREATE TABLE \"([a-z_0-9]*)\"(.*)/){
$name = "\`$1\`";
$sub = $2;
$sub =~ s/varchar([^(])/varchar(255)$1/g;
$line = "DROP TABLE IF EXISTS $name;\nCREATE TABLE $name$sub\n";
}
elsif ($line =~ /CREATE VIEW ([a-z_0-9]*)(.*)/){
$name = "\`$1\`";
$sub = $2;
$line = "DROP VIEW IF EXISTS $name;\nCREATE VIEW $name$sub\n";
}
elsif ($line =~ /INSERT INTO \"([a-z_]*)\" VALUES(.*);/){
if ($open == 0) {
$open = 1;
$line_cache .= "INSERT INTO \`$1\` VALUES $2";
} else {
$line_cache .= ", $2";
}
next;
}else{
$line =~ s/\'\'/\\\'/g;
}
if ($open == 1) {
$open = 0;
$line = $line_cache.";\n".$line;
$line_cache = '';
}
$line =~ s/\"/`/g;
$line =~ s/([^\\'])\'t\'(.)/$1THIS_IS_TRUE$2/g;
$line =~ s/THIS_IS_TRUE/1/g;
$line =~ s/([^\\'])\'f\'(.)/$1THIS_IS_FALSE$2/g;
$line =~ s/THIS_IS_FALSE/0/g;
$line =~ s/AUTOINCREMENT/AUTO_INCREMENT/g;
print $line;
}
}
#print "SET AUTOCOMMIT=1;\n";
总结
以上所述是小编给大家介绍的sqlite迁移到mysql脚本的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# sqlite迁移到mysql
# sqlite
# mysql
# SQLite 实现if not exist 类似功能的操作
# listview与SQLite结合实现记事本功能
# sQlite常用语句以及sQlite developer的使用与注册
# 微信使用 SQLite 保存聊天记录的原因分析
# 给大家
# 小编
# 在此
# 说了
# 不多
# 所示
# 所述
# 给我留言
# 感谢大家
# 疑问请
# 有任何
# lines
# follow
# COMMIT
# TRANSACTION
# ignore
# pl
# import_database_name
# root
相关文章:
,制作一个手机app网站要多少钱?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
如何彻底删除建站之星生成的Banner?
如何在IIS中新建站点并配置端口与物理路径?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
建站之星导航菜单设置与功能模块配置全攻略
建站之星如何助力企业快速打造五合一网站?
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
宝塔建站助手安装配置与建站模板使用全流程解析
如何用IIS7快速搭建并优化网站站点?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
已有域名和空间,如何快速搭建网站?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
独立制作一个网站多少钱,建立网站需要花多少钱?
,网页ppt怎么弄成自己的ppt?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
建站主机无法访问?如何排查域名与服务器问题
如何正确选择百度移动适配建站域名?
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
如何获取开源自助建站系统免费下载链接?
如何在IIS中配置站点IP、端口及主机头?
代购小票制作网站有哪些,购物小票的简要说明?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
如何在万网自助建站中设置域名及备案?
制作企业网站建设方案,怎样建设一个公司网站?
XML的“混合内容”是什么 怎么用DTD或XSD定义
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
C++如何编写函数模板?(泛型编程入门)
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
微课制作网站有哪些,微课网怎么进?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
深圳网站制作案例,网页的相关名词有哪些?
建站之星安装步骤有哪些常见问题?
如何登录建站主机?访问步骤全解析
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
linux top下的 minerd 木马清除方法
建站主机选购指南:核心配置优化与品牌推荐方案
如何获取免费开源的自助建站系统源码?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
网站代码制作软件有哪些,如何生成自己网站的代码?
北京制作网站的公司,北京铁路集团官方网站?
制作网站外包平台,自动化接单网站有哪些?
如何续费美橙建站之星域名及服务?
如何快速上传建站程序避免常见错误?
如何用狗爹虚拟主机快速搭建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。