Python操作mysql之模块pymysql

pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。

本文环境 python3.6.1  Mysql 5.7.18

1、安装模块

pip3 install pymysql

2、python操作

1) 获取查询数据

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql
# 创建连接
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='redhat', db='homework',charset='utf8')
# 创建游标
cursor = conn.cursor()

# 执行SQL
cursor.execute("select * from student")

#获取剩余结果的第一行数据
#row_1 = cursor.fetchone()
#获取前n行数据
#row_2 = cursor.fetchmany(3)
#获取所有查询数据
row_3 = cursor.fetchall()
print(row_3)
# 提交,不然无法保存新建或者修改的数据
conn.commit()

# 关闭游标
cursor.close()
# 关闭连接
conn.close()

2、获取新创建数据的自增id

最后插入的一条数据id

#! /usr/bin/env python
# -*- coding:utf-8 -*-
# __author__ = "Yu"
import pymysql

conn = pymysql.connect(host='127.0.0.1',port=3306, user='root', passwd='redhat', db='db3')
cursor = conn.cursor()
effect_row = cursor.executemany("insert into tb11(name,age) values(%s,%s)",
                                [("yu","25"),("chao", "26")])
conn.commit()
cursor.close()
conn.close()
# 获取自增id
new_id = cursor.lastrowid
print(new_id)

3、

fetch数据类型

关于默认获取的数据是元祖类型,如果想要或者字典类型的数据,即:

#! /usr/bin/env python
# -*- coding:utf-8 -*-
# __author__ = "Yu"
import pymysql

conn = pymysql.connect(host='127.0.0.1',port=3306, user='root', passwd='redhat', db='db3')

#游标设置为字典类型
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("select * from tb11")

row_1 = cursor.fetchone()
print(row_1)
conn.commit()
cursor.close()
conn.close()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

MySQL/MariaDB数据库备份与恢复

前言 数据库一般存放着企业最为重要的数据,它关系到企业业务能否正常运转,数据库服务器总会遇到一 些不可抗拒因素,导致数据丢失或损坏,而数据库备份可以帮助我们...

58660
来自专栏雨过天晴

原 数据库主从配置日志

22040
来自专栏自由而无用的灵魂的碎碎念

将MySQL数据迁移到Oracle

因为项目的原因,今晚将mysql数据库的内容尝试迁移到oracle,虽然结果失败,不过学到了不少,下次就不一定了,哈哈

27110
来自专栏Web 开发

git cherry-pick

有一个 hotfix分支,merge 到 master 后,忘了 merge 回 develop就被删掉了,咋办

13200
来自专栏互联网大杂烩

海量数据解决方案

缓存:将从数据库中获取的结果暂时保存起来,在下次使用时无需重新到数据库中获取。 页面静态化:将程序最后生成的页面保存起来。

14130
来自专栏L宝宝聊IT

Mysql备份与还原——mysqldump结合binlog

MySQL 备份一般采取全库备份加日志备份的方式,例如每天执行一次全备份,每小时执行一次二进制日志备份。这样在 MySQL 故障后可以使用全备份...

17320
来自专栏码字搬砖

Hbase优化思路

1.rowkey设计 2.手动split,手动compant 3.开启booleamfilter 4.采用压缩 5.预分区 6.并发读写 ...

13940
来自专栏云计算教程系列

MySQL基础教程:数据的导入导出

学会数据库的导入导出非常重要,为什么呢?向下看。首先您可以把数据转储进行备份和还原,以便在紧急情况下恢复数据库的旧副本。您还可以把数据迁移到新服务器或开发环境。

42060
来自专栏IT笔记

Lepus搭建企业级数据库慢查询分析平台

Lepus的慢查询分析平台是独立于监控系统的模块,该功能需要使用percona-toolkit工具来采集和记录慢查询日志,并且需要部署一个我们提供的shell脚...

15820
来自专栏一枝花算不算浪漫

[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一.

383100

扫码关注云+社区

领取腾讯云代金券