久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

sqlite如何遷移到mysql腳本

181次閱讀
沒有評論

共計 2020 個字符,預計需要花費 6 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章主要介紹了 sqlite 如何遷移到 mysql 腳本,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。

,具體代碼如下所示:

#! /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/\ \ /\\\ 
 }
 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

感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“sqlite 如何遷移到 mysql 腳本”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!

向 AI 問一下細節

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-04發表,共計2020字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 郁南县| 河津市| 张家港市| 塔河县| 黔西| 长乐市| 乾安县| 阳信县| 新乡县| 苍南县| 潞城市| 晋州市| 冕宁县| 衡山县| 柳林县| 景泰县| 洪江市| 哈尔滨市| 香格里拉县| 伊春市| 福泉市| 鹤岗市| 长葛市| 丁青县| 东辽县| 乐安县| 江口县| 延安市| 刚察县| 尚义县| 江山市| 滦平县| 韩城市| 噶尔县| 通山县| 晋江市| 东丰县| 长海县| 洛川县| 宁化县| 普格县|