Forum: PC-Programmierung SQLite zu MySQL


von Jens (Gast)


Lesenswert?

Hi zusammen,

ist es problemlos möglich eine SQLite Datenbank in eine MySQL bzw. Maria 
Datenbank zu übertragen? Also sowohl Schema als auch Daten?
Fals ja, wie und mit welchem Betriebssystem/welchen Tools würde das ganz 
grob beschrieben ablaufen?

Viele Grüße
Jens

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Warum sollte das nicht gehen?

Du musst nur die Syntax des von SQLite erzeugten SQL-Dumps auf 
Kompatibilität zum SQL-Dialekt von My/MariaSQL überprüfen.

Betriebssysteme? Die, die Du verwendest.

Tools?

a) Zu SQLite gibt es ein Kommandozeilentool, das Dir sowohl das 
Datenbankschema als auch die Tabelleninhalte in Textform als 
SQL-Anweisung ausgeben kann.

https://sqlite.org/cli.html

b) Das My/MariaSQL-Verwaltungswerkzeug Deiner Wahl, wie z.B. HeidiSQL 
oder was auch immer Du auf Deinem Betriebssystem verwendest.

von T.roll (Gast)


Lesenswert?

Such dir bei Google eines der vielen, vielen Programme aus:
Suchbegriff: sqlite2mysql

von Jens (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Warum sollte das nicht gehen?
>
> Du musst nur die Syntax des von SQLite erzeugten SQL-Dumps auf
> Kompatibilität zum SQL-Dialekt von My/MariaSQL überprüfen.

Hallo Rufus,

genau deswegen frage ich ja, weil ich mir eben nicht sicher bin, wie 
viel Aufwand da möglicherweise dranhängt, weil die Kompatibilität des 
Dumps beim Schema, den Datentypen oder der Syntax abweicht. Die Frage 
hätte wohl besser lauten sollen, ob man mit Tools explizit einen 
MySQL-Dump erzeugen kann? Das würde ich jetzt unter Problemlos 
verstehen.
Oder wenn ich ein (kostenpflichtiges) Tool benutze, wo sich der 
Hersteller bereits mit der Problematik auseinander gesetzt hat.
Das Betriebssystem habe ich offen gelassen, weil ich sowohl mit OS X, 
Linux und Windows arbeite und es ja teilweise Tools nicht für jede 
Platform gibt.

Bei mir geht es konkret darum, dass ich ein Apple Addresbuch inklusive 
Relationen (Gruppenzugehörigkeit, x Telefonnummern, etc.) in MySQL 
importieren möchte, welches angenlich auf SQLite basieren soll. Ich kann 
alternativ auf dem Mac via Adressbuch-API auf die Datensätze zugreifen, 
müsste diese mangels nativer MySQL-Unterstützung dann aber wohl mit 
einem WebService in meine MySQL-Datenbank übertragen. An der Stelle 
fragte ich mich, ob ich nicht besser gleich 1:1 die Datenbank importiere 
und dann mit sinnvollen Abfragen die von mir benötigten Daten in das 
Datenmodell meiner Datenbank transformiere? Wenn ich damit allerdings 
aufgrund diverser Unvorhersehbarkeiten viel Zeit verbringen kann, 
beschäftige ich mich lieber gleich mit dem WebService.

Ich hatte gehofft, dass hier jemand schon mal so etwas gemacht hat und 
mir ein einwandfrei funktionierendes Tool oder Skript empfehlen kann. 
Die Datei, die ich für die Adressbuch-Datenbank halte, beginnt mit 
"SQLite format 3".

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dann sieh Dir doch einfach mal an, welchen Output das sqlite-Tool 
generiert.

Oder ist Dir SQL generell ein Buch mit 9 Siegeln?

von c.m. (Gast)


Lesenswert?

ich kenne sqlite nicht, und mysql nur sehr wenig - komme aus der oracle 
ecke - aber:
http://www.sqlitetutorial.net/sqlite-dump/

im dump stehen die tabellendefinitionen (siehe "albums.sql"). 
problematisch wirds, wenn mysql entweder ein feature nicht unterstützt 
(foreign key constraints, autoincrement, stored procedures, was auch 
immer…) oder, weniger schlimm, eine andere syntax verwendet (die eckigen 
klammern beim create table z.b.).

einfach mal sqlite dumpen, und anschauen was drin ist - wie viele 
tabellen, und was für DB-features genutzt werden.

von Georg (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> b) Das My/MariaSQL-Verwaltungswerkzeug Deiner Wahl

Wenn es sich um eine Website handelt, gibt es Online-Verwaltungstools, 
bei Apache-Servern z.B. phpMyAdmin, Provider wie Strato haben eigene 
Tools. Darin gibt es Funktionen für Export und Import der jeweiligen 
Datenbank.

Georg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.