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批量修改文件后缀示例代码分享
Dec 24 Python
Python使用PyGreSQL操作PostgreSQL数据库教程
Jul 30 Python
Python 读取某个目录下所有的文件实例
Jun 23 Python
使用python的pandas库读取csv文件保存至mysql数据库
Aug 20 Python
python替换字符串中的子串图文步骤
Jun 19 Python
如何使用python爬虫爬取要登陆的网站
Jul 12 Python
pycharm 批量修改变量名称的方法
Aug 01 Python
什么是python的函数体
Jun 19 Python
python 写一个性能测试工具(一)
Oct 24 Python
Selenium 安装和简单使用的实现
Dec 04 Python
Python创建简单的神经网络实例讲解
Jan 04 Python
PyTorch device与cuda.device用法
Apr 03 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/03 咖啡文化
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
Javascript技术技巧大全(五)
2007/01/22 Javascript
js 跨域和ajax 跨域问题小结
2009/07/01 Javascript
动态样式类封装JS代码
2009/09/02 Javascript
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
jquery parent和parents的区别分析
2013/10/02 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
2016/02/19 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
JavaScript格式化json和xml的方法示例
2019/01/22 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
[39:53]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.19
2020/11/19 DOTA
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
pandas中apply和transform方法的性能比较及区别介绍
2018/10/30 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
python判断无向图环是否存在的示例
2019/11/22 Python
python使用建议与技巧分享(二)
2020/08/17 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
澳大利亚有机化妆品网上商店:The Well Store
2020/02/20 全球购物
Whistles官网:英国女装品牌
2020/08/14 全球购物
Smilodox官方运动服装店:从运动服到健身配件
2020/08/27 全球购物
如何安装ruby on rails
2014/02/09 面试题
应届护士推荐信
2013/11/16 职场文书
班级入场式解说词
2014/02/01 职场文书
征婚广告词
2014/03/17 职场文书
大一新生学期自我评价
2014/04/09 职场文书
三八妇女节演讲稿
2014/05/27 职场文书
横幅标语大全
2014/06/17 职场文书
幼儿教师个人总结
2015/02/05 职场文书
新闻报道稿范文
2015/07/23 职场文书
大学新生入学感想
2015/08/07 职场文书
LeetCode189轮转数组python示例
2022/08/05 Python