Python实现连接MySql数据库及增删改查操作详解


Posted in Python onApril 16, 2019

本文实例讲述了Python实现连接MySql数据库及增删改查操作。分享给大家供大家参考,具体如下:

在本文中介绍 Python3 使用PyMySQL连接数据库,并实现简单的增删改查。(注意是python3)

1、安装PyMySQL

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。

① 使用pip命令安装

pip install PyMySQL

Python实现连接MySql数据库及增删改查操作详解

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

//使用git下载安装包
$ git clone https://github.com/PyMySQL/PyMySQL
$ cd PyMySQL/
$ python3 setup.py install

2、Python连接MySql数据库

连接数据库前,请先确认以下事项:

Ⅰ 在你的机子上已经安装了 Python MySQLdb 模块。
Ⅱ 您已经创建了数据库 test
Ⅲ 连接数据库test使用的用户名为 root,密码为 root,你可以可以自己设定或者直接使用root用户名及其密码。

# *===================================*
# * Created by Zhihua_w.
# * Author: Wei ZhiHua
# * Date: 2017/1/10 0003
# * Time: 下午 2:28
# * Project: PYTHON STUDY
# * Power: DATABASE
# *===================================*
import pymysql
# 打开数据库连接(ip/数据库用户名/登录密码/数据库名)
db = pymysql.connect("localhost", "root", "root", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
db.close()

3、Python操作MySql数据库实现增删改查

① 数据库插入操作

# *===================================*
# * Created by Zhihua_w.
# * Author: Wei ZhiHua
# * Date: 2017/1/10 0004
# * Time: 下午 2:32
# * Project: PYTHON STUDY
# * Power: DATABASE
# *===================================*
import pymysql
# 打开数据库连接(ip/数据库用户名/登录密码/数据库名)
db = pymysql.connect("localhost", "root", "root", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 插入语句
sql = """INSERT INTO user(name)
     VALUES ('Mac')"""
try:
  # 执行sql语句
  cursor.execute(sql)
  # 提交到数据库执行
  db.commit()
except:
  # 如果发生错误则回滚
  db.rollback()
# 关闭数据库连接
db.close()

② 数据库查询

# *===================================*
# * Created by Zhihua_w.
# * Author: Wei ZhiHua
# * Date: 2017/1/10 0005
# * Time: 下午 2:39
# * Project: PYTHON STUDY
# * Power: DATABASE
# *===================================*
import pymysql
# 打开数据库连接(ip/数据库用户名/登录密码/数据库名)
db = pymysql.connect("localhost", "root", "root", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM user"
try:
  # 执行SQL语句
  cursor.execute(sql)
  # 获取所有记录列表
  results = cursor.fetchall()
  for row in results:
    id = row[0]
    name = row[1]
    # 打印结果
    print("id=%s,name=%s" % \
    (id, name))
except:
  print("Error: unable to fecth data")
# 关闭数据库连接
db.close()

③ 数据库更新

# *===================================*
# * Created by Zhihua_w.
# * Author: Wei ZhiHua
# * Date: 2017/1/10 0005
# * Time: 下午 2:39
# * Project: PYTHON STUDY
# * Power: DATABASE
# *===================================*
import pymysql
# 打开数据库连接(ip/数据库用户名/登录密码/数据库名)
db = pymysql.connect("localhost", "root", "root", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 更新语句
sql = "UPDATE user SET name = 'Bob' WHERE id = 1"
try:
  # 执行SQL语句
  cursor.execute(sql)
  # 提交到数据库执行
  db.commit()
except:
  # 发生错误时回滚
  db.rollback()
# 关闭数据库连接
db.close()

④ 数据库删除

# *===================================*
# * Created by Zhihua_w.
# * Author: Wei ZhiHua
# * Date: 2017/1/10 0006
# * Time: 下午 2:49
# * Project: PYTHON STUDY
# * Power: DATABASE
# *===================================*
import pymysql
# 打开数据库连接(ip/数据库用户名/登录密码/数据库名)
db = pymysql.connect("localhost", "root", "root", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 删除语句
sql = "DELETE FROM user WHERE id = 1"
try:
  # 执行SQL语句
  cursor.execute(sql)
  # 提交修改
  db.commit()
except:
  # 发生错误时回滚
  db.rollback()
# 关闭数据库连接
db.close()

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python基础教程之python消息摘要算法使用示例
Feb 10 Python
在主机商的共享服务器上部署Django站点的方法
Jul 22 Python
对python以16进制打印字节数组的方法详解
Jan 24 Python
python图像处理模块Pillow的学习详解
Oct 09 Python
Django通用类视图实现忘记密码重置密码功能示例
Dec 17 Python
Python 为什么推荐蛇形命名法原因浅析
Jun 18 Python
Python如何爬取b站热门视频并导入Excel
Aug 10 Python
区分python中的进程与线程
Aug 13 Python
理解Django 中Call Stack机制的小Demo
Sep 01 Python
Python unittest生成测试报告过程解析
Sep 08 Python
十个Python自动化常用操作,即拿即用
May 10 Python
python 多态 协议 鸭子类型详解
Nov 27 Python
Python3.6实现带有简单界面的有道翻译小程序
Apr 16 #Python
python实现扫描局域网指定网段ip的方法
Apr 16 #Python
python实现扫描ip地址的小程序
Apr 16 #Python
使用Python制作简单的小程序IP查看器功能
Apr 16 #Python
Python使用POP3和SMTP协议收发邮件的示例代码
Apr 16 #Python
Python这样操作能存储100多万行的xlsx文件
Apr 16 #Python
Python字符串内置函数功能与用法总结
Apr 16 #Python
You might like
PHP has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
PHP的范围解析操作符(::)的含义分析说明
2011/07/03 PHP
php设计模式之命令模式使用示例
2014/03/02 PHP
PHP将二维数组某一个字段相同的数组合并起来的方法
2016/02/26 PHP
golang与PHP输出excel示例
2016/07/22 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
在javascript中执行任意html代码的方法示例解读
2013/12/25 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
JavaScript生成随机数的4种自定义函数分享
2015/02/28 Javascript
javascript使用输出语句实现网页特效代码
2015/08/06 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
JavaScrip常见的一些算法总结
2015/12/28 Javascript
老生常谈JavaScript 正则表达式语法
2016/08/20 Javascript
原生js实现图片放大缩小计时器效果
2017/01/20 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
详解vue-cli中模拟数据的两种方法
2018/07/03 Javascript
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
vue实现百度搜索功能
2020/12/28 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
在RedHat系Linux上部署Python的Celery框架的教程
2015/04/07 Python
django输出html内容的实例
2018/05/27 Python
对Python中Iterator和Iterable的区别详解
2018/10/18 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
cProfile Python性能分析工具使用详解
2019/07/22 Python
浅谈Python中threading join和setDaemon用法及区别说明
2020/05/02 Python
基于Python实现简单学生管理系统
2020/07/24 Python
python 基于selenium实现鼠标拖拽功能
2020/12/24 Python
美国优质宠物用品购买网站:Muttropolis
2020/02/17 全球购物
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
青年教师培训方案
2014/02/06 职场文书
《春笋》教学反思
2014/04/15 职场文书
2015年乡镇卫生院工作总结
2015/04/22 职场文书