Python3 MySQL 数据库连接 - PyMySQL 驱动

本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查。

什么是 PyMySQL?

PyMySQL 模块中提供的API与SQLite3模块中提供的API类似,因为他们都是遵循Python DB API 2.0标准。在标准Windows环境下,安装PyMySQL的方法是:

pip install pymysql

PyMysql的几个重要方法

  1. connect函数:连接数据库,根据连接的数据库类型不同,该函数的参数也不相同。connect函数返回Connection对象。
  2. cursor方法:获取操作数据库的Cursor对象。cursor方法属于Connection对象。
  3. execute方法:用于执行SQL语句,该方法属于Cursor对象。
  4. commit方法:在修改数据库后,需要调用该方法提交对数据库的修改,commit方法属于Cursor对象。
  5. rollback方法:如果修改数据库失败,一般需要调用该方法进行数据库回滚操作,也就是将数据库恢复成修改之前的样子。

实例:

from pymysql import *
import jsondef connectDB():db = connect('127.0.0.1','root','password','databasename')return db
db = connectDB()def creatTable(db):cursor = db.cursor()sql = '''
    CREATE TABLE Persons(id INT PRIMARY KEY NOT NULL,name TEXT NOT NULL,age INT NOT NULL,address CHAR(50),salary REAL);    '''
    try:cursor.execute(sql)db.commit()return Trueexcept:db.rollback()return Falsedef insertRecords(db):cursor = db.cursor()try:cursor.execute('DELETE FROM persons')cursor.execute("INSERT INTO persons(id,name,age,address,salary)\VALUES(1,'Paul',32,'California',2000.00)");cursor.execute("INSERT INTO persons(id,name,age,address,salary)\VALUES(2,'Allen',25,'Texas',3000.00)");cursor.execute("INSERT INTO persons(id,name,age,address,salary)\VALUES(3,'Teddy',23,'Norway',2500.00)");cursor.execute("INSERT INTO persons(id,name,age,address,salary)\VALUES(4,'Mark',19,'Rich',5000.00)");
        db.commit()return Trueexcept Exception as e:print(e)db.rollback()return Falsedef selectRecords(db):cursor = db.cursor()sql = 'SELECT name,age,address,salary FROM Persons ORDER BY age DESC'cursor.execute(sql)results = cursor.fetchall()print(results)fields = ['name','age','address','salary']records = []for row in results:records.append(dict(zip(fields,row)))return json.dumps(records)if creatTable(db):print('成功创建Persons表')
else:print('persons表已经存在')if insertRecords(db):print('成功插入数据')
else:print('插入记录失败')print(selectRecords(db))
db.close()

运行返回结果:

persons表已经存在
成功插入数据
(('Paul', 32, 'California', 2000.0), ('Allen', 25, 'Texas', 3000.0), ('Teddy', 23, 'Norway', 2500.0), ('Mark', 19, 'Rich', 5000.0))
[{"age": 32, "name": "Paul", "salary": 2000.0, "address": "California"}, {"age": 25, "name": "Allen", "salary": 3000.0, "address": "Texas"}, {"age": 23, "name": "Teddy", "salary": 2500.0, "address": "Norway"}, {"age": 19, "name": "Mark", "salary": 5000.0, "address": "Rich"}]

查看数据库:

转载于:https://www.cnblogs.com/chenhaiming/p/9883349.html

PYTHON——数据存储:MySQL数据库相关推荐

  1. python数据写入mysql数据库

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.导入pymsql第三方模块 二.连接mysql数据库 三.定义sql语句 四.执行sql语句 五.提交到数据库 前 ...

  2. 爬虫数据存储到数据库/增量爬虫+多级页面获取=====安居客信息爬取

    文章目录 前言 一.增量爬虫是什么? 二.python数据存储到数据库 三.多级页面的跳转获取 四:遇到的问题以及解决 五:代码 总结 前言:这次的爬取内容是安居客网页里面的信息,首先是我爬取的页面是 ...

  3. python 爬虫源码 selenium并存储数据库_使用pythonSelenium爬取内容并存储MySQL数据库的实例图解...

    这篇文章主要介绍了python Selenium爬取内容并存储至MySQL数据库的实现代码,需要的朋友可以参考下 前面我通过一篇文章讲述了如何爬取CSDN的博客摘要等信息.通常,在使用Selenium ...

  4. python如何删除mysql数据库_python删除数据mysql数据库连接

    Python学习之旅:访问MySQL数据库 Python学习之旅:访问MySQL数据库 MySQL是Web世界中使用最广泛的数据库服务器.为服务器端设计的数据库,能承受高并发访问. python如何使 ...

  5. python导入excel表格-Python 将Excel表格数据导入MySQL数据库

    今天分享一个刚刚完成的Python脚本,一个实用的小技能,就是利用Python代码,将EXCEL表格数据导入到MySQL数据库中!话不多说,下面代码示例. Excel表格数据.jpg 1示例代码: i ...

  6. 在ubuntu 16.04里使用python—scrapy将爬取到的数据存到mysql数据库中的一些随笔

    一.将爬取的数据保存到mysql数据库的代码(已经能将爬取的数据保存到json文件) (1)编辑Pipeline.py文件 (2)编辑settings.py文件 二.将数据保存至mysql数据库出现的 ...

  7. linux python开发环境sql数据迁移到mysql_linux环境下python怎样操作mysql数据库

    展开全部 linux环境下python怎样操作mysql数据库呢?方法如下: 首先在Linux环境下安装mysql-python 1.下载mysql-python 打开终端: cd /usr/loca ...

  8. python亿级mysql数据库导出_Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法...

    本文实例讲述了python实现将MySQL数据库表中的数据导出生成csv格式文件的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf- ...

  9. python写入mysql数据库_python调用http接口,数据写入mysql数据库并下载录音文件

    写个脚本一共完成了三件事: 第一,python调用http接口, 第二,把调用到的数据写入mysql数据库, 第三,python调用wsdl接口,获取录音文件, import time import ...

  10. python随机数据库_Python实现生成随机数据插入mysql数据库的方法

    本文实例讲述了Python实现生成随机数据插入mysql数据库的方法.分享给大家供大家参考,具体如下: 运行结果: 实现代码: import random as r import pymysql fi ...

最新文章

  1. 网络负载均衡-DNS负载均衡
  2. 快应用 - 应用签名校验失败
  3. java和python哪个好就业2020-JAVA和Python哪个好就业?
  4. OS_FLAG.C(3)
  5. 1018 Public Bike Management (30 分) 【难度: 难 / 知识点: 图论 最短路 图的遍历】
  6. Linux | 进程概念、进程状态(僵尸进程、孤儿进程、守护进程)、进程地址空间
  7. 使用memocache
  8. 列出所有子集----------2013年1月3日
  9. 淘宝京东设计师来看,电商Banner设计策略!
  10. SpringAOP导致@Autowired依赖注入失败
  11. mysql主从复制及读写分离
  12. 京东搜索排序在线学习的 Flink 优化实践
  13. c#值类型,引用练习,ref,out
  14. java之final的各种用法
  15. oppok3如何刷机_OPPO K3(6GB/64GB/全网通)手机密码忘记怎么刷机?
  16. android路由器安装wifidog,Wifidog-刷OpenWRT标准版固件后安装LuCI的方法
  17. 论文笔记:Meta-attention for ViT-backed Continual Learning CVPR 2022
  18. 【PS/AI】10款逼真的喷泉背景免费矢量设计素材
  19. CodeForces 332B Maximum Absurdity(线段树单点更新)
  20. 【狼窝乀野狼】Excel那些事儿

热门文章

  1. 演讲实录丨周斌:人工智能推动新基建和数据中心的技术革新
  2. 华为将开源挑战 Oracle 的 AI 原生数据库 GaussDB
  3. 百倍提升张量计算:谷歌开源TensorNetwork
  4. 何恺明、陈鑫磊新研究:提出实例分割新方法,效果比肩Mask R-CNN
  5. SAP MM 存储条件 - Room Temperature Vs Ambient
  6. pytorch中tensor的unsqueeze()函数和squeeze()函数的用处
  7. 212页PPT详解MEMS微传感器的工作原理(深入全面!)
  8. 饶毅:中国脑计划是我见过的最差科学经费管理,中国猴计划应该缓行
  9. 陈天桥雒芊芊脑机接口中心等团队研究登顶刊:超声波“读心”
  10. PNAS “深度学习的科学”论文合集导读