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 相关文章推荐
pyramid配置session的方法教程
Nov 27 Python
在GitHub Pages上使用Pelican搭建博客的教程
Apr 25 Python
Tensorflow之Saver的用法详解
Apr 23 Python
Python使用win32 COM实现Excel的写入与保存功能示例
May 03 Python
Python使用pandas对数据进行差分运算的方法
Dec 22 Python
python提取log文件内容并画出图表
Jul 08 Python
Python3使用PySynth制作音乐的方法
Sep 09 Python
Python使用Socket实现简单聊天程序
Feb 28 Python
PyQt5实现简单的计算器
May 30 Python
Python使用Pygame绘制时钟
Nov 29 Python
python爬取股票最新数据并用excel绘制树状图的示例
Mar 01 Python
python中mongodb包操作数据库
Apr 19 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
php读取数据库信息的几种方法
2008/05/24 PHP
php笔记之:数据类型与常量的使用分析
2013/05/14 PHP
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
jQuery语法总结和注意事项小结
2012/11/11 Javascript
Extjs4 GridPanel 的几种样式使用介绍
2013/04/18 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
详解js中==与===的区别
2017/01/08 Javascript
jquery使用FormData实现异步上传文件
2018/10/25 jQuery
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
小程序开发之模态框组件封装
2020/04/23 Javascript
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
python读取与写入csv格式文件的示例代码
2017/12/16 Python
python爬取微信公众号文章
2018/08/31 Python
详解python运行三种方式
2019/05/13 Python
Python中的asyncio代码详解
2019/06/10 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
捷克电器和DJ设备网上商店:Electronic-star
2017/07/18 全球购物
皇家阿尔伯特英国官方商店:Royal Albert骨瓷
2019/03/25 全球购物
澳大利亚波西米亚风连衣裙在线商店:Fortunate One
2019/04/01 全球购物
游戏商店:Eneba
2020/04/25 全球购物
外企C语言笔试题
2013/11/10 面试题
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
高校自主招生自荐信
2013/12/09 职场文书
采购员的工作职责
2013/12/26 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
党支部工作总结2015
2015/04/01 职场文书
Python集合set()使用的方法详解
2022/03/18 Python