Hinweis: Installation in Thonny
- Menupunkt
Tools
>Manage Packages...
- Suche nach «mysql-connector»
- Install klicken
Warnung: Zugriff nur am Gymer
Der Zugriff auf die Datenbank ist nur aus dem Gymer-Netz möglich!
Verbindung herstellen
Mit der Methode mysql.connector.connect()
können wir eine Verbindung zu einem MySQL-Server herstellen. Dazu müssen wir den Hostnamen des Servers, den Name und das Passwort des DB-Benutzers und den Namen der Datenbank kennen. Für die Abfrage verlangen wir einen sogenannten cursor.
python
from mysql.connector import connect
mydb = connect(
host="web3.kinet.ch",
user="omdb_user",
database="omdb",
password="QhPSNctsBRgsYOKEbASI"
)
mycursor = mydb.cursor(named_tuple=True)
mycursor.execute("SELECT * FROM movies WHERE name LIKE '%Titanic%' LIMIT 10")
myresult = mycursor.fetchall()
for x in myresult:
print(x)
mydb.close()
myresult
ist eine Liste von «Named Tuples» und kann der template
-Funktion von Bottle übergeben werden.
Mit Bottle verwenden
Sinnvollerweise lagert man die Verbindungs-Herstellung in eine separate Funktion aus (z.B. connectDB()
). So kann diese von mehreren Routen-Funktionen aufgerufen werden.
python
from bottle import route, run, template
from mysql.connector import connect
def connectDB():
mydb = connect(
host="web3.kinet.ch",
user="omdb_user",
database="omdb",
password="QhPSNctsBRgsYOKEbASI"
)
return mydb
@route('/')
def index():
mydb = connectDB()
mycursor = mydb.cursor(named_tuple=True)
mycursor.execute("SELECT * FROM movies WHERE id=597")
myresult = mycursor.fetchone()
mydb.close()
print(myresult)
return template('<b>Hello {{movie.name}}</b>!', movie=myresult)
run(reloader=True, host='localhost', port=8080)