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 3.6 +pyMysql 操作mysql数据库(实例讲解)
Dec 20 Python
Python中GeoJson和bokeh-1的使用讲解
Jan 03 Python
对python3.4 字符串转16进制的实例详解
Jun 12 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
基于python操作ES实例详解
Nov 16 Python
Django中modelform组件实例用法总结
Feb 10 Python
Python利用FFT进行简单滤波的实现
Feb 26 Python
keras实现基于孪生网络的图片相似度计算方式
Jun 11 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
Jul 02 Python
Python正则re模块使用步骤及原理解析
Aug 18 Python
python如何编写类似nmap的扫描工具
Nov 06 Python
Pytorch中expand()的使用(扩展某个维度)
Jul 15 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
如何开始收听短波广播
2021/03/01 无线电
php版微信公众平台之微信网页登陆授权示例
2016/09/23 PHP
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
2013/06/08 Javascript
浅析IE10兼容性问题(frameset的cols属性)
2014/01/03 Javascript
js限制文本框只能输入整数或者带小数点的数字
2015/04/27 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
js面向对象编程总结
2017/02/16 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
JavaScript中常见的八个陷阱总结
2017/06/28 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
Vue-axios-post数据后端接不到问题解决
2020/01/09 Javascript
[06:53]2018DOTA2国际邀请赛寻真——勇于创新的Vici Gaming
2018/08/14 DOTA
Python re模块介绍
2014/11/30 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
python gdal安装与简单使用
2019/08/01 Python
Python API自动化框架总结
2019/11/12 Python
python 中的paramiko模块简介及安装过程
2020/02/29 Python
pytorch 限制GPU使用效率详解(计算效率)
2020/06/27 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
Crocs卡骆驰洞洞鞋日本官方网站:Crocs日本
2016/08/25 全球购物
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
opencv实现图像几何变换
2021/03/24 Python
办公室秘书岗位职责范本
2014/02/11 职场文书
内刊编辑求职自荐书范文
2014/02/19 职场文书
法人代表资格证明书
2015/06/18 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
Python中异常处理用法
2021/11/27 Python
springboot入门 之profile设置方式
2022/04/04 Java/Android
JavaScript实现音乐播放器
2022/08/14 Javascript