本文我们为大家介绍 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. Greenplum5.16.0 安装教程

    Greenplum5.16.0 安装教程 一.环境说明 1.1官方网站 Greenplum官方安装说明:https://gpdb.docs.pivotal.io/5160/install_guide/ ...

  2. shell脚本一键安装jdk

    直接上shell #!/bin/bash #offline jdk install ipath="/usr/local" installpath=$(cd `dirname $0` ...

  3. Linux基础笔记——RAID

    关于RAID RAID0:理论上来说一个有n块磁盘组成的raid0,它的读写是单个磁盘性能的n倍,具有低成本,高性能,低安全性,可用于可靠性不高的应用,如:视频.音频.临时数据存储等 RAID1:也称 ...

  4. (4opencv)OpenCV PR 成功的收获和感悟

     2018-09-12,第一次对OpenCV PR成功 https://github.com/opencv/opencv/pull/12206 <find innercircle of cont ...

  5. 辅助模块:udp_sweep

    辅助模块:udp_sweep 模块介绍 使用udp对指定IP地址主机进行udp扫描 实践过程 利用该模块填写目的IP来对目的IP地址进行扫描 从结果可以看到扫描结果显示扫描过程放出了13个探针,发现了 ...

  6. Codeforces Round #425 (Div. 2) Problem A Sasha and Sticks (Codeforces 832A)

    It's one more school day now. Sasha doesn't like classes and is always bored at them. So, each day h ...

  7. 利用Selenium自动化测试android wap页

    http://blogs.360.cn/360qtest/2014/04/01/%E5%88%A9%E7%94%A8selenium%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5% ...

  8. CentOS7使用命令连接网络配置

    背景 在安装完CentOS7无桌面的情况下,无法使用桌面图标连接,如下图所示,这时我们需要在配置文件中配置网络连接信息. 步骤 查看ip地址:ifconfig PS:在未连接网络之前,我们是查看不到i ...

  9. CSS的再深入(更新中···)

    在上一章我们提到了一个新的概念,叫做块级样式,讲到这里就要科普一下: 标签又分为两种: (1)块级标签 元素特征:会独占一行,无论内容多少,可以设置宽高··· (2)内敛标签(又叫做行内标签) 元素特 ...

  10. WSDL(Web服务描述语言)详细解析(全文转载学习用)

    WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务 ...