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的Django框架中的templates设置
May 11 Python
python黑魔法之编码转换
Jan 25 Python
python文件与目录操作实例详解
Feb 22 Python
Python实现连接postgresql数据库的方法分析
Dec 27 Python
Python实现字符串匹配的KMP算法
Apr 04 Python
利用Python小工具实现3秒钟将视频转换为音频
Oct 29 Python
python和php哪个更适合写爬虫
Jun 22 Python
Python爬虫抓取指定网页图片代码实例
Jul 24 Python
django使用graphql的实例
Sep 02 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
Dec 24 Python
Python调用系统命令os.system()和os.popen()的实现
Dec 31 Python
Python中的变量与常量
Nov 11 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/03 冲泡冲煮
PHP文章按日期(月日)SQL归档语句
2012/11/29 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
PHP实现简单用户登录界面
2019/10/23 PHP
禁止F5等快捷键的JS代码
2007/03/06 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
2011/01/11 Javascript
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
javascript string字符串优化问题
2011/07/31 Javascript
框架页面高度自动刷新的Javascript脚本
2013/11/01 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
JS非Alert实现网页右下角“未读信息”效果弹窗
2015/09/26 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
JS实现两周内自动登录功能
2017/03/23 Javascript
微信小程序下拉刷新界面的实现
2017/09/28 Javascript
使用JS实现导航切换时高亮显示的示例讲解
2018/08/22 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
2020/11/02 Javascript
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
2021/02/26 Vue.js
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
使用SAE部署Python运行环境的教程
2015/05/05 Python
详解Python中的__new__、__init__、__call__三个特殊方法
2016/06/02 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
Python简单实现网页内容抓取功能示例
2018/06/07 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
使用Python的datetime库处理时间(RPA流程)
2019/11/24 Python
如何利用Python识别图片中的文字
2020/05/31 Python
解决Keras使用GPU资源耗尽的问题
2020/06/22 Python
会计出纳岗位职责
2013/12/25 职场文书
高中历史教学反思
2014/02/08 职场文书
运动会入场式解说词
2014/02/18 职场文书
写给老师的保证书
2015/05/09 职场文书
网吧温馨提示
2015/07/17 职场文书