基本步骤
- 导入pymysql包
- 创建数据库连接对象
- 获取游标对象
- 执行数据相关操作
- 关闭游标对象与数据库连接对象
查询数据
# 导包
import pymysql
# 创建数据库连接
conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", password="123456", database="test", charset="utf8")
# 获取游标对象
cur = conn.cursor()
# 执行sql
sql = "select * from salary;"
cur.execute(sql)
# 获取数据
data = cur.fetchall()
print(data)
# 关闭游标对象 与 数据库连接对象
cur.close()
conn.close()
修改数据:增删改
数据修改与数据查询的方式及其类似,区别就是需要调用.commit()方法数据变更才能真实有效。以下为数据插入,删除与修改类似
# 导包
import pymysql
# 创建数据库连接
conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", password="123456", database="test", charset="utf8")
# 获取游标对象
cur = conn.cursor()
# 执行sql
sql = "INSERT INTO test.salary(name, price, company_name) VALUES('东方炸弹', 30000.00, '华为');"
cur.execute(sql)
# 提交数据更改
conn.commit()
# 关闭游标对象 与 数据库连接对象
cur.close()
conn.close()
SQL语句参数化:防止SQL注入
构造参数列表,并且执行时传入参数即可
# 导包
import pymysql
# 创建数据库连接
conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", password="123456", database="test", charset="utf8")
# 获取游标对象
cur = conn.cursor()
# 构造参数列表
params = [" or 1 or "]
# 执行sql,添加对应参数
sql = "select * from salary where name = %s;"
cur.execute(sql, params)
# 获取数据
data = cur.fetchall()
print(data)
# 关闭游标对象 与 数据库连接对象
cur.close()
conn.close()