Python – Datenbank schreiben / lesen

21. Februar 2013 at 21:07
Print Friendly, PDF & Email

Weiterführend gibt es folgende Beiträge:

 

Grundsätzlicher Einstieg:

MySQLdb Module installieren

$ sudo apt-get install python-mysqld

 

Datenbank schreiben

#!/usr/bin/python
# -*- coding: utf-8 -*-

# Die ersten Versuche mit Python / Ein-Daten auslesen

# Start Datenbank öffnen

import MySQLdb # muss installiert werden und dann reboot – apt-get install python-mysqldb

db = MySQLdb.connect(host=”localhost”,                 # host
user=”XXXXX”,                 # username
passwd=”XXXX”,                         # password
db=”test”)                 # datenbank

# Du must ein “Cursor Objekt” erstellen.
# Damit werden alle querys zur Datenbank hergestellt

cur = db.cursor()

# Hier kommen alle Verbindungen zur Tabelle hinein

data = [
(1, 11, -10.1, 1.1),
(2, 22, -20.2, 2.2),
(3, 33, -30.4, 3.3),
]
stmt = “INSERT INTO avrdat (Aussen, Innen, Zimmer, Balkon) VALUES (%s, %s, %s, %s)”
cur.executemany(stmt, data)

db.commit()

cur.execute(“””SELECT Aussen, Innen, Zimmer, Balkon FROM avrdat”””)

# Ausgabe der Datenbank
for row in cur:
print “%.2d %.2f %.2f %.2d” % row

 

Datenbank auslesen

#!/usr/bin/python
# -*- coding: utf-8 -*-

# Start Datenbank oeffnen

import MySQLdb # muss installiert werden und dann reboot – sudo apt-get install python-mysqldb
import datetime

import datetime
collection = []
dateTimeString = str(datetime.date.today())
collection.append(dateTimeString)
print collection

db = MySQLdb.connect(host=”localhost”,                 # host
user=”xxx”,             # username
passwd=”xxx”,            # password
db=”avrio”)                # datenbank

# Du must ein “Cursor Objekt” erstellen.
# Damit werden alle querys zur Datenbank hergestellt

cur = db.cursor()

cur.execute(“””SELECT UNIX_TIMESTAMP(dattim), Aussen, Innen, Balkon, Terasse FROM avrdat”””)

# Ausgabe der Datenbank
for row in cur:
# print “%d %.1f %.1f %.1f” % row
datetimestring = datetime.datetime.fromtimestamp(row[0])
print datetimestring , “%d %.1f %.1f %.1f %.1f” % row

db.close