'''
数据库操作,总的步骤为:
1 建立连接
2 创建游标对象
2 执行sql语句
3 提交commit()函数(如果未手动调用 commit() 方法,则在关闭连接之前对数据库的修改将不会生效。因此,对于需要持久保存的更改,确保在适当的时候调用 commit() 方法非常重要。
4 关闭连接
'''
# 导入pymysql
import pymysql
from pymysql.cursors import DictCursor
# 1 连接数据库,指定字符集与返回查询结果类型
conn = pymysql.connect(
host="mall.lemonban.com",
user="student",
password="lemon!@123",
database="yami_shops",
charset="utf8mb4",
cursorclass=pymysql.cursors.DictCursor # 返回结果集为字典形式,cursorclass默认为pymysql.cursors.Cursor(返回结果为元祖形式)
)
# 2 创建游标对象
cur =conn.cursor()
# 3 执行sql语句- 查询语句
count = cur.execute("SELECT id,user_id as phone_id ,mobile_code FROM tz_sms_log") # 执行后会返回一个整数值,表示受影响的行数或结果集的状态,这里表示查询结果条数
print(f'查询结果总条数为:{count}')
# 4 获取第一行查询结果,游标位置移到第二行位置
one_result = cur.fetchone()
print(f'第一天查询结果为:{one_result}')
# 5 获取第二行结果,游标位置移到第三行位置
two_result = cur.fetchone()
print(f'第二行查询结果为:{two_result}')
# 6 获取多行记录(游标位置从第三条记录开始获取,打印第三条 - 第7条数据
many_result = cur.fetchmany(size=5)
print('第条至第7条查询记录分别为:')
for result in many_result:
print(result)
# 7 获取所有查询结果
all_result = cur.fetchall()
# 8 关闭游标和连接
cur.close()
conn.close()
以上代码执行结果:

2493





