python使用pymysql操作mysql数据库

本文介绍了如何在Python环境中安装pymysql并连接MySQL数据库。文章详细讲解了数据库的基本操作,包括异常处理机制,如语法错误和主键冲突异常的捕获。此外,还探讨了使用占位符来构建SQL语句的方法,如{}、{0}、{1}和{name}等形式,以提高代码的可读性和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本操作

环境安装
1. 社区mysql下载:https://dev.mysql.com/downloads/mysql/
2. 安装好python后,安装pymysql,下面方法是使用pip安装pymysql:

pip install pymysql

下面演示如何建立数据库连接:

import pymysql
# 创建数据库连接
conn = pymysql.connect(
host='127.0.0.1',   # 目标数据库主机的地址
user='root',        # 数据库用户名
passwd='123456',    # 数据库密码
db=db_name,         # 数据库名字
charset='UTF8'      # 编码格式,这个很重要,不然会导致中文乱码
)

cur = conn.cursor() # 获取游标

# 进行相关数据库的操作
sql_str = "insert into table_name (user,pwd) values ({0},{1});" # 使用了占位符,详情见下文
.format("hey","key"))

cur.execute(sql_str)

..................
# 数据库操作结束

cur.close()         # 关闭游标
conn.commit()       # 提交事务,不提交的话,上面操作没用的哦
conn.close()        # 关闭到数据库的连接,释放数据库资源

异常处理

在进行数据库增删该查的时候,会出现不同的异常,下面介绍常见的两种异常的捕获,第一种的语法错误的异常,第二种是主键冲突异常。

try:
    sql_str = "insert into....."
    cur.execute(sql_str)
except(pymysql.err.ProgrammingError):
    # 捕获由于sql语句错误抛出的异常
    # 捕获后的操作
except(pymysql.err.IntegrityError):
    # 捕获主键冲突
    # 捕获后的相关操作

python 占位符

利用占位符,方便我们合成sql语句,而不需要使用字符串的操作,使得代码写起来方便,读起来直观,具体使用自带的format函数实现,有三种不同的写法
1. 使用’{}’形式的占位符

print('My name is {}'.format('HL'))
# result: My name is HL

2. 也可以使用’{0}’,’{1}’形式的占位符

print('I am a boy {0} and like {1}.'.format('boy','girls'))
# result: I am a boy boy and like girls

3. 使用’{name}’形式的占位符

print('Hey!{name}'.format(name = 'Jack'))
# result: Hey!Jack
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值