清秋2018

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

python 10篇 操作mysql

一、操作数据库

  使用pip install pymysql,安装pymysql模块,使用此模块连接MySQL数据库并操作数据库。

复制代码
import pymysql

host = 'ip地址'  # 链接的主机ip
user = 'db_username'  # 用户名
password = 'db_password'  # 用户密码,字符串
db = 'db_name'  # 数据库名称
port = 3306  # int 类型,端口

# 创建数据库链接
connect = pymysql.connect(host=host,
                         user=user,
                         password=password,
                         port=port,db=db,
                         autocommit=True)  # autocommit=True 设置自动提交
# cur = connet.cursor()  # 建立游标
cur = connect.cursor(pymysql.cursors.DictCursor)    # DictCursor  指定cur中数据类型为字典类型
try:
    cur.execute("INSERT INTO students (name, sex, age, class, addr) VALUES ('xiaohei', '男', '18', 'tmz', '北京');")
#   connet.commit()  # 提交    更新、修改、删除都必须要提交
except Exception as e:
    connect.rollback()  # 回滚

cur.execute('select * from students;')
result = cur.fetchall()
print(result)

# print(cur.fetchmany(2))  # 获取前几条数据,返回的是二维数组。
# print(cur.fetchone())  # 获取1条数据,返回的是一个一维数组
# 有些类似文件中的指针,默认在文件最前面,随着读取,指针移动,使用fetchall读取后,在调用fetchone不能读取到数据
print(cur.fetchall())

for data in cur:  # 遍历游标,来取结果中的数据
    print(data)

cur.close()  # 切记要关闭游标和数据库链接
connect.close()
复制代码
# 不指定cur中的数据类型,执行结果
((1, 'mac book', 3, 19999.0), (3, '六神花露水', 30, 8.8), (5, '华为mete40', 20, 4000.0))

#指定cur中的数据类型为字典,执行结果
[{'id': 1, 'name': 'mac book', 'counts': 3, 'price': 19999.0}, {'id': 3, 'name': '六神花露水', 'counts': 30, 'price': 8.8}, {'id': 5, 'name': '华为mete40', 'counts': 20, 'price': 4000.0}]

 

posted on   清秋2018  阅读(195)  评论(0编辑  收藏  举报

编辑推荐:
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
阅读排行:
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析
· 重磅发布!DeepSeek 微调秘籍揭秘,一键解锁升级版全家桶,AI 玩家必备神器!
点击右上角即可分享
微信分享提示