您的位置:首页 > 数据库 > MySQL

PyMySQL模块的使用

2017-05-02 22:02 148 查看

PyMySQL

  PyMySQL是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同,但MySQLdb不支持python3.x版本。

1、安装

pip3 install pymysql


2、使用

a、执行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') #存在中文时,加上 charset='utf8'

# 创建游标
cursor = conn.cursor()

#默认为元组的形式返回,but..
#cursor=pymysql.cursors.DictCursor
#cursor=conn.cursor(cursor=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()
# 关闭游标

cursor.close()
# 关闭连接


b、获取新创建数据自增ID

cursor.close()

new_id = cursor.lastrowid


c、获取查询数据

import pymysql
import contextlib
#定义上下文管理器,连接后自动关闭连接
@contextlib.contextmanager
def mysql(host='127.0.0.1', port=3306, user='root', passwd='', db='User',charset='utf8'):
conn = pymysql.connect(host=host, port=port, user=user, passwd=passwd, db=db, charset=charset)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
try:
yield cursor
finally:
conn.commit()
cursor.close()
conn.close()

# 执行sql
with mysql() as cursor:
print(cursor)
row_count = cursor.execute("select * from tb")
row_1 = cursor.fetchone()
print( row_count, row_1)


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: