MariaDB .sql Datei öffnen

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
earloop
User
Beiträge: 38
Registriert: Sonntag 11. Oktober 2020, 13:54

Hi,
ich würde gerne eine .sql Datei (MariaDB) in Python öffnen.
Normalerweise greife ich so auf meine Datenbank zu:

Code: Alles auswählen

import sqlalchemy as db
import pandas as pd

metadata = db.MetaData()

engine = db.create_engine('mysql+mysqldb://USER:PW@IP/DBNAME')
con = engine.connect()

df = pd.read_sql_table('TABLENAME', con=engine)
Wie mache ich das wenn die Datenbank nicht auf einem Server liegt, sondern ich nur eine locale MYDB.sql Datei habe? Muss auch nicht unbedingt mit sqlalchemy sein.

Wenn ich das ändere zu

Code: Alles auswählen

import sqlalchemy as db
import pandas as pd

metadata = db.MetaData()

engine = db.create_engine('mysql+mysqldb://USER:PW@MYDB.sql/DBNAME')
con = engine.connect()

df = pd.read_sql_table('TABLENAME', con=engine)
kommt eine Fehlermeldung

Code: Alles auswählen

OperationalError: (MySQLdb._exceptions.OperationalError) (2005, "Unknown MySQL server host 'MYDB.sql' (22)")
(Background on this error at: http://sqlalche.me/e/13/e3q8)
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@earloop: Die Datei würde man ausserhalb von Python erst einmal in eine Datenbank einspielen. Das ist ja (normalerweise) SQL-Quelltext der von der Datenbank ausgeführt werden muss.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
earloop
User
Beiträge: 38
Registriert: Sonntag 11. Oktober 2020, 13:54

und wie funktioniert das?
Die .sql Datei habe ich mit

Code: Alles auswählen

mysqldump -u root -p MYDB > MYDB.sql
erzeugt.
nezzcarth
User
Beiträge: 1632
Registriert: Samstag 16. April 2011, 12:47

Du musst dir lokal einen MariaDB-Server aufsetzen und die Daten dort dann mit den entsprechenden Befehlen einspielen (s. z. B. https://www.digitalocean.com/community/ ... or-mariadb).
Antworten