PyMySQL - 在Python里操作MySQL数据库的得力助手
数据库操作是开发中的重中之重,PyMySQL这个库能让咱们用Python代码轻松操作MySQL数据库。它是纯Python写的MySQL客户端库,不用装啥额外的东西,上手特别快。今天我就带大家玩转这个超好用的工具。
装起来先
pip install pymysql
装好就能用了,就这么简单。开发的时候我建议再装个configparser,方便管理数据库配置:
pip install configparser
连接数据库
要用数据库第一步肯定是连接啦。这个连接代码你得记住,基本上每次都要用:
import pymysql
conn = pymysql.connect(
host=“localhost”, # 数据库在哪儿
user=“root”, # 用户名
password=“123456”, # 密码
database=“test_db” # 要用哪个数据库
)
print(“连上了!”)
温馨提示: 这些连接信息最好不要写死在代码里,容易泄密。可以放在配置文件里,比如:
[database]
host = localhost
user = root
password = 123456
database = test_db
增删改查都不在话下
有了连接就能开始写SQL了。PyMySQL里用cursor对象来执行SQL语句:
# 插入数据
with conn.cursor() as cursor:
sql = “INSERT INTO users (name, age) VALUES (%s, %s)”
cursor.execute(sql, (“小明”, 18))
conn.commit() # 别忘了提交!
# 查询数据
with conn.cursor() as cursor:
cursor.execute(“SELECT * FROM users”)
users = cursor.fetchall()
for user in users:
print(user)
写SQL的时候用%s做占位符,可以防SQL注入。values用tuple传进去就行。
异常处理很重要
数据库操作容易出错,得好好处理异常:
try:
with conn.cursor() as cursor:
sql = “UPDATE users SET age = %s WHERE name = %s”
cursor.execute(sql, (20, “小明”))
conn.commit()
except pymysql.Error as e:
print(f“哎呀出错了: {e}”)
conn.rollback() # 出错了就回滚
finally:
conn.close() # 记得关连接
温馨提示: with语句超好用,能自动关cursor,但connection还是得手动关。
批量操作效率高
一条一条插入太慢了,咱们可以一次性插很多:
data = [
(“张三”, 20),
(“李四”, 21),
(“王五”, 22)
]
with conn.cursor() as cursor:
cursor.executemany(sql, data) # 用executemany批量插入
conn.commit()
用executemany方法,效率蹭蹭往上涨。
把这些知识点都掌握了,基本上就能轻松玩转PyMySQL了。记住几个小技巧:配置信息放配置文件、善用with语句、记得处理异常、批量操作提高效率。多练练很快就熟练了!
领取专属 10元无门槛券
私享最新 技术干货