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 socket.error: [Errno 98] Address already in use的原因和解决方法
Aug 25 Python
通过数据库对Django进行删除字段和删除模型的操作
Jul 21 Python
python使用pygame框架实现推箱子游戏
Nov 20 Python
python定时检测无响应进程并重启的实例代码
Apr 22 Python
Django Rest framework认证组件详细用法
Jul 25 Python
详解Python self 参数
Aug 30 Python
python 爬虫百度地图的信息界面的实现方法
Oct 27 Python
简单了解Python读取大文件代码实例
Dec 18 Python
Python unittest工作原理和使用过程解析
Feb 24 Python
Python列表推导式实现代码实例
Sep 09 Python
浅谈Selenium+Webdriver 常用的元素定位方式
Jan 13 Python
Python xlwings插入Excel图片的实现方法
Feb 26 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
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
jQuery实现的五子棋游戏实例
2015/06/13 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
2015/10/29 Javascript
js实现简单的验证码
2015/12/25 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
浅谈React Native Flexbox布局(小结)
2018/01/08 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
Async/Await替代Promise的6个理由
2019/06/15 Javascript
JS精确判断数据类型代码实例
2019/12/18 Javascript
编写Python小程序来统计测试脚本的关键字
2016/03/12 Python
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
对python使用telnet实现弱密码登录的方法详解
2019/01/26 Python
PyCharm 创建指定版本的 Django(超详图解教程)
2019/06/18 Python
python集合是否可变总结
2019/06/20 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
dpn网络的pytorch实现方式
2020/01/14 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
keras实现图像预处理并生成一个generator的案例
2020/06/17 Python
Spy++的使用方法及下载教程
2021/01/29 Python
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
大一学生假期实习的自我评价
2013/10/12 职场文书
在职人员函授期间自我评价分享
2013/11/08 职场文书
教师推荐信范文
2013/11/24 职场文书
《值日生》教学反思
2014/02/17 职场文书
新品发布会主持词
2014/04/02 职场文书
建筑学专业自荐书
2014/07/09 职场文书
在人间读书笔记
2015/06/30 职场文书