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 相关文章推荐
写了个监控nginx进程的Python脚本
May 10 Python
Python 功能和特点(新手必学)
Dec 30 Python
使用Python的Flask框架来搭建第一个Web应用程序
Jun 04 Python
Python获取指定字符前面的所有字符方法
May 02 Python
PyCharm代码格式调整方法
May 23 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
Mar 27 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
Jan 08 Python
PyTorch在Windows环境搭建的方法步骤
May 12 Python
Python中的wordcloud库安装问题及解决方法
May 27 Python
详解python爬取弹幕与数据分析
Nov 14 Python
Python使用pyenv实现多环境管理
Feb 05 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
2006/12/13 PHP
Smarty使用自定义资源的方法
2015/08/08 PHP
PHP自动生成缩略图函数的源码示例
2019/03/18 PHP
收藏一些不常用,但是有用的代码
2007/03/12 Javascript
定义select的边框颜色
2008/04/28 Javascript
Jquery 快速构建可拖曳的购物车DragDrop
2009/11/30 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
JS组件Bootstrap按钮组与下拉按钮详解
2016/05/10 Javascript
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
原生实现一个react-redux的代码示例
2018/06/08 Javascript
JS中call和apply函数用法实例分析
2018/06/20 Javascript
vue项目中使用tinymce编辑器的步骤详解
2018/09/11 Javascript
vue-cli 首屏加载优化问题
2018/11/06 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
Vue路由 重定向和别名的区别说明
2020/09/09 Javascript
[08:07]DOTA2每周TOP10 精彩击杀集锦vol.8
2014/06/25 DOTA
python matplotlib画图实例代码分享
2017/12/27 Python
对python中的 os.mkdir和os.mkdirs详解
2018/10/16 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
python实时检测键盘输入函数的示例
2019/07/17 Python
python文件操作seek()偏移量,读取指正到指定位置操作
2020/07/05 Python
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
HTML5 Blob 实现文件下载功能的示例代码
2019/11/29 HTML / CSS
18-35岁旅游团的全球领导者:Contiki
2017/02/08 全球购物
英国在线泳装店:Simply Swim
2019/05/05 全球购物
英国100%防污和防水的靴子:Muck Boot Company
2020/09/08 全球购物
奥巴马上海演讲稿
2014/09/10 职场文书
个人工作总结范文2014
2014/11/07 职场文书
不尊敬老师检讨书范文
2014/11/19 职场文书
2015年医院药剂科工作总结
2015/05/04 职场文书
告知书格式
2015/07/01 职场文书
Python数据分析入门之数据读取与存储
2021/05/13 Python
Java中try catch处理异常示例
2021/12/06 Java/Android