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中的__new__特殊方法
Jun 02 Python
详解python单元测试框架unittest
Jul 02 Python
python 获取毫秒数,计算调用时长的方法
Feb 20 Python
python微信撤回监测代码
Apr 29 Python
python二进制文件的转译详解
Jul 03 Python
python并发编程多进程 互斥锁原理解析
Aug 20 Python
python set集合使用方法解析
Nov 05 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
Mar 02 Python
解决keras模型保存h5文件提示无此目录问题
Jul 01 Python
Python常用扩展插件使用教程解析
Nov 02 Python
python复合条件下的字典排序
Dec 18 Python
Python合并pdf文件的工具
Jul 01 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
关于zend studio 出现乱码问题的总结
2013/06/23 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
2013/09/16 PHP
php中的curl使用入门教程和常见用法实例
2014/04/10 PHP
php实现微信支付之企业付款
2018/05/30 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
Jquery 常用方法经典总结
2010/01/28 Javascript
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
浅析Node.js查找字符串功能
2014/09/03 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
浅谈JavaScript中的属性:如何遍历属性
2017/09/14 Javascript
解决Vue中mounted钩子函数获取节点高度出错问题
2018/05/18 Javascript
vue中接口域名配置为全局变量的实现方法
2018/09/20 Javascript
使用ng-packagr打包Angular的方法示例
2018/09/21 Javascript
angularjs http与后台交互的实现示例
2018/12/21 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
2019/06/13 Javascript
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
python中map的基本用法示例
2018/09/10 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
Python在线和离线安装第三方库的方法
2020/10/31 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
工作推荐信范文
2014/05/10 职场文书
电子商务求职信
2014/06/15 职场文书
国庆节活动总结
2014/08/26 职场文书
办公室领导干部作风整顿个人整改措施
2014/09/17 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
结婚十年感言
2015/07/31 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python