栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python Flask 简明教程(13)--通过pymysql直接操作数据库

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python Flask 简明教程(13)--通过pymysql直接操作数据库

点此查看全部文字教程、视频教程、源代码

本文目录
  • 1. 前言
  • 2. 创建数据库与表
  • 3. 安装pymysql模块
  • 4. 连接数据库
  • 5. 查询全部数据
  • 6. 查询一条数据
  • 7. 新增数据
  • 8. 删除数据
  • 9. 修改数据
  • 10. 关闭资源
  • 11. 小结

1. 前言

在之前章节中,我们已经讲述过Python如何接受网页参数,以及如何将渲染后的网页发送给浏览器。

在这之后,还有一个非常关键的环节,那就是使用Python操作数据库。我们可以直接对数据库进行增删改查操作,当然也可以进一步通过ORM的方式利用对象操作数据库。

本篇先来介绍下比较基础的数据库操作技术,利用pymysql操作MySQL数据库。之所以选择介绍MySQL数据库,因为它比较流行不是。

2. 创建数据库与表

使用MySQL创建数据库testdb,并在库中创建user表,表结构如下:

CREATE TABLE `user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) DEFAULT NULL,
  `password` varchar(50) DEFAULT NULL,
  `sex` varchar(50) DEFAULT NULL,
  `age` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

为方便测试,数据库中插入两条数据:

3. 安装pymysql模块

pymysql是Python语言访问MySQL数据库的常用模块,直接通过pip3 install mysql命令安装即可。如下提示即为安装成功:

4. 连接数据库

通过connect方法可以连接数据库,并返回连接对象,代码如下:

import pymysql
con = pymysql.connect(
    host='127.0.0.1',
    user='root',
    password='123456',
    db='testdb',
    charset='utf8'
)

这单代码比较简单,就是通过用户名、密码,连接指定服务器上的指定数据库。

5. 查询全部数据

通过连接可以获取游标,然后通过游标的fetchall方法可以获取全部数据:

# 游标
cursor = con.cursor()

# 查询全部
sql="select * from user"
count=cursor.execute(sql)
users=cursor.fetchall()
for user in users:
    print(user)

控制台运行结果如下:

(1, '张三', '123456', '男', '18')
(2, '李四', '789', '女', '20')
6. 查询一条数据

通过fetchone方法可以获取一条数据:

# 查询一条
sql = "select * from user where id=1"
count = cursor.execute(sql)
user = cursor.fetchone()
print(user)

输出如下,如果用户id不存在,则输出None。

(1, '张三', '123456', '男', '18')
7. 新增数据

将sql语句修改为insert即可,很简单。

# 新增数据
name = "赵五"
password = "123456"
sex = "男"
age = "18"
sql = 'insert into user(name,password,sex,age)values("%s","%s","%s","%s")' % (name, password, sex, age)
count=cursor.execute(sql)
con.commit()

需要注意的是,执行修改语句后,必须commit()提交事务,才能生效。

8. 删除数据

同理,构造删除sql即可:

# 删除数据
name="赵五"
sql = 'delete from user where name="%s"' % name
count = cursor.execute(sql)
con.commit()
9. 修改数据

同理,构造修改sql即可:

# 修改数据
name = "张三"
password = "000000"
sex = "男"
age = "18"
sql = 'update user set name="%s",password="%s",sex="%s",age="%s" where name="%s"' % (
    name, password, sex, age,name) 
count = cursor.execute(sql)
con.commit()
10. 关闭资源

使用完毕,务必不要忘了关闭游标和连接:

# 关闭
cursor.close()
con.close()
11. 小结

pymysql封装的还是比较简洁的,打开连接-获取游标-执行操作-关闭资源。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/468291.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号