python 基于PYMYSQL使用MYSQL数据库


Posted in Python onDecember 24, 2020

在做测试的时候都会用到数据库,今天写一篇通过python连接MYSQL数据库

什么是MYSQL数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

什么是PYMYSQL

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。

PyMySQL安装

pip install pymysql

PyMySQL使用

连接数据库

1、首先导入PyMySQL模块

2、连接数据库(通过connect())

3、创建一个数据库对象 (通过cursor())

4、进行对数据库做增删改查

# coding:utf-8
import pymysql
# 连接数据库
count = pymysql.connect(
      host = 'xx.xxx.xxx.xx', # 数据库地址
      port = 3306,  # 数据库端口号
      user='xxxx',  # 数据库账号
      password='XXXX',  # 数据库密码
      db = 'test_sll')  # 数据库表名# 创建数据库对象
db = count.cursor()

查找数据

db.fetchone()获取一条数据

db.fetchall()获取全部数据

# coding:utf-8
import pymysql
# 连接数据库
count = pymysql.connect(
      host = 'xx.xxx.xxx.xx', # 数据库地址
      port = 3306,  # 数据库端口号
      user='xxxx',  # 数据库账号
      password='xxxx',  # 数据库密码
      db = 'test_sll')  # 数据库名称
# 创建数据库对象
db = count.cursor()
# 写入SQL语句
sql = "select * from students "
# 执行sql命令
db.execute(sql)
# 获取一个查询
# restul = db.fetchone()
# 获取全部的查询内容
restul = db.fetchall()
print(restul)
db.close()

修改数据

commit() 执行完SQL后需要提交保存内容

# coding:utf-8
import pymysql
# 连接数据库
count = pymysql.connect(
      host = 'xx.xxx.xxx.xx', # 数据库地址
      port = 3306,  # 数据库端口号
      user='xxx',  # 数据库账号
      password='xxx',  # 数据库密码
      db = 'test_sll')  # 数据库表名
# 创建数据库对象
db = count.cursor()
# 写入SQL语句
sql = "update students set age = '12' WHERE id=1"
# 执行sql命令
db.execute(sql)
# 保存操作
count.commit()
db.close()

删除数据

# coding:utf-8
import pymysql
# 连接数据库
count = pymysql.connect(
      host = 'xx.xxx.xxx.xx', # 数据库地址
      port = 3306,  # 数据库端口号
      user='xxxx',  # 数据库账号
      password='xxx',  # 数据库密码
      db = 'test_sll')  # 数据库表名
# 创建数据库对象
db = count.cursor()
# 写入SQL语句
sql = "delete from students where age = 12"
# 执行sql命令
db.execute(sql)
# 保存提交
count.commit()
db.close()

新增数据

新增数据这里涉及到一个事务问题,事物机制可以保证数据的一致性,比如插入一个数据,不会存在插入一半的情况,要么全部插入,要么都不插入

# coding:utf-8
import pymysql
# 连接数据库
count = pymysql.connect(
      host = 'xx.xxx.xxx.xx', # 数据库地址
      port = 3306,  # 数据库端口号
      user='xxxx',  # 数据库账号
      password='xxx',  # 数据库密码
      db = 'test_sll')  # 数据库表名
# 创建数据库对象
db = count.cursor()
# 写入SQL语句
sql = "insert INTO students(id,name,age)VALUES (2,'安静','26')"
# 执行sql命令
db.execute(sql)
# 保存提交
count.commit()
db.close()

到这可以发现除了查询不需要保存,其他操作都要提交保存,并且还会发现删除,修改,新增,只是修改了SQL,其他的没什么变化

创建表

创建表首先我们先定义下表内容的字段

字段名 含义 类型
id id varchar
name 姓名 varchar
age 年龄 int
# coding:utf-8
import pymysql
# 连接数据库
count = pymysql.connect(
      host = 'xx.xxx.xxx.xx', # 数据库地址
      port = 3306,  # 数据库端口号
      user='xxxx',  # 数据库账号
      password='xxx',  # 数据库密码
      db = 'test_sll')  # 数据库表名
# 创建数据库对象
db = count.cursor()
# 写入SQL语句
sql = 'CREATE TABLE students (id VARCHAR(255) ,name VARCHAR(255) ,age INT)'
# 执行sql命令
db.execute(sql)
db.close()

以上就是python 基于PYMYSQL使用MYSQL数据库的详细内容,更多关于python 使用MySQL的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
让Python代码更快运行的5种方法
Jun 21 Python
Python程序运行原理图文解析
Feb 10 Python
Python3多进程 multiprocessing 模块实例详解
Jun 11 Python
pytorch 转换矩阵的维数位置方法
Dec 08 Python
Python中psutil的介绍与用法
May 02 Python
dpn网络的pytorch实现方式
Jan 14 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
Jan 21 Python
基于pygame实现童年掌机打砖块游戏
Feb 25 Python
python自动下载图片的方法示例
Mar 25 Python
Python爬虫requests库多种用法实例
May 28 Python
Python实现弹球小游戏
Aug 01 Python
python实现定时发送邮件
Dec 23 Python
python xlsxwriter模块的使用
Dec 24 #Python
想学画画?python满足你!
Dec 24 #Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
Dec 24 #Python
用python获取txt文件中关键字的数量
Dec 24 #Python
举例讲解Python装饰器
Dec 24 #Python
python 基于opencv操作摄像头
Dec 24 #Python
python 基于selenium实现鼠标拖拽功能
Dec 24 #Python
You might like
PHP钩子实现方法解析
2019/05/21 PHP
有道JavaScript监听浏览器的问题
2010/06/23 Javascript
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
2011/01/17 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
express+mockjs实现模拟后台数据发送功能
2018/01/07 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
VUE中使用MUI方法
2019/02/12 Javascript
微信小程序与webview交互实现支付功能
2019/06/07 Javascript
深入浅析Vue中mixin和extend的区别和使用场景
2019/08/01 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
vue实现标签云效果的示例
2020/11/09 Javascript
python基础教程之lambda表达式使用方法
2014/02/12 Python
详解Python中的文件操作
2016/08/28 Python
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
2018/08/01 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
2019/09/20 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
幼儿园毕业寄语
2014/04/03 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
学校四风对照检查材料
2014/08/28 职场文书
婚宴祝酒词大全
2015/08/10 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
小学三年级作文之写景
2019/11/05 职场文书
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python
SQLServer常见数学函数梳理总结
2022/08/05 MySQL