python---pymysql

pymysql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。2.7用MySQLdb,3.0用pymysql。

#下载安装
pip3 install pymysql

使用

执行SQL

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql

# 创建连接
conn = pymysql.connect(host=‘127.0.0.1‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘t1‘)
# 创建游标
cursor = conn.cursor()

# 执行SQL,并返回收影响行数
effect_row = cursor.execute("update hosts set host = ‘1.1.1.2‘")

# 执行SQL,并返回受影响行数
#effect_row = cursor.execute("update hosts set host = ‘1.1.1.2‘ where nid > %s", (1,))

# 执行SQL,并返回受影响行数
#effect_row = cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])

# 提交,不然无法保存新建或者修改的数据
conn.commit()

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

获取新创建数据自增ID

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql

conn = pymysql.connect(host=‘127.0.0.1‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘t1‘)
cursor = conn.cursor()
cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])
conn.commit()
cursor.close()
conn.close()

# 获取最新自增ID
new_id = cursor.lastrowid

获取查询数据

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql

conn = pymysql.connect(host=‘127.0.0.1‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘t1‘)
cursor = conn.cursor()
cursor.execute("select * from hosts")

# 获取第一行数据
row_1 = cursor.fetchone()

# 获取前n行数据
# row_2 = cursor.fetchmany(3)
# 获取所有数据
# row_3 = cursor.fetchall()

conn.commit()
cursor.close()
conn.close()

注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:

  • cursor.scroll(1,mode=‘relative‘)  # 相对当前位置移动
  • cursor.scroll(2,mode=‘absolute‘) # 相对绝对位置移动

fetch数据类型

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

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql

conn = pymysql.connect(host=‘127.0.0.1‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘t1‘)

# 游标设置为字典类型
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
r = cursor.execute("call p1()")

result = cursor.fetchone()

conn.commit()
cursor.close()
conn.close()

  

时间: 2024-10-10 12:25:50

python---pymysql的相关文章

python pymysql和orm

pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 1. 安装 管理员打开cmd,切换到python的安装路径,进入到Scripts目录下(如:C:\Users\Administrator\AppData\Local\Programs\Python\Python35\Scripts): 执行以下命令:pip install pymysql 校验是否安装成功:进入到python命令行模式,输入import pymysql,无报错代表成功: 2. 使用操作 2.1

Python pymysql——Mysql数据库Python化操作

前言 Mysql数据库是目前较为流行使用的数据库之一,众多编程语言都有对其的支持扩展包接口,当然于python而言亦有专门扩展库以便帮助开发者对Mysql数据库进行相应的操作.其中,由于python版本不同,对Mysql支持的库也有区别,目前使用较为普遍的有pymysql和MySQLdb,两者功能上无明显差异,只是前者支持python3.X版本,后者应用于python2.X版本. 在此以python3.X版本为平台基础,对pymysql的相关基础及使用方法作简单介绍. 安装 直接使用pip命令进

python pyMysql 自定义异常 函数重载

# encoding='utf8'# auth:yanxiatingyu#2018.7.24 import pymysql __all__ = ['Mymysql'] class MyExcept(Exception): ''' 常见做法定义异常基类,然后在派生不同类型的异常 ''' def __init__(self, *args): self.args = args class DropDataaseError(MyExcept): def __init__(self): self.args

【Python pymysql】 -- 2019-08-08 18:01:58

原文: http://106.13.73.98/__/31/ 目录 关于sql注入 用户存在,绕过密码 用户不存在,绕过用户与密码 解决sql注入问题 commit() 增 改 删 查询数据库 fetchone() fetchall() fetchmany() > 补充: > > > 建立链接时间过长后会自动断开链接,可像下面这样解决: > ```python > conn.ping(reconnect=True) > ``` > 检查链接是否还存在,参数`

【Python pymysql】 -- 2019-08-11 19:26:12

原文: http://106.13.73.98/__/31/ 目录 关于sql注入 用户存在,绕过密码 用户不存在,绕过用户与密码 解决sql注入问题 commit() 增 改 删 查询数据库 fetchone() fetchall() fetchmany() > 补充: > > > 建立链接时间过长后会自动断开链接,可像下面这样解决: > ```python > conn.ping(reconnect=True) > ``` > 检查链接是否还存在,参数`

[Python]PyMySQL模块

PyMySQL模块提供了连接和操作MySQL数据库的API 安装请见:https://pypi.org/project/PyMySQL/#documentation 文档请见:https://pymysql.readthedocs.io/en/latest/user/index.html 原文地址:https://www.cnblogs.com/syh6324/p/9501495.html

mysql python pymysql模块 增删改查 查询 字典游标显示

我们看到取得结果是一个元祖,但是不知道是哪个字段的,如果字段多的时候,就比较麻烦 ''' (1, 'mike', '123') (2, 'jack', '456') ''' 用字典显示查询的结果,也可以查询到字段名 在拿游标时候加上字典显示的游标 cur = conn.cursor(pymysql.cursors.DictCursor) import pymysql mysql_host = '192.168.0.106' port = 3306 mysql_user = 'root' mysq

mysql python pymysql模块 增删改查 查询 fetchmany fetchall函数

查询的fetchmany fetchall函数 import pymysql mysql_host = '192.168.0.106' port = 3306 mysql_user = 'root' mysql_pwd = '123' encoding = 'utf8' # 建立 连接mysql服务端 conn = pymysql.connect( host=mysql_host, # mysql服务端ip port=port, # mysql端口 user=mysql_user, # mysq

Python - pymysql链接MySQL数据库并进行简单操作

步骤: 1.导包 =>2.建立链接 =>3.创建游标 =>4.获取结果 =>5.关闭资源 这里需要注意第五步是必不可少的,我们打开资源就需要关闭资源,避免造成内存浪费 # 1.导包 import pymysql # 2.建立mysql通道 db = pymysql.connect(host='127.0.0.1', user='root', password='12345678', database='cx_study') # 这里的sql为您需要执行的数据库命令语句 sql =

Python之路_Day12

Python之路_Day12_课堂笔记 上节回顾 一.线程 线程 基本线程使用 队列-消息队列 线程池 进程 基本使用 进程数据共享 进程池 协程 更适用IO操作 二.Memcache.Redis Memcache 集群: (C1,1) (C2,2) (C3,1) [C1,C2,C2,C3] gets/cas Redis 一. 默认支持连接池 支持事务 发布和订阅 二.Redis基本操作 三.自定义 Redis列表类型 默认全部取 根据索引取值 本节预告 一.线程池 二.redis,发布订阅 三