[pymysql]条件查询-单条件-多条件-字典传参

发布时间 2023-03-26 23:25:19作者: LeoShi2020
import pymysql

# 获取连接
conn = pymysql.connect(
    host='10.105.212.1',
    port=3306,
    user='root',
    password='root@Twitt3r.com',
    database='db',
    charset='utf8'
)

# 获取游标
# 字典方式显示 pymysql.cursors.DictCursor {'id': 1, 'name': 'liuxu', 'password': '12345'}
cursor = conn.cursor(pymysql.cursors.DictCursor)

#找到id=2的用户数据
sql = 'select * from users where id = %s;'		# 使用 %s占位

cursor.execute(sql, 2)						  # execute()中第一个是sql语句,第二个是替换占位的条件

for d in cursor.fetchall():
    print(d)
    """
    {'id': 2, 'name': 'liuxu2', 'password': '12345'}
    """

sql = 'select * from users where id >= %s and id <= %s;'		# 使用 %s占位

cursor.execute(sql, [3, 4])			# 以为有两个参数,使用列表会元组的形式存放替换占位的条件

for d in cursor.fetchall():
    print(d)
    """
    {'id': 3, 'name': 'liuxu3', 'password': '12345'}
    {'id': 4, 'name': 'liuxu4', 'password': '12345'}
    """

# 字典传参
sql = 'select * from users where id >= %(start)s and id <= %(end)s;'

cursor.execute(sql, {"start": 3, "end": 4})
for d in cursor.fetchall():
    print(d)
    """
    {'id': 3, 'name': 'liuxu3', 'password': '12345'}
    {'id': 4, 'name': 'liuxu4', 'password': '12345'}
    """