Da das MySQLdb-Modul Python3.x noch nicht unterstützt, müssen Sie das pymysql-Modul installieren, wenn Python3.x eine Verbindung zu MySQL herstellen möchte.
Das PyMySQL-Modul kann über Pip installiert werden. Wenn Sie jedoch die Pycharm-IDE verwenden, können Sie Project Python verwenden, um Module von Drittanbietern zu installieren.
[Datei] >> [Projekt: Python] >> [Schaltfläche „Installieren“]
Da Python die Datenbankverbindungsschnittstelle vereinheitlicht, sind pymysql und MySQLdb in der Verwendung ähnlich:
pymysql.Connect() Parameterbeschreibung
host(str): MySQL-Serveradresse
port(int): MySQL-Server-Portnummer
user (str): Benutzername
passwd(str): Passwort
db(str): Datenbankname
charset (str): Verbindungskodierung
Vom Verbindungsobjekt unterstützte Methoden
cursor() Verwenden Sie diese Verbindung zum Erstellen und einen Cursor zurückgeben
commit() Die aktuelle Transaktion festschreiben
rollback() Die aktuelle Transaktion zurücksetzen
close() Verbindung schließen
Vom Cursorobjekt unterstützte Methoden
execute(op) Ausführen ein Datenbankabfragebefehl
fetchone() Holen Sie sich die nächste Zeile des Ergebnissatzes
fetchmany(size) Holen Sie sich die nächsten Zeilen des Ergebnismenge
fetchall() Alle Zeilen in der Ergebnismenge abrufen
rowcount() Gibt die Anzahl der Datenelemente oder die Anzahl von zurück betroffene Zeilen
close() Das Cursorobjekt schließen
================= =MySQL======== ===========
Erstellen Sie zunächst eine Transaktionstabelle, bevor Sie eine Verbindung zur Datenbank herstellen, um das Testen der Funktionen von pymysql zu erleichtern:
DROP TABLE IF EXISTS `trade`; CREATE TABLE `trade` ( `id` int(4) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(6) NOT NULL COMMENT '用户真实姓名', `account` varchar(11) NOT NULL COMMENT '银行储蓄账号', `saving` decimal(8,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '账户储蓄金额', `expend` decimal(8,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '账户支出总计', `income` decimal(8,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '账户收入总计', PRIMARY KEY (`id`), UNIQUE KEY `name_UNIQUE` (`name`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; INSERT INTO `trade` VALUES (1,'乔布斯','18012345678',0.00,0.00,0.00);
==================Python============ ========
Verwenden Sie ein Python-Skript, um das Hinzufügen, Löschen, Ändern, Abfragen und die Transaktionsverarbeitung zu implementieren. Der Quellcode lautet wie folgt:
import pymysql.cursors # 连接数据库 connect = pymysql.Connect( host='localhost', port=3310, user='woider', passwd='3243', db='python', charset='utf8' ) # 获取游标 cursor = connect.cursor() # 插入数据 sql = "INSERT INTO trade (name, account, saving) VALUES ( '%s', '%s', %.2f )" data = ('雷军', '13512345678', 10000) cursor.execute(sql % data) connect.commit() print('成功插入', cursor.rowcount, '条数据') # 修改数据 sql = "UPDATE trade SET saving = %.2f WHERE account = '%s' " data = (8888, '13512345678') cursor.execute(sql % data) connect.commit() print('成功修改', cursor.rowcount, '条数据') # 查询数据 sql = "SELECT name,saving FROM trade WHERE account = '%s' " data = ('13512345678',) cursor.execute(sql % data) for row in cursor.fetchall(): print("Name:%s\tSaving:%.2f" % row) print('共查找出', cursor.rowcount, '条数据') # 删除数据 sql = "DELETE FROM trade WHERE account = '%s' LIMIT %d" data = ('13512345678', 1) cursor.execute(sql % data) connect.commit() print('成功删除', cursor.rowcount, '条数据') # 事务处理 sql_1 = "UPDATE trade SET saving = saving + 1000 WHERE account = '18012345678' " sql_2 = "UPDATE trade SET expend = expend + 1000 WHERE account = '18012345678' " sql_3 = "UPDATE trade SET income = income + 2000 WHERE account = '18012345678' " try: cursor.execute(sql_1) # 储蓄增加1000 cursor.execute(sql_2) # 支出增加1000 cursor.execute(sql_3) # 收入增加2000 except Exception as e: connect.rollback() # 事务回滚 print('事务处理失败', e) else: connect.commit() # 事务提交 print('事务处理成功', cursor.rowcount) # 关闭连接 cursor.close() connect.close()
============== ====Testergebnisse====================
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für alle hilfreich ist. Das Lernen ist hilfreich und ich hoffe, dass jeder die chinesische PHP-Website unterstützt.
Weitere Artikel zu Python 3.x-Datenbankverbindungsbeispielen (pymysql-Methode) finden Sie auf der chinesischen PHP-Website!