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正则表达式re模块详细介绍
May 29 Python
Python运行报错UnicodeDecodeError的解决方法
Jun 07 Python
Python使用plotly绘制数据图表的方法
Jul 18 Python
Python制作词云的方法
Jan 03 Python
Python切片索引用法示例
May 15 Python
Python2实现的图片文本识别功能详解
Jul 11 Python
Python动态生成多维数组的方法示例
Aug 09 Python
PyTorch加载自己的数据集实例详解
Mar 18 Python
python suds访问webservice服务实现
Jun 26 Python
python模块内置属性概念及实例
Feb 18 Python
python编程实现清理微信重复缓存文件
Nov 01 Python
python模板入门教程之flask Jinja
Apr 11 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
CI框架验证码CAPTCHA辅助函数用法实例
2014/11/05 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
2016/11/14 PHP
PHP中TP5 上传文件的实例详解
2017/07/31 PHP
PHP7新增函数
2021/03/09 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
下拉菜单点击实现连接跳转功能的js代码
2013/05/19 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
2016/09/21 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
详解JS: reduce方法实现 webpack多文件入口
2017/02/14 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
使用watch在微信小程序中实现全局状态共享
2019/06/03 Javascript
JavaScript实现图片放大镜效果
2019/06/27 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
2020/02/10 Javascript
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
详解python中requirements.txt的一切
2017/03/03 Python
python之文件读取一行一行的方法
2018/07/12 Python
python利用pandas将excel文件转换为txt文件的方法
2018/10/23 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
2019/02/16 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
Python Pandas list列表数据列拆分成多行的方法实现
2020/12/14 Python
python多线程爬取西刺代理的示例代码
2021/01/30 Python
html5使用html2canvas实现浏览器截图的示例
2017/08/31 HTML / CSS
HTML里显示pdf、word、xls、ppt的方法示例
2020/04/14 HTML / CSS
新年爱情寄语
2014/04/08 职场文书
师范毕业生求职信
2014/07/11 职场文书
纪检干部现实表现材料
2014/08/21 职场文书
干部个人考察材料
2014/12/24 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
pytorch 使用半精度模型部署的操作
2021/05/24 Python