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中MYSQLdb出现乱码的解决方法
Oct 11 Python
在Python的Django框架中使用通用视图的方法
Jul 21 Python
在Python程序和Flask框架中使用SQLAlchemy的教程
Jun 06 Python
python获取指定字符串中重复模式最高的字符串方法
Jun 29 Python
对pandas的算术运算和数据对齐实例详解
Dec 22 Python
Python将视频或者动态图gif逐帧保存为图片的方法
Sep 10 Python
Python实现元素等待代码实例
Nov 11 Python
Django中modelform组件实例用法总结
Feb 10 Python
Python查找不限层级Json数据中某个key或者value的路径方式
Feb 27 Python
Python实现GIF图倒放
Jul 16 Python
Python OpenCV快速入门教程
Apr 17 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
优化使用mysql存储session的php代码
2008/01/10 PHP
codeigniter自带数据库类使用方法说明
2014/03/25 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
2018/04/21 PHP
PHP让网站移动访问更加友好方法
2019/02/14 PHP
Javascript this指针
2009/07/30 Javascript
jquery插件制作 提示框插件实现代码
2012/08/17 Javascript
js控制浏览器全屏示例代码
2014/02/20 Javascript
javascript验证身份证号
2015/03/03 Javascript
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
分享一个原生的JavaScript拖动方法
2016/09/25 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
vue实现同一个页面可以有多个router-view的方法
2018/09/20 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
vue移动端的左右滑动事件详解
2020/06/17 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
Python解析树及树的遍历
2016/02/03 Python
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
Python扩展内置类型详解
2018/03/26 Python
对Python 数组的切片操作详解
2018/07/02 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
python每5分钟从kafka中提取数据的例子
2019/12/23 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
css3动画鼠标放上图片逐渐变大鼠标离开图片逐渐缩小效果
2021/01/27 HTML / CSS
Canvas高级路径操作之拖拽对象的实现
2019/08/05 HTML / CSS
揠苗助长教学反思
2014/02/04 职场文书
致200米运动员广播稿
2014/02/06 职场文书
科研课题实施方案
2014/03/18 职场文书
Java8 CompletableFuture 异步回调
2022/04/28 Java/Android