本文我们为大家介绍 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():

#打开数据库链接

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

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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

mysql适配器_MySQL适配器PyMySQL详解相关推荐

  1. mysql varchar()_MySQL数据类型varchar详解

    MySQL数据类型varchar详解 更新时间:2014年03月17日 11:10:11   作者: 这篇文章详细介绍了MySQL数据类型varchar,探讨varchar到底能存多长的数据.Inno ...

  2. 简单mysql 查询_MySQL简单查询详解

    MySQL的查询操作 单表查询:简单查询 多表查询:连接查询 联合查询 布尔条件表达式操作符= 等值比较 <=>:跟空值比较不会产生额外信息的等值比较 <>:不等值 <: ...

  3. mysql视图_mysql之视图详解

    视图就是一个存在于数据库中的虚拟表. 视图本身没有数据,只是通过执行相应的select语句完成获得相应的数据. 目录 CREATE [OR REPLACE] [ALGORITHM = {UNDEFIN ...

  4. 幽情魔兽mysql密码_Mysql数据库事务详解

    80年代中国人结婚四大件:手表.自行车.缝纫机.收音机(三转一响).要把事务娶回家需要四大件,所以事务很刻薄(ACID),四大件清单:原子性(Atom).一致性(Consistent).隔离性(Iso ...

  5. mysql特点_Mysql 三大特性详解

    Mysql Innodb后台线程 工作方式 首先Mysql进程模型是单进程多线程的.所以我们通过ps查找mysqld进程是只有一个. 体系架构 InnoDB存储引擎的架构如下图所以,是由多个内存块组成 ...

  6. mysql入门优化_MySQL数据库:MySQL十大优化技巧详解

    本文主要向大家介绍了MySQL数据库的MySQL十大优化技巧详解,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. WEB开发者不光要解决程序的效率问题,对数据库的快速访问和相应也是 ...

  7. mysql cluster rpm包的作用_MySQL之——MySQL Cluster集群搭建详解(基于RPM安装包)

    1.下载MySQL-cluster 7.3.7 http://dev.mysql.com/downloads/cluster/ 2.环境清理及安装 1)清理CentOS6.5自带的mysql服务,其中 ...

  8. linux 用root安装mysql数据库_Linux上安装Mysql及简单的使用详解

    1. 安装mysql sudo apt-get update sudo apt-get install mysql-server sudo apt-get install python-mysqldb ...

  9. docker导入MySQL文件_Docker容器中Mysql数据的导入/导出详解

    前言 Mysql数据的导入导出我们都知道一个mysqldump命令就能够解决,但如果是运行在docker环境下的mysql呢? 解决办法其实还是用mysqldump命令,但是我们需要进入docker的 ...

  10. php mysql无限_php+mysql实现无限分类实例详解

    php+mysql实现无限分类实例详解 fenlei($arr[$i][0]);   //$arr[$i][1]表示第$i+1个分类的id的值.进行递归,也就是把自己的id作为f_id参数把自己的子类 ...

最新文章

  1. linux中shell变量$#,$@,$0,$1,$2的含义解释:
  2. 账户与使用计算机的人无关,本地用户和组
  3. HTML+CSS+JS实现 ❤️酷炫情人节爱心动画特效❤️
  4. MinGW 编译libwebsockets
  5. 前台 时不时报 could not proxy request_长春中考成绩不理想可以报的高中
  6. echarts3.0版本断点连线的处理
  7. flask服务器获取多个文件,python - OkHttp将带有名称的多个文件上传到Python Flask服务器 - 堆栈内存溢出...
  8. coreseek 利用python作数据源建立索引
  9. spring4.0.0的配置和使用
  10. 输出100以内的所有素数
  11. 【面试分享】奇安信渗透测试工程师,通过!
  12. 像素测量工具_像素大厨PxCook for Mac(自动标注工具)中文免费版
  13. 尊严与爱——论《简爱》的价值观
  14. 整体费率三连降,海尔追“格”超“美”的下一步在哪?
  15. 石头机器人拖地水量调节_用石头扫地机器人扫地拖地是一种什么体验
  16. CMS企业建站的经验
  17. 学习期间的感悟和个人写的一段歌词
  18. Spark SQL操作多数据源
  19. SwapMix: Diagnosing and Regularizing the Over-Reliance on Visual Context in ... ——2022 CVPR 论文笔记
  20. oracle19c创建表空间,Oracle19c 创建表空间

热门文章

  1. loj10095 间谍网络
  2. leetcode笔记(一)309. Best Time to Buy and Sell Stock with Cooldown
  3. MySQL基础学习过程
  4. hdu 3697 贪心
  5. 【JavaScript】你知道吗?Web的26项基本概念和技术
  6. MySQL执行外部sql脚本
  7. App_GlobalResources、App_LocalResources (理论篇)(
  8. 手机被偷后如何让小偷不能用
  9. Python多线程技术增加网站帖子的查看量
  10. 维秘天使超模美女Romee Strijd性感运动照片