So migrieren Sie SQLite zu einem MySQL-Skript

So migrieren Sie SQLite zu einem MySQL-Skript

Ohne weitere Umschweife werde ich den Code direkt für Sie posten. Der spezifische Code lautet wie folgt:

#!/usr/bin/perl
#
# basierend auf https://stackoverflow.com/a/87531/5742651
# Verwendung: sqlite3 .dump Datenbankname.sqlite3 | perl sqlite2mysql.pl | mysql -u root -p $import_Datenbankname
#
# folgende Zeilen ignorieren:
# TRANSAKTION BEGINNEN 
# BEGEHEN 
#sqlite_sequenz 
# EINDEUTIGEN INDEX ERSTELLEN
# PRAGMA foreign_keys=AUS
# "tablename/field" => `Tabellenname/Feld`
# Boolesche Werte 't' und 'f' => 1 und 0
# AUTOINCREMENT => AUTO_INCREMENT
# varchar => varchar(255)
# Tabelle erstellen ... => Tabelle löschen; Tabelle erstellen ...
# Fügen Sie Insert-SQLs zu mehreren Inserts zusammen, um die Geschwindigkeit zu erhöhen
# IN Tabelle einfügen VALUES('val1');
# IN Tabelle EINFÜGEN VALUES('val2'); => IN Tabelle EINFÜGEN VALUES('val1'), ('val2'), ('val3');
# IN Tabelle einfügen VALUES('val3');
mein $open=0;
mein $line_cache = '';
# Zur Beschleunigung
drucken "SET GLOBAL max_allowed_packet=209715200;\n";
#drucken "SET AUTOCOMMIT=0;\n";
während ($line = <>){
  wenn (($line !~ /PRAGMA foreign_keys=OFF/) && ($line !~ /BEGIN TRANSACTION/) && ($line !~ /COMMIT/) && ($line !~ /sqlite_sequence/) && ($line !~ /CREATE UNIQUE INDEX/)){
   wenn ($line =~ /CREATE TABLE \"([a-z_0-9]*)\"(.*)/){
   $name = "\`$1\`";
   $sub = $2;
   $sub =~ s/varchar([^(])/varchar(255)$1/g;
   $line = "Tabelle löschen, wenn $name vorhanden ist;\nTabelle erstellen $name$sub\n"; 
   }
   elsif ($line =~ /ANSICHT ERSTELLEN ([a-z_0-9]*)(.*)/){
   $name = "\`$1\`";
   $sub = $2;
   $line = "ANSICHT LÖSCHEN, WENN $name VORHANDEN IST;\nANSICHT ERSTELLEN $name$sub\n";
   }
   elsif ($line =~ /INSERT INTO \"([a-z_]*)\" VALUES(.*);/){
        wenn ($open == 0) {
          $öffnen = 1;
       $line_cache .= "INSERT INTO \`$1\` VALUES $2";
        } anders {
          $line_cache .= ", $2";
        }
        nächste;
   }anders{
   $zeile =~ s/\'\'/\\\'/g;
   }
    wenn ($open == 1) {
       $öffnen = 0;
       $line = $line_cache.";\n".$line;
       $line_cache = '';
    }
   $line =~ s/\"/`/g;
   $line =~ s/([^\\'])\'t\'(.)/$1DAS_IST_WAHR$2/g;
   $line =~ s/DAS_IST_WAHR/1/g;
   $line =~ s/([^\\'])\'f\'(.)/$1DIES_IST_FALSCH$2/g;
   $line =~ s/DIES_IST_FALSCH/0/g;
   $line =~ s/AUTOINCREMENT/AUTO_INCREMENT/g;
   drucke $line;
  }
}
#drucken "SET AUTOCOMMIT=1;\n";

Zusammenfassen

Oben ist die vom Herausgeber vorgestellte Methode zum Migrieren von SQLite-Skripten zu MySQL. Ich hoffe, sie ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung zur Migration einer MySQL-Datenbank auf einen anderen Computer
  • Die MySQL-Datenbankmigration exportiert und importiert schnell große Datenmengen
  • MySQL-Datenmigration mit dem Befehl MySQLdump
  • So migrieren Sie MySQL-Daten richtig nach Oracle
  • Beispiel für die Migration einer MySQL-Datenbank durch Kopieren von Datendateien
  • Migrieren Sie die MySQL-Datenbank zur Oracle-Datenbank
  • Detaillierte Erläuterung der Migrationsmethode für MySQL5.5-Datenbankdatenverzeichnisse
  • Detaillierte Schritte zum Migrieren des Datenordners der MySQL-Datenbank
  • Analyse von Mysql-Datenmigrationsmethoden und -Tools

<<:  So implementieren Sie Sveltes Defer Transition in Vue

>>:  Schritte zum Erstellen Ihres eigenen YUM-Repositorys

Artikel empfehlen

11 Linux-KDE-Anwendungen, die Sie nicht kannten

KDE Abkürzung für Kool Desktop Environment. Eine ...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.14

Dieser Artikel dokumentiert den Installations- un...

Vue-Anfängerhandbuch: Umgebungserstellung und Erste Schritte

Inhaltsverzeichnis Erster Blick Erstellen einer V...

Reines CSS, um den Listen-Pulldown-Effekt auf der Seite zu erzielen

Möglicherweise sehen Sie häufig den folgenden Eff...

Mehrere Möglichkeiten zum Senden von HTML-Formularen_PowerNode Java Academy

Methode 1: Absenden über den Absenden-Button <...

Beispielcode der Uniapp Vue- und NVUE-Karussellkomponenten

Der Vue-Teil ist wie folgt: <Vorlage> <K...

Detaillierte Erläuterung der Javascript-Wissenspunkte

Inhaltsverzeichnis 1. Grundlegende Einführung in ...

So ändern Sie schnell das Root-Passwort unter CentOS8

Starten Sie die virtuelle Centos8-Maschine und dr...

Die entsprechenden Attribute und Verwendung von XHTML-Tags in CSS

Als ich anfing, Webseiten mit XHTML CSS zu entwer...

HTML-Code einer Webseite: Erzeugung von Lauftext

In diesem Abschnitt beschreibt der Autor die spez...

NodeJS realisiert die Bildtextsegmentierung

In diesem Artikel wird der spezifische Code von N...