服务器之家

服务器之家 > 正文

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

时间:2021-06-18 00:19     来源/作者:Zhihua_W

本文实例讲述了python实现连接mysql数据库及增删改查操作。分享给大家供大家参考,具体如下:

在本文中介绍 python3 使用pymysql连接数据库,并实现简单的增删改查。(注意是python3)

1、安装pymysql

pymysql 是在 python3.x 版本中用于连接 mysql 服务器的一个库,python2中则使用mysqldb。pymysql 遵循 python 数据库 api v2.0 规范,并包含了 pure-python mysql 客户端库。在使用 pymysql 之前,我们需要确保 pymysql 已安装。

① 使用pip命令安装

?
1
pip install pymysql

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

② 如果你的系统不支持 pip 命令,可以使用以下git方式安装

?
1
2
3
4
//使用git下载安装包
$ git clone https://github.com/pymysql/pymysql
$ cd pymysql/
$ python3 setup.py install

2、python连接mysql数据库

连接数据库前,请先确认以下事项:

ⅰ 在你的机子上已经安装了 python mysqldb 模块。
ⅱ 您已经创建了数据库 test
ⅲ 连接数据库test使用的用户名为 root,密码为 root,你可以可以自己设定或者直接使用root用户名及其密码。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# *===================================*
# * 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数据库实现增删改查

① 数据库插入操作

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# *===================================*
# * 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()

② 数据库查询

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# *===================================*
# * 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()

③ 数据库更新

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# *===================================*
# * 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()

④ 数据库删除

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# *===================================*
# * 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

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部