本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查。

什么是 PyMySQL?

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。

PyMySQL 安装

在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。

PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。

如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL:

$ pip install PyMySQL

如果你的系统不支持 pip 命令,可以使用以下方式安装:

1、使用 git 命令下载安装包安装(你也可以手动下载):

$ git clone https://github.com/PyMySQL/PyMySQL
$ cd PyMySQL/
$ python3 setup.py install

2、数据库操作实例,直接上代码。

import pymysql
import datainfo
import time #获取参数 host = datainfo.host
username = datainfo.username
password = datainfo.password
database = datainfo.db print() #测试数据库连接
def testconnect(): #打开数据库链接 按照如下 顺序写,端口和字符 根据需要填写,端口默认为3306
# db = pymysql.connect(self.host,self.username,self.password,self.database,[self.port,charset='utf8']) db = pymysql.connect(host,username,password,database) #使用cursor() 方法创建一个游标对象 cursor cursor = db.cursor() #使用execute()方法执行SQL查询 cursor.execute("select version()") #使用fetchone ()获取单条数据 data = cursor.fetchone() print(data) db.close() #插入数据库
def InsertDate():
#打开数据库链接 db = pymysql.connect(host,username,password,database,charset='utf8') #使用cursor() 方法创建一个游标对象 cursor cursor = db.cursor() create_time = time.strftime('%Y-%m-%d %H:%M:%S')
update_time = time.strftime('%Y-%m-%d %H:%M:%S')
start_time = time.strftime('%Y-%m-%d %H:%M:%S')
end_time = time.strftime('%Y-%m-%d %H:%M:%S')
remark = "测试插入信息"
print("开始")
#Sql 插入语句
sql = "insert into demo(start_time,end_time,creat_time,update_time,remark) " \
"VALUES ('%s','%s','%s','%s','%s')"\
%(start_time,end_time,create_time,update_time,remark)
try:
#执行sql
print("执行插入")
tt = cursor.execute(sql)
print(tt)
db.commit()
except UnicodeEncodeError as e :
#发生错误时回滚
print(e)
db.rollback()
db.close() #查询操作
def selectData():
db = pymysql.connect(host, username, password, database, charset='utf8') # 使用cursor() 方法创建一个游标对象 cursor cursor = db.cursor() sql = "select * from demo where id >='%d'" %(1)
try:
#执行sql
print("执行查询")
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
id = row[0]
start_time = row[1]
end_time = row[2]
create_time = row[3]
update_time = row[4]
remark = row[5]
#打印结果
print("id = %d,start_time=%s,end_time=%s,create_time=%s,update_time=%s,remark=%s" %(id,start_time,end_time,create_time,update_time,remark)) db.commit()
except UnicodeEncodeError as e :
#发生错误时回滚
print(e) db.close() #更新操作
def update_data():
db = pymysql.connect(host, username, password, database, charset='utf8') # 使用cursor() 方法创建一个游标对象 cursor cursor = db.cursor()
update_time = time.strftime('%Y-%m-%d %H:%M:%S')
sql = "update demo set update_time ='%s' where id >='%d' " %(update_time,1)
try:
#执行sql
print("执行更新")
cursor.execute(sql) db.commit()
except UnicodeEncodeError as e :
#发生错误时回滚
print(e)
db.rollback()
db.close() #删除操作
def delete_Date():
db = pymysql.connect(host, username, password, database, charset='utf8') # 使用cursor() 方法创建一个游标对象 cursor cursor = db.cursor() sql = "delete from demo where id <'%d' " %(1)
try:
#执行sql
print("执行删除")
cursor.execute(sql) db.commit()
except UnicodeEncodeError as e :
#发生错误时回滚
print(e)
db.rollback()
db.close() if __name__ == '__main__':
testconnect()
InsertDate()
selectData()
update_data()
delete_Date()

Python3 - MySQL适配器 PyMySQL的更多相关文章

  1. Python3 MySQL 数据库连接 -PyMySQL

    Python 3  操作mysql http://www.runoob.com/python3/python3-mysql.html Python3 MySQL 数据库连接 本文我们为大家介绍 Pyt ...

  2. 吴裕雄--天生自然python学习笔记:Python3 MySQL 数据库连接 - PyMySQL 驱动

    什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数据库 AP ...

  3. Python3 MySQL 数据库连接 - PyMySQL 驱动

    什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数据库 AP ...

  4. Python3 MySQL 数据库连接 - PyMySQL 驱动 笔记

    sql插入语句(推荐): str_mac = "nihao" # SQL 插入语句 sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \ L ...

  5. Python3中使用PyMySQL连接Mysql

    Python3中使用PyMySQL连接Mysql 在Python2中连接Mysql数据库用的是MySQLdb,在Python3中连接Mysql数据库用的是PyMySQL,因为MySQLdb不支持Pyt ...

  6. Python3.x使用PyMysql连接MySQL数据库

    Python3.x使用PyMysql连接MySQL数据库 由于Python3.x不向前兼容,导致Python2.x中的很多库在Python3.x中无法使用,例如Mysqldb,我前几天写了一篇博客Py ...

  7. Python3操作MySQL基于PyMySQL封装的类

    Python3操作MySQL基于PyMySQL封装的类   在未使用操作数据库的框架开发项目的时候,我们需要自己处理数据库连接问题,今天在做一个Python的演示项目,写一个操作MySQL数据库的类, ...

  8. Python中操作mysql的pymysql模块详解

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

  9. python学习 —— python3简单使用pymysql包操作数据库

    python3只支持pymysql(cpython >= 2.6 or >= 3.3,mysql >= 4.1),python2支持mysqldb. 两个例子: import pym ...

随机推荐

  1. NATS—基础介绍

    1. 介绍 NATS(Message bus): 从CloudFoundry的总架构图看,位于各模块中心位置的是一个叫nats的组件.NATS是由CloudFoundry的架构师Derek开发的一个开 ...

  2. suse 12sp1 oracle 11g r2 时出现错误 调用/sysman/lib/ins_emagent.mk的目标nmo时出错

    要因为C库的问题,解决办法就是手动指定C库位置出现agent nmhs问题后,找到$ORACLE_HOME/sysman/lib/ins_emagent.mk文件,在文件里找字符串 $(MK_EMAG ...

  3. Iris Classification on Tensorflow

    Iris Classification on Tensorflow Neural Network formula derivation \[ \begin{align} a & = x \cd ...

  4. MongoDB入门一

    一.环境配置 1.下载MongoDB,找到Bin目录下所有的.exe文件,拷贝到G盘MongoDB(新建)下,在MongoDB下建一个data文件,用于存放数据,创建一个logs文件夹,文件夹下创建一 ...

  5. ​DL_WITH_PY系统学习(第3章)

    本节提示: 1.DL的核心构建 2.Keras的简单介绍 3.搭建DL机器训练环境 4.使用DL模型解决基础问题 3.1 DL的基本构建:layer layer的定义:以1个或多个tensor作为输入 ...

  6. Node复习

    简单复习下node,不过很多重要的知识点是图,文字无法展示出来. 1.Node的特点 异步I/O 事件与回调函数 单线程 跨平台(libuv) 2.Node的应用场景 I/O密集型(事件循环.异步I/ ...

  7. Received empty response from Zabbix Agent at [172.16.1.7]...

    Centos7.5  zabbix添加主机发现ZBX爆红报错 原因:在配置/etc/zabbix/zabbix_agentd.conf中172.16.1.71写成了127.16.1.71 解决方法:重 ...

  8. linux内核中的两个标记GFP_KERNEL和GFP_ATOMIC是用来干什么的?

    1. 作用 用来标记分配内核空间内存时的方式 2. 两个标记使用在什么场合? 如果内存不够时,会等待内核释放内存,直到可以分配相应大小的内存,也就意味着会发生阻塞,因此不能使用在中断处理函数中,而GF ...

  9. 41. 包含min函数的栈

    包含min函数的栈 描述 设计一个支持push,pop,top等操作并且可以在O(1)时间内检索出最小元素的堆栈. push(x)–将元素x插入栈中 pop()–移除栈顶元素 top()–得到栈顶元素 ...

  10. excel2010的使用笔记

    新增的 "工具" 主选项卡 不管是word还是excel 的2010 , 在进行编辑一些图片, 图表, 表格等工具的时候, 都会 "动态"的生成相应的 &quo ...