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实现股市信息下载的方法
Jun 15 Python
python装饰器初探(推荐)
Jul 21 Python
python、java等哪一门编程语言适合人工智能?
Nov 13 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
Jun 26 Python
widows下安装pycurl并利用pycurl请求https地址的方法
Oct 15 Python
详解Django-auth-ldap 配置方法
Dec 10 Python
Django基础知识 web框架的本质详解
Jul 18 Python
使用Keras中的ImageDataGenerator进行批次读图方式
Jun 17 Python
Python二元算术运算常用方法解析
Sep 15 Python
python在linux环境下安装skimage的示例代码
Oct 14 Python
Django cookie和session的应用场景及如何使用
Apr 29 Python
Python图像处理库PIL详细使用说明
Apr 06 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
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
jquery.autocomplete修改实现键盘上下键自动填充示例
2013/11/19 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
jQuery 选择器详解
2015/01/19 Javascript
JQuery插入DOM节点的方法
2015/06/11 Javascript
常用javascript表单验证汇总
2020/07/20 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
JS查找数组中重复元素的方法详解
2017/06/14 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
vue数字类型过滤器的示例代码
2017/09/07 Javascript
JS监听滚动和id自动定位滚动
2018/12/18 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
Python求解任意闭区间的所有素数
2018/06/10 Python
Python字符串对象实现原理详解
2019/07/01 Python
如何定义TensorFlow输入节点
2020/01/23 Python
娱乐地球:Entertainment Earth
2020/01/08 全球购物
告诉你怎样写创业计划书
2014/01/27 职场文书
司仪主持词两篇
2014/03/22 职场文书
三年级小学生评语
2014/04/22 职场文书
高中生评语大全
2014/04/25 职场文书
阳光体育活动实施方案
2014/05/25 职场文书
婚内分居协议书范文
2014/11/26 职场文书
毕业实习计划书
2015/01/16 职场文书
学校隐患排查制度
2015/08/05 职场文书
新课程改革心得体会
2016/01/22 职场文书
反四风问题学习心得体会
2016/01/22 职场文书
Redis Cluster 集群搭建你会吗
2021/08/04 Redis
Go语言读取txt文档的操作方法
2022/01/22 Golang
Mysql外键约束的创建与删除的使用
2022/03/03 MySQL
vue实现登陆页面开发实践
2022/05/30 Vue.js
SpringBoot详解执行过程
2022/07/15 Java/Android