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 相关文章推荐
ptyhon实现sitemap生成示例
Mar 30 Python
在Python中测试访问同一数据的竞争条件的方法
Apr 23 Python
用Python进行行为驱动开发的入门教程
Apr 23 Python
使用Python发送邮件附件以定时备份MySQL的教程
Apr 25 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
Dec 02 Python
pandas DataFrame索引行列的实现
Jun 04 Python
Python 离线工作环境搭建的方法步骤
Jul 29 Python
PyCharm搭建Spark开发环境的实现步骤
Sep 05 Python
浅析Django中关于session的使用
Dec 30 Python
在python中logger setlevel没有生效的解决
Feb 21 Python
Django一小时写出账号密码管理系统
Apr 29 Python
Python Parser的用法
May 12 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 根据IP地址控制访问的代码
2010/04/22 PHP
php中函数前加&符号的作用分解
2014/07/08 PHP
PHP错误机制知识汇总
2016/03/24 PHP
ThinkPHP中limit()使用方法详解
2016/04/19 PHP
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
PHP设计模式之工厂模式实例总结
2017/09/01 PHP
javascript各种复制代码收集
2008/09/20 Javascript
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
JavaScript中诡异的delete操作符
2015/03/12 Javascript
jquery-mobile表单的创建方法详解
2016/11/23 Javascript
BootStrapValidator校验方式
2016/12/19 Javascript
vue cli使用绝对路径引用图片问题的解决
2017/12/06 Javascript
vue观察模式浅析
2018/09/25 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
微信小程序中如何使用flyio封装网络请求
2019/07/03 Javascript
js设置默认时间跨度过程详解
2019/07/17 Javascript
JavaScript布尔运算符原理使用解析
2020/05/06 Javascript
javascript实现时间日期的格式化的方法汇总
2020/08/06 Javascript
Python实现建立SSH连接的方法
2015/06/03 Python
Python 实现网页自动截图的示例讲解
2018/05/17 Python
Django中Middleware中的函数详解
2019/07/18 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
ZINVO手表官网:男士和女士手表
2019/03/10 全球购物
美国鲜花递送:UrbanStems
2021/01/04 全球购物
食品营养与检测应届生求职信
2013/11/08 职场文书
4s客服专员岗位职责
2013/12/01 职场文书
应届大学生自荐信
2013/12/05 职场文书
《赵州桥》教学反思
2014/02/17 职场文书
婚礼主持结束词
2014/03/13 职场文书
2014年党员自我评议(5篇)
2014/09/12 职场文书
在Python中如何使用yield
2021/06/07 Python
Ajax实现异步加载数据
2021/11/17 Javascript
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers