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的struct模块中进行数据格式转换的方法
Jun 17 Python
Python实现简单的代理服务器
Jul 25 Python
关于Python面向对象编程的知识点总结
Feb 14 Python
Python基于正则表达式实现文件内容替换的方法
Aug 30 Python
Java分治归并排序算法实例详解
Dec 12 Python
深入理解Django的中间件middleware
Mar 14 Python
Python中if elif else及缩进的使用简述
May 31 Python
Tensorflow 训练自己的数据集将数据直接导入到内存
Jun 19 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
Mar 03 Python
python 通过文件夹导入包的操作
Jun 01 Python
python字典按照value排序方法
Dec 28 Python
总结Pyinstaller打包的高级用法
Jun 28 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
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
2017/09/01 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
基于逻辑运算的简单权限系统(实现) JS 版
2007/03/24 Javascript
用js模拟JQuery的show与hide动画函数代码
2010/09/20 Javascript
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
2014/03/20 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
node.js环境搭建图文详解
2018/09/19 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
python中copy()与deepcopy()的区别小结
2018/08/03 Python
python实现文件的备份流程详解
2019/06/18 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
中间件分为哪几类
2012/03/14 面试题
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
《和我们一样享受春天》教学反思
2014/02/07 职场文书
小学运动会入场式解说词
2014/02/18 职场文书
电大毕业生自我鉴定
2014/04/10 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
小马王观后感
2015/06/11 职场文书
2015年国庆节标语大全
2015/07/30 职场文书