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中的urllib模块使用详解
Jul 07 Python
Python编程pygame模块实现移动的小车示例代码
Jan 03 Python
python处理csv数据动态显示曲线实例代码
Jan 23 Python
python微信公众号开发简单流程
Mar 23 Python
对numpy中array和asarray的区别详解
Apr 17 Python
对python 通过ssh访问数据库的实例详解
Feb 19 Python
详解python:time模块用法
Mar 25 Python
用Python去除图像的黑色或白色背景实例
Dec 12 Python
如何让PyQt5中QWebEngineView与JavaScript交互
Oct 21 Python
如何基于matlab相机标定导出xml文件
Nov 02 Python
Python3爬虫ChromeDriver的安装实例
Feb 06 Python
python快速安装OpenCV的步骤记录
Feb 22 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 array_flip() 删除重复数组元素专用函数
2010/05/16 PHP
详解php中curl返回false的解决办法
2019/03/18 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
2020/11/10 PHP
jquery photoFrame 图片边框美化显示插件
2010/06/28 Javascript
2010年最佳jQuery插件整理
2010/12/06 Javascript
jQuery获取样式中的背景颜色属性值/颜色值
2012/12/17 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
JSON相关知识汇总
2015/07/03 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
JS ES6中setTimeout函数的执行上下文示例
2017/04/27 Javascript
React.js中常用的ES6写法总结(推荐)
2017/05/09 Javascript
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
python自动zip压缩目录的方法
2015/06/28 Python
在Python的一段程序中如何使用多次事件循环详解
2017/09/07 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
python 删除非空文件夹的实例
2018/04/26 Python
python调用百度语音识别api
2018/08/30 Python
Python使用LDAP做用户认证的方法
2019/06/20 Python
基于sklearn实现Bagging算法(python)
2019/07/11 Python
基于pandas向csv添加新的行和列
2020/05/25 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
python基于exchange函数发送邮件过程详解
2020/11/06 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
献爱心大型公益活动策划方案
2014/09/15 职场文书
2014年财务科工作总结
2014/11/11 职场文书
领导欢迎词范文
2015/01/26 职场文书
天下第一关导游词
2015/02/06 职场文书
自我工作评价范文
2015/03/06 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS