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运用于数据分析的简单教程
Mar 27 Python
Python中字典的基本知识初步介绍
May 21 Python
Python实现高效求解素数代码实例
Jun 30 Python
Python简单连接MongoDB数据库的方法
Mar 15 Python
解决Python下json.loads()中文字符出错的问题
Dec 19 Python
利用pyuic5将ui文件转换为py文件的方法
Jun 19 Python
Pytorch加载部分预训练模型的参数实例
Aug 18 Python
简单了解pytest测试框架setup和tearDown
Apr 14 Python
完美解决keras保存好的model不能成功加载问题
Jun 11 Python
python使用建议与技巧分享(二)
Aug 17 Python
用Python实现一个打字速度测试工具来测试你的手速
May 28 Python
Python实现GIF动图以及视频卡通化详解
Dec 06 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
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
2011/12/01 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
Javascript Object.extend
2010/05/18 Javascript
JavaScript中的property和attribute介绍
2011/12/26 Javascript
javascript中方便增删改cookie的一个类
2012/10/11 Javascript
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
jQuery webuploader分片上传大文件
2016/11/07 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
2017/03/15 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
详解关于element el-button使用$attrs的一个注意要点
2018/11/09 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
OpenLayers3实现地图显示功能
2020/09/25 Javascript
手动实现vue2.0的双向数据绑定原理详解
2021/02/06 Vue.js
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
简单介绍Ruby中的CGI编程
2015/04/10 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
Python类super()及私有属性原理解析
2020/06/15 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
Python 代码调试技巧示例代码
2020/08/11 Python
JAVA和C++的区别
2013/10/06 面试题
init进程的作用
2012/04/12 面试题
工商管理专业职业生涯规划
2014/01/01 职场文书
清洁工个人工作总结
2015/03/05 职场文书
幼儿园家长工作总结2015
2015/04/25 职场文书
元旦晚会开场白
2015/05/29 职场文书
新学期感想
2015/08/10 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
浅析CSS在DevTools 中架构演变
2021/10/05 HTML / CSS