pymysql

查询所有结果---> cursor.fetchall()方法

存在修改操作,需要确认提交

1、手动提交---> conn.commit()

2、设置自动提交---> autocommit=True

python 复制代码
from pymysql import Connection

# 连接数据库
conn = Connection(
    host='localhost',   # 主机名(ip)
    port=3306,          # 端口号
    user='root',        # 用户名
    passwd='123456',    # 密码
    autocommit=True     # 设置自动提交
)
# 打印一下数据库服务器的版本号,也是确认数据库有没有连上
# print(conn.get_server_info())

# 获取游标对象
cursor = conn.cursor()
# 选择一个数据
conn.select_db("test")

# 使用游标对象,执行sql语句-->创建test_pymysql表,并且一个int类型的id字段
# cursor.execute("create table test_pymysql (id int);")

# 查询表
# cursor.execute("select * from test_pymysql")
# 使用cursor.fetchall()方法,查询所有结果
# result = cursor.fetchall()
# for r in result:
#     print(r)

# 插入一行
# cursor.execute("insert into test_pymysql values(3, '小小', 25, '女')")
# conn.commit()   # 手动确认提交

# 修改部分字段数据
cursor.execute("update test_pymysql set name='大大', age=23 where id=5")

# 关闭连接
conn.close()

实例:将数据写入数据库

python 复制代码
from data_reading.data_define import Record
from data_reading.file_define import TextFileReader, JsonFileReader
from pymysql import Connection

text_file_reader = TextFileReader("E:\\python\\销售数据.txt")
json_file_reader = JsonFileReader("E:\\python\\销售数据JSON.txt")

jan_data: list[Record] = text_file_reader.read_data()
feb_data: list[Record] = json_file_reader.read_data()

all_data: list[Record] = jan_data + feb_data

conn = Connection(
    host="localhost",
    port=3306,
    user="root",
    passwd="123456",
    autocommit=True
)
cursor = conn.cursor()
conn.select_db("py_sql")
# for record in all_data:
#     sql = ("insert into orders(order_date, order_id, money, province) values(%s, %s, %s, %s)")
#     params = ((record.date, record.order_id, record.money, record.province))
#     # print(sql)
#     cursor.execute(sql, params)

cursor.execute("select * from orders")
result = cursor.fetchall()
for i in result:
    print(i)

conn.close()
相关推荐
Teable任意门互动7 分钟前
深度解析:AI 赋能开源多维表格,实现企业全场景数据整合与高效应用
数据库·人工智能·低代码·信息可视化·开源·数据库开发
_日拱一卒8 分钟前
LeetCode:114二叉树展开为链表
java·开发语言·算法
SamDeepThinking14 分钟前
面试官问Bean线程安全,你该从架构角度回答
java·后端·面试
敖正炀20 分钟前
ArrayList 与 LinkedList 源码全景:从数据结构选择到性能分歧的完整代码路径
java
凌波粒20 分钟前
LeetCode--513.找树左下角的值(二叉树)
java·算法·leetcode
敖正炀20 分钟前
HashMap 红黑树化与退化
java
谪星·阿凯22 分钟前
Linux提权全攻略博客
linux·运维·服务器·网络安全
喜欢小苹果的码农23 分钟前
xxl-job主流程分析
java
敖正炀24 分钟前
HashMap 源码深度拆解(JDK 7→8)
java