一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sqlite - sqlite遷移到mysql腳本的方法

sqlite遷移到mysql腳本的方法

2020-08-05 17:08sqlite教程網 Sqlite

這篇文章主要介紹了sqlite遷移到mysql腳本的方法,需要的朋友可以參考下

廢話不多說了,直接給大家貼代碼了,具體代碼如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#! /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腳本的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.2cto.com/database/201708/665512.html

延伸 · 閱讀

精彩推薦
  • SqliteSQLite中重置自動編號列的方法

    SQLite中重置自動編號列的方法

    這篇文章主要介紹了SQLite中重置自動編號列的方法,本文講解了3種情況和其對應解決方法,需要的朋友可以參考下 ...

    dodo84492020-06-08
  • SqliteSQLite 錯誤碼整理

    SQLite 錯誤碼整理

    這篇文章主要介紹了SQLite 錯誤碼,方便大家在開發過程中快速解決問題 ...

    SQLite教程網5532020-06-06
  • SqliteSQLite 入門教程三 好多約束 Constraints

    SQLite 入門教程三 好多約束 Constraints

    在上一篇隨筆的結尾,我提到了SQLite的約束, 但是在那里我把它翻譯成了限定符,不太準確,這里先更正一下,應該翻譯成約束更貼切一點。 那么什么是...

    SQLite入門教程4572020-06-05
  • SqliteSQLite中的WAL機制詳細介紹

    SQLite中的WAL機制詳細介紹

    這篇文章主要介紹了SQLite中的WAL機制詳細介紹,本文講解了什么是WAL、WAL如何工作、WAL的優點與缺點、WAL引入的兼容性問題、WAL引入的性能問題等內容,需要...

    dodo83402020-06-08
  • Sqlite詳解SQLite中的查詢規劃器

    詳解SQLite中的查詢規劃器

    這篇文章主要介紹了詳解SQLite中的查詢規劃器,SQLite是一個開源的嵌入式數據庫,需要的朋友可以參考下...

    SQLite教程網8892021-10-25
  • Sqlite基于sqlite特殊字符轉義的實現方法

    基于sqlite特殊字符轉義的實現方法

    本篇文章是對sqlite特殊字符轉義的實現方法進行了詳細的分析介紹,需要的朋友參考下 ...

    sqlite數據庫教程網4132020-06-04
  • SqliteSQLite速度評測代碼

    SQLite速度評測代碼

    SQLite 作為一個輕量級嵌入式數據庫,還是非常好用的。雨痕極力推薦~~~~~~ ...

    SQLite教程網5832020-06-01
  • SqliteSQLite 內存數據庫學習手冊

    SQLite 內存數據庫學習手冊

    這篇文章主要介紹SQLite 內存數據庫的使用方法, 需要的朋友可以參考下 ...

    SQLite教程網3292020-06-06
主站蜘蛛池模板: 国产99视频精品免费视频7 | 久久无码人妻AV精品一区 | 精品亚洲综合久久中文字幕 | 青青青视频免费观看 | 白丝美女用胸伺候主人 | 亚洲国产精品久久久久久 | 亚欧成人中文字幕一区 | 无限国产资源 | 国色天香视频资源网 | 天堂a免费视频在线观看 | 国产精品xxxav免费视频 | 色伦网| 校花小雪灌满了男人们的浓浆 | 日本伊人久久 | 国产精品午夜久久 | 天天爱综合 | 狠狠色伊人亚洲综合网站色 | 美女毛片在线 | 亚洲国产在线视频精品 | 日韩成人影视 | 免费观看大片毛片 | 三级无删减高清在线影院 | 免费一区在线 | 亚洲男人天堂2023 | 亚洲精品久久久992KVTV | 91天堂国产在线 在线播放 | 女人用粗大自熨喷水在线视频 | 亚洲女同在线观看 | 女人张开腿 让男人桶个爽 免费观看 | 范冰冰上面好大下面好紧 | 男女爆操 | 国产精品视频免费看 | 日本老妇和子乱视频 | 免费一级毛片在线播放 | 日本中文字幕在线视频 | 亚洲成人影院在线 | 91色资源网在线观看 | tube62hdxxxx日本 | 99在线免费观看视频 | 国产精品亚洲片在线va | 荷兰艾优apiyoo|