Maison >développement back-end >Tutoriel Python >Exemple de connexion à une base de données Python 3.x (méthode pymysql)
Étant donné que le module MySQLdb ne prend pas encore en charge Python3.x, si Python3.x veut se connecter à MySQL, vous devez installer le module pymysql.
Le module pymysql peut être installé via pip. Mais si vous utilisez l'IDE pycharm, vous pouvez utiliser le projet python pour installer des modules tiers.
[Fichier] >> [paramètres] >> [Projet : python] >>
Puisque Python unifie l'interface de connexion à la base de données, pymysql et MySQLdb sont similaires dans leur utilisation :
description du paramètre pymysql.Connect()
host(str) : adresse du serveur MySQL
cursor() Utilisez cette connexion pour créer et renvoyer un curseur
close() Fermer la connexion
execute(op) Exécuter une commande de requête de base de données
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================= ===Utilisez le script Python pour implémenter le traitement des ajouts, des suppressions, des modifications, des requêtes et des transactions : .
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()============== ====Résultats des tests====================
Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à tout le monde. L'apprentissage est utile et j'espère que tout le monde soutiendra le site Web PHP chinois.
Pour plus d'exemples de connexion à une base de données Python 3.x (méthode pymysql), veuillez faire attention au site Web PHP chinois !