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中selenium实现文件上传所有方法整理总结
Apr 01 Python
Python中生成器和迭代器的区别详解
Feb 10 Python
Python中 map()函数的用法详解
Jul 10 Python
详解django自定义中间件处理
Nov 21 Python
python实现批量注册网站用户的示例
Feb 22 Python
Python动态赋值的陷阱知识点总结
Mar 17 Python
python实现最大子序和(分治+动态规划)
Jul 05 Python
python 图像处理画一个正弦函数代码实例
Sep 10 Python
python学生管理系统的实现
Apr 05 Python
Python内置异常类型全面汇总
May 28 Python
实例讲解Python 迭代器与生成器
Jul 08 Python
教你用Python写一个植物大战僵尸小游戏
Apr 25 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/02 无线电
PHP 木马攻击防御技巧
2009/06/13 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
php全局变量和类配合使用深刻理解
2013/06/05 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
Javascript !!的作用
2008/12/04 Javascript
写出更好的JavaScript之undefined篇(上)
2009/11/22 Javascript
javascript 函数调用的对象和方法
2010/07/01 Javascript
url地址自动加#号问题说明
2010/08/21 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
微信小程序的mpvue框架快速上手指南
2019/05/15 Javascript
Javascript实现单选框效果
2020/12/09 Javascript
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
[04:54]DOTA2-DPC中国联赛1月31日Recap集锦
2021/03/11 DOTA
Python内置数据结构与操作符的练习题集锦
2016/07/01 Python
Python进程间通信Queue实例解析
2018/01/25 Python
在PyCharm中三步完成PyPy解释器的配置的方法
2018/10/29 Python
python3对接mysql数据库实例详解
2019/04/30 Python
如何基于线程池提升request模块效率
2020/04/18 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
医学生实习自荐信
2013/10/01 职场文书
《学会待客》教学反思
2014/02/22 职场文书
实习公司领导推荐函
2014/05/21 职场文书
文明单位创建材料
2014/12/24 职场文书
社区五一劳动节活动总结
2015/02/09 职场文书
会议室管理制度范本
2015/08/06 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
django上传文件的三种方式
2021/04/29 Python