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 pass详细介绍及实例代码
Nov 24 Python
谈谈如何手动释放Python的内存
Dec 17 Python
Python中第三方库Requests库的高级用法详解
Mar 12 Python
Python学生成绩管理系统简洁版
Apr 05 Python
Python使用base64模块进行二进制数据编码详解
Jan 11 Python
python基于C/S模式实现聊天室功能
Jan 09 Python
Pycharm运行加载文本出现错误的解决方法
Jun 27 Python
使用Python快乐学数学Github万星神器Manim简介
Aug 07 Python
Python类中方法getitem和getattr详解
Aug 30 Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 Python
python为什么会环境变量设置不成功
Jun 23 Python
使用python创建股票的时间序列可视化分析
Mar 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
3种平台下安装php4经验点滴
2006/10/09 PHP
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
2011/11/07 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
十大使用PHP框架的理由
2015/09/26 PHP
学习php设计模式 php实现抽象工厂模式
2015/12/07 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
javascript 事件绑定问题
2011/01/01 Javascript
千分位数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)的JS代码
2013/12/05 Javascript
深入理解jQuery中live与bind方法的区别
2013/12/18 Javascript
js的Boolean对象初始值示例
2014/03/04 Javascript
ext前台接收action传过来的json数据示例
2014/06/17 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
jquery使用经验小结
2015/05/20 Javascript
javascript求日期差的方法
2016/03/02 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
js canvas实现写字动画效果
2018/11/30 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
vue+ts下对axios的封装实现
2020/02/18 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
Python编程使用NLTK进行自然语言处理详解
2017/11/16 Python
机器学习10大经典算法详解
2017/12/07 Python
Python实现OpenCV的安装与使用示例
2018/03/30 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
pyqt5实现登录界面的模板
2020/05/30 Python
python构建指数平滑预测模型示例
2019/11/21 Python
PyTorch的torch.cat用法
2020/06/28 Python
Python无损压缩图片的示例代码
2020/08/06 Python
大学生旷课检讨书1000字
2015/02/19 职场文书
python利用pandas分析学生期末成绩实例代码
2021/07/09 Python