hand
_1_5_24
4
返回栏目
1k
9k
1k
1k
5k
1k
1k
1k
1k
3k
2k
1k
0.8k
2k
3k
1k
1k
0.7k
0.9k
1k
0.6k
0.4k
0.4k
0.3k
3k
2k
9k
0.4k
0.4k
0.8k
0.5k
3k
5k
1k
2k
2k
3k
5k
1k
1k
0.4k
0.5k
0.4k
0.6k
0.7k
1k
0.4k
0.3k
4k
0.5k
0k
0.3k
0k
0.2k
0.2k
0.3k
0.9k
0.9k
0.1k
0.9k
0.9k
1k
0.5k
6k
0.3k
0.4k
0.7k
0.6k
8k
3k
1k
1k
1k
1k
0k
2k
1k
1k
0.2k
5k
4k
5k
0.4k
0.8k
1k
1k
1k
0.1k
2k
1k
2k
6k
0k
2k
7k
1k
5k
2k
3k
1k
0k
1k
0.9k
0.4k
0.2k
1k
3k
4k
1k
1k
1k
2k
3k
0.7k
0.3k
0.5k
0.6k
1k
0.9k
3k
0.3k
4k
返回python栏目
作者:
贺及楼
成为作者
更新日期:2024-10-28 10:14:34
Python 的 PyMySQL
库是一个 MySQL 数据库客户端库,它遵循 MySQL 的原生协议,提供了连接、操作MySQL数据库的功能。使用 PyMySQL
,开发者可以在Python程序中方便地执行SQL语句,进行数据的增删改查。它支持多线程操作,提供了丰富的接口来处理数据库事务,适用于Web开发、数据迁移、自动化脚本等多种场景,是Python与MySQL数据库交互的重要工具。
pip install pymysql
db = pymysql.connect(host="localhost",user="root", password="123456", port=3306)
cursor = db.cursor() # 获得指针
cursor.execute("SQL语句") # 执行
db.commit() # 提交
cursor.close() # 关闭光标对象
db.close() # 关闭数据库连接
db = pymysql.connect(host="localhost",user="root", password="123456", port=3306)
cursor = db.cursor()
data = {
"id": "20151001",
"name": "ken",
"age": 24
}
table = "students"
keys = ", ".join(data.keys())
values = ", ".join(["%s"] * len(data))
sql = "INSERT INTO {table}({keys}) VALUES ({values})".format(table=table, keys=keys, values=values)
try:
if cursor.execute(sql, tuple(data.values())):
print("Successful")
db.commit()
except:
print("Failed")
db.rollback()
cursor.close()
db.close()
连接数据库
获得指针
数据
数据表
获得所有键
获得所有值
组合SQL语句
尝试
execute运行
提交
如果失败
回滚
关闭指针
关闭数据库
sql注入就是只要自己拼完全部sql的话就不行
更好的是自己写一个验证类
import pymysql
conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="123456", db="db_name")
cursor = conn.cursor()
id = 1
name = "名字"
sql = "select id, name from db_table where id=%s and name=%s"
try:
row_count=cursor.execute(sql ,(id,name))
rs=cursor.fetchall()
for r in rs:
print (r)
except Exception as e:
print(e)
print("no")
db.rollback()
cursor.close()
db.close()
sql = "select id, name from %s where id=%s and name=%s"
try:
row_count=cursor.execute(sql, (db_table, id, name))
这是pymysql的原因
暂时的解决方法
查一下自己的数据库有什么表
然后对比一下
python
整章节共122节
快分享给你的小伙伴吧 ~