MySQLdb importieren
# Datenbankverbindung öffnen
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
# Einen Cursor vorbereiten Objekt mit der Cursor()-Methode
cursor = db.cursor()
# SQL-Abfrage vorbereiten, um einen Datensatz in die Datenbank EINZUFÜGEN
sql = "INSERT INTO EMPLOYEE(FIRST_NAME,
NACHNAME , ALTER, GESCHLECHT, EINKOMMEN)
VALUES ('%s', '%s', '%d', '%c', '%d' )" %
('Mac', 'Mohan' , 20, 'M', 2000)
versuchen Sie:
# Führen Sie den SQL-Befehl aus
Cursor.execute(sql)
# Übernehmen Sie Ihre Änderungen in der Datenbank
db.commit()
außer:
# Rollback im Falle eines Fehlers
db.rollback()
# Verbindung zum Server trennen
db.close()
Lesevorgang:
fetchone(): Diese Methode ruft die nächste Zeile des Abfrageergebnissatzes ab. Wenn es sich bei der Ergebnismenge um ein Objekt handelt, wird ein Cursorobjekt zum Abfragen der Tabelle zurückgegeben.
fetchall(): Diese Methode ruft alle Zeilen der Ergebnismenge ab. Wenn einige Zeilen aus der Ergebnismenge abgerufen wurden, ruft die Methode fetchAll() die verbleibenden Zeilen der Ergebnismenge ab.
rowcount: Dies ist eine schreibgeschützte Eigenschaft, die die Anzahl der von der Ausführung betroffenen Zeilen zurückgibt ()-Methode.
#!/usr/bin/python
import MySQLdb
# Datenbankverbindung öffnen
db = MySQLdb.connect("localhost ","testuser"," test123","TESTDB")
# Bereiten Sie ein Cursorobjekt mit der Cursor()-Methode vor
cursor = db.cursor()
# Bereiten Sie eine SQL-Abfrage vor um einen Datensatz in die Datenbank EINZUFÜGEN.
sql = "SELECT * FROM EMPLOYEE
WHERE INCOME > '%d'" % (1000)
versuchen Sie:
# Führen Sie den SQL-Befehl aus
Cursor.execute(sql)
# Alle Zeilen in einer Liste von Listen abrufen
results = Cursor.fetchall()
für Zeile in Ergebnissen:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
Einkommen = row[4]
# Jetzt abgerufenes Ergebnis drucken
print "fname=%s ,lname=%s,age =%d,sex=%s,income=%d" %
(fname, lname, Alter, Geschlecht, Einkommen)
außer:
print „Fehler: nicht möglich Daten abrufen"
# Verbindung zum Server trennen
db.close()
Aktualisierungsvorgang:
Ein Aktualisierungsvorgang für eine beliebige Datenbank bedeutet die Aktualisierung eines oder mehrerer Datensätze, die vorhanden sind bereits in der Datenbank. Im Folgenden wird der Vorgang zum Aktualisieren aller Datensätze auf „M“ SEX beschrieben. Hier addieren wir ein Jahr zum Alter aller Männer .connect("localhost","testuser","test123","TESTDB" )
# Bereiten Sie ein Cursorobjekt mit der Cursor()-Methode vor
cursor = db.cursor()
# SQL-Abfrage vorbereiten, um erforderliche Datensätze zu aktualisieren
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1
SQL-Befehl
Cursor.execute(sql)
# Übernehmen Sie Ihre Änderungen in der Datenbank
db.commit()
außer:
# Rollback, falls ein Fehler auftritt
db .rollback()
# Verbindung zum Server trennen
db.close()
Löschvorgang:
Der DELETE-Vorgang ist erforderlich, wenn Sie einige Datensätze aus der Datenbank löschen möchten. Das Folgende ist ein Programm, das alle Datensätze von Mitarbeitern löscht, die älter als 20 Jahre sind.
Beispiel:
#!/usr/bin/python
import MySQLdb
# Datenbankverbindung öffnen
db = MySQLdb.connect("localhost","testuser","test123","TESTDB")
# Bereiten Sie ein Cursorobjekt mit der Cursor()-Methode vor
cursor = db.cursor()
# SQL-Abfrage vorbereiten, um erforderliche Datensätze zu LÖSCHEN
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
Versuchen Sie:
# Führen Sie den SQL-Befehl aus
Cursor.execute(sql)
# Übernehmen Sie Ihre Änderungen in der Datenbank
db.commit()
außer:
# Rollback, falls vorhanden ist irgendein Fehler
db.rollback()
# Verbindung zum Server trennen
db.close()
Transaktion ausführen:
Transaktion ist ein Mechanismus zur Sicherstellung Für die Datenkonsistenz sollten Transaktionen die folgenden vier Eigenschaften haben:
Atomizität: Entweder endet die Transaktion oder es passiert überhaupt nichts
Konsistenz: Eine Transaktion muss in einem konsistenten Zustand gestartet werden der gleiche Zustand wie beim Verlassen des Systems.
Isolation: Die Zwischenergebnisse der Transaktion sind außerhalb der aktuellen Transaktion nicht sichtbar.
Persistenz: Sobald die Transaktion festgeschrieben ist, ist der Effekt dauerhaft if Nach einem Systemausfall.
Bietet zwei Methoden für die Python DB API 2.0 zum Festschreiben oder Zurücksetzen von Transaktionen
------------ -- ------------------------------------------------ -- --
import MySQLdb
con = MySQLdb.connect(host='localhost', user='root', passwd='root', db='hr_resume_center', charset='utf8' )
cursor = con.cursor()
sql = "INSERT INTO hr_resume_core (resume_id,name,mobile,email,add_time,sys_time,version) VALUES(%s,%s,%s,% s, %s,%s,%s)"
param = [
(1,'bright','13641154657','jackieming@sina.cn',1385625423,1385625423,1),
(2,'bright','13641154657','jackieming@sina.cn',1385625423,1385625423,1),
(3,'bright','13641154657','jackieming@sina.cn' ,1385625423 ,1385625423,1),
]
cursor.execute(sql,param)
cursor.close()
con.close()