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 list使用示例 list中找连续的数字
Jan 27 Python
python文件操作整理汇总
Oct 21 Python
Python第三方库的安装方法总结
Jun 06 Python
python实现unicode转中文及转换默认编码的方法
Apr 29 Python
python的scipy实现插值的示例代码
Nov 12 Python
学Python 3的理由和必要性
Nov 19 Python
OpenCV 表盘指针自动读数的示例代码
Apr 10 Python
基于Python实现视频的人脸融合功能
Jun 12 Python
如何在pycharm中安装第三方包
Oct 27 Python
Python基础学习之奇异的GUI对话框
May 27 Python
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
May 31 Python
Python Matplotlib绘制等高线图与渐变色扇形图
Apr 14 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
Smarty模板快速入门
2007/01/04 PHP
常见的PHP五种设计模式小结
2011/03/23 PHP
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
2011/08/09 PHP
PHP children()函数讲解
2019/02/03 PHP
js实现表格字段排序
2014/02/19 Javascript
JavaScript AJAX之惰性载入函数
2014/08/27 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
基于JavaScript实现幸运抽奖页面
2020/07/05 Javascript
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
2018/06/14 jQuery
layui select获取自定义属性方法
2018/08/15 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
在vue中实现嵌套页面(iframe)
2020/07/30 Javascript
python进程管理工具supervisor的安装与使用教程
2017/09/05 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
2019/08/23 Python
使用python模拟高斯分布例子
2019/12/09 Python
Django使用rest_framework写出API
2020/05/21 Python
python绘制雷达图实例讲解
2021/01/03 Python
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
Collection和Collections的区别
2016/05/02 面试题
档案工作汇报材料
2014/08/21 职场文书
部队反四风对照检查材料
2014/09/26 职场文书
2014年就业工作总结
2014/11/26 职场文书
家长评语怎么写
2014/12/30 职场文书
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android
Java工作中实用的代码优化技巧分享
2022/04/21 Java/Android
postgresql中如何执行sql文件
2023/05/08 PostgreSQL