全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

sqlite迁移到mysql脚本的方法

废话不多说了,直接给大家贴代码了,具体代码如下所示:

#! /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小时内与您取得联系。