Python实现连接MySql数据库及增删改查操作详解

作者:Zhihua_W 时间:2024-01-14 10:40:36 

本文实例讲述了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程序设计有所帮助。

来源:https://blog.csdn.net/Zhihua_W/article/details/54313258

标签:Python,MySql数据库
0
投稿

猜你喜欢

  • 熵值法原理及Python实现的示例详解

    2021-06-19 20:31:33
  • php开启openssl的方法

    2023-11-14 06:52:51
  • python贪婪匹配以及多行匹配的实例讲解

    2021-12-27 20:01:04
  • win10系统下Anaconda3安装配置方法图文教程

    2022-08-06 23:01:49
  • Linux系统(CentOS)下python2.7.10安装

    2021-04-02 19:27:50
  • Python使用for生成列表实现过程解析

    2021-11-28 08:15:30
  • 详解vscode使用git所遇到的坑

    2023-12-25 11:17:48
  • python如何制作英文字典

    2021-12-01 10:30:00
  • Python爬虫之Selenium实现窗口截图

    2022-09-19 20:09:23
  • python切片中内存的注意事项总结

    2022-12-23 00:04:09
  • C#操作数据库总结(vs2005+sql2005)

    2024-01-20 22:20:29
  • python实现自动打卡的示例代码

    2022-11-29 15:01:57
  • Python实现在线批量美颜功能过程解析

    2023-10-27 10:38:34
  • Python3创建Django项目的几种方法(3种)

    2021-12-28 00:41:44
  • 手把手教你安装Windows版本的Tensorflow

    2021-07-12 07:03:15
  • asp去除html标记与空格的正则

    2022-12-15 08:40:12
  • python多进程间通信代码实例

    2023-10-06 20:22:17
  • 关于numpy和torch.tensor的张量的操作

    2023-12-30 23:35:25
  • mysql 单机数据库优化的一些实践

    2024-01-15 19:01:25
  • python操作excel的包(openpyxl、xlsxwriter)

    2023-05-22 09:12:07
  • asp之家 网络编程 m.aspxhome.com