
本文涉及到的开发环境:
- 操作系统 Windows 10
- 数据库 MySQL 8.0
- Python 3.7.2
- pip 19.0.3
两种方法进行数据库的连接分别是PyMySQL和mysql.connector
步骤:
- 连接数据库
- 生成游标对象
- 执行SQL语句
- 关闭游标
- 关闭连接
PyMySQL
PyMySQL : 是封装了MySQL驱动的Python驱动,一个能使Python连接到MySQL的库
环境要求:Python version >= 3.4
PyMySQL安装
安装
Win键+X键再按I键,调出Windows PowerShell窗口,输入
pip install PyMySQL
回车
运行结果如下则安装成功

pip version ===19.0.3
查看版本
查看PyMySQL的版本,输入
pip show PyMySQL
回车

利用PyMySQL连接数据库
首先我们的MySQL数据库已安装,且已建好名为test的数据库,其中有名为student的表

上述代码中,实现了通过Python连接MySQL查询所有的数据,并输出前2条数据的功能。执行结果如下:
mysql.connector
mysql-connector-python:是MySQL官方的纯Python驱动;
mysql.connector安装
安装
pip install mysql

查看版本
pip show mysql

利用 mysql.connector连接数据库
首先我们的MySQL数据库已安装,且已建好名为test的数据库,其中有名为student的表

上述代码中,实现了通过Python连接MySQL查询所有的数据,并输出前2条数据的功能。执行结果如下:
Python对MySql数据库实现增删改查
接下来我们以用pymysql包为例,介绍一下如何用Python对数据库中的数据进行增删改查 。
增
conn.close() # 关闭数据库连接
然后我们再运行查询语句
执行结果就是
删
conn.close() # 关闭数据库连接
改
conn.close() # 关闭数据库连接
查
conn.close() # 关闭数据库连接
小型案例
import pymysql
cursor = conn.cursor()
try:
创建数据库
批量插入纪录
查询数据条目
获取表名信息
发生错误时会滚
关闭游标连接
cursor.close()
关闭数据库连接
conn.close()
综合案例
FIFA球员信息系统
数据库连接方法:
游标对象
self.cur = self.db.cursor()
数据库关闭方法:
数据库执行操作方法:
数据库查询所有操作方法:
1.增加操作
2.查找数据,其中order by 是为了按什么顺序输出,asc 是升序输出,desc降序输出
if name==“main”:
Start()
银行转账系统
先建立数据库test_3和表bankdata
import pymysql
cursor = conn.cursor()
try:
创建数据库
批量插入纪录
查询数据条目
获取表名信息
发生错误时会滚
关闭游标连接
cursor.close()
关闭数据库连接
conn.close()
构建系统
构造方法
def init(self, conn):
self.conn = conn
self.cur = conn.cursor()
def transfer(self, source_id, target_id, money):
if not self.check_account_avaialbe(source_id):
raise Exception(“账户不存在”)
if not self.check_account_avaialbe(target_id):
raise Exception(“账户不存在”)
if self.has_enough_money(source_id, money):
try:
self.reduce_money(source_id, money)
self.add_money(target_id, money)
except Exception as e:
print(“转账失败:”, e)
self.conn.rollback()
else:
self.conn.commit()
print(“%s给%s转账%s金额成功” % (source_id, target_id, money))
raise Exception(“账户%s不存在” %(acc_id))
return False
查找acc_id存储金额?
获取查询到的金额钱数;
acc_money = self.cur.fetchone()[0]
判断
析构方法
def del(self):
self.cur.close()
self.conn.close()
if name == ‘main’:
1. 连接数据库,
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206319.html原文链接:https://javaforall.net
