在我刚开始学python的时候,用的是python2.7,那时候连接mysql用的库是MySQLdb(很诡异的大小写,初学者经常因为记不住大小写导致“No module named xxx”)。燃鹅,在python3中,这个库已经不能继续使用了。怎么办呢?在python3中,可以使用pymysql或mysqlclient。今天我要介绍的就是pymysql。
如果有MySQLdb的基础,其实pymysql的使用也是非常类似的,同样是这么几个步骤:
连接数据库→创建游标→执行SQL→fetch获得数据,进行业务处理→关闭游标→commit→关闭数据库连接

可使用的函数也是非常像。

 
连接数据库:
conn = pymysql.connect(host=host, user=user, passwd=password, db=db)
创建游标:
cur = conn.cursor()
执行SQL:
cur.execute("INSERT INTO table VALUE something")
cur.execute("SELECT * FROM table")
获取数据:
data = cur.fetchone()
data = cur.fetchmany()
data = cur.fetchall()
# data是个生成器
关闭游标:
cur.close()
如果SQL是insert之类的DML语句,要记得commit:
conn.commit()
关闭数据库连接
conn.close()
看,就是这么简单。至于建库、存储过程、事务之类的,我的建议是减少使用,SQL就写最基本的SQL,复杂的操作都在程序中执行(咳咳,其实复杂的SQL我也不会写)。所以,就简单地讲这么点了,大家上手试试就会用了。
(啊~~~好糊弄人的一篇博客啊~~~)

用pymysql代替MySQLdb的更多相关文章

  1. MySQL、sqlalchemy、pymysql、mysqldb、DBAPI之间关系梳理(终于明白了)

    MySQL.sqlalchemy.pymysql.mysqldb.DBAPI之间关系梳理(终于明白了) python3不再支持mysqldb 请用pymysql和mysql.connector 问题背 ...

  2. pymysql和MySQLdb

    MySQLdb创建mysql数据库表 其实mysqldb创建表是有限制的,要求是5.1-5.5版本 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 1.下载 首 ...

  3. PyMySQL和MySQLdb的区别

      网上很多关于Scrapy存入MySQL的教程,都会发现又这么一个包的引入: import MySQLdb import MySQLdb.cursors 聪明的你或许已经算到,需要安装MySQLdb ...

  4. pyhton 自动化pymysql操作mysqldb数据库增删改查封装

    # coding=utf-8 import pymysql import os import configparser """ /* @:param: python ve ...

  5. python peewee.ImproperlyConfigured: MySQLdb or PyMySQL must be installed.

    最近在学习Python,打算先看两个在线教程,再在github上找几个开源的项目练习一下,在学到“被解放的姜戈”时遇到django同步数据库时无法执行的错误,记录一下. 错误现象: 执行python ...

  6. Python3出现"No module named 'MySQLdb'"问题-以及使用PyMySQL连接数据库

    Python3 与 Django 连接数据库,出现了报错:Error loading MySQLdb module: No module named 'MySQLdb'.原因如下:在 python2 ...

  7. Python 3.x 连接数据库(pymysql 方式)

    ==================pymysql=================== 由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 ...

  8. python pymysql和orm

    pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 1. 安装 管理员打开cmd,切换到python的安装路径,进入到Scripts目录下(如:C:\Users\A ...

  9. Python 3.5 连接Mysql数据库(pymysql 方式)

    由于 MySQLdb 模块还不支持 Python3.x,官方的Mysql连接包只支持到3.4,所以 Python3.5 如果想连接MySQL需要安装 pymysql 模块. pymysql 模块可以通 ...

随机推荐

  1. PHP中oop面向对象基础知识(一)

                                                                                        OOP 基础知识汇总(一) &g ...

  2. 键盘输入,输出int数组的函数

    public class function { public static void main(String[] args) { //输入数组数据(例如10个) int [] array = inPu ...

  3. Visual Studio 2017 系统发布部署服务器教程

    Visual Studio 2017 系统发布部署服务器教程       一.公司网站部署 --- 第一档 _Visual Studio 2017 发布网站系统教程  二.公司网站部署 --- 第二档 ...

  4. JSP学习笔记(1)-JSP简介

    1.什么是JSP? JSP是Java server page的缩写,有sun公司倡导,许多公司参与,于1999年推出的一种web服务设计标准.JSP基于Java Servlet以及整个java体系的W ...

  5. 浏览器根对象window之事件

    1. [事件]动画 onanimationstart onanimationend onanimationiteration onwebkitanimationend onwebkitanimatio ...

  6. css3画半圆 , 加上一点动画

    border-radius制作半圆与制作圆形的方法是一样的,只是元素的宽度与圆角方位要配合一致,不同的宽度和高度比例,以及圆角方位,可以制作上半圆.下半圆.左半圆和右半圆效果.例如: .semicir ...

  7. iOS如何解析crash文件中的地址

    1.目录中存放app文件 2.打开文件 3.执行命令otool -arch arm64 -l ./QQStock  | grep -B 1 -A 10 "LC_SEGM" | gr ...

  8. JSON学习笔记-4

    JSON 数组 1.访问数组 1.一次访问一个嵌套内容值var myObj, x; myObj = { "name":"网站", , "sites&q ...

  9. Django 开启显示查询语句log

    # 下面语句加到setti中 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console': ...

  10. CCSUOJ评测系统——第一次scrum冲刺

    1.第一次冲刺任务安排 对Github上的HUSTOJ开源项目进行Fork,搭建基本环境 2.用户需求 ①基本功能显示在首页 ②能够提交题目并判题,并对自己所提交的题目正确性进行反馈,能够查看自己提交 ...