使用pymysql连接mysql

安装pymysql

pymysql安装可以通过两种方式

使用pip安装

首先简单说一下pip的使用方法

获取帮助
pip --help
升级 pip
pip install -U pip
安装包
pip install SomePackage
卸载包
pip uninstall SomePackage
升级指定的包
pip install -U SomePackage
搜索包
pip search SomePackage
查看指定包的详细信息
pip show -f SomePackage
列出已安装的包
pip freeze or pip list
查看可升级的包
pip list -o

所以安装pymysql只需要在cmd中执行pip install pymysql就可以了。

在pycharm中安装

依次点击[File] >> [settings] >> [Project: python] >> [Project Interpreter] >>+
之后搜索pymysql点击安装。

连接mysql

conn=pymysql.connect(host="127.0.0.1",port=3306,user="root",passwd="000000",db="db1",charset="utf8")

执行sql语句

cursor = conn.cursor()创建游标
effect_row = cursor.execute("sql语句") #返回的是受影响的行数
effect_row = cursor.execute("select * from tb1 where id = %s", (15,)) #使用通配符
effect_row = cursor.executemany("insert into tb1(id,name)values(%s,%s)", [(16,"sfencs"),(17,"Tom")])#插入多条数据
conn.commit()#执行有关改变数据库内容的操作后需要加上,相当于提交数据

获取相关数据

new_id = cursor.lastrowid#插入语句执行后吗,获得该语句的自增id
row_1 = cursor.fetchone()#查询语句执行后,获取第一行数据,获取的数据是元组类型
row_n = cursor.fetchmany(n)#获取前n行数据((1, 'sfencs'), (2, 'tom'))
row_all = cursor.fetchall()#获取所有查询到的数据

其他

移动游标

通过移动游标来fetch想要的数据

cursor.scroll(1,mode='relative') # 相对当前位置移动
cursor.scroll(2,mode='absolute') # 相对绝对位置移动
改变fetch获得的数据类型

默认是以元组形式获得,但也可以改变为字典形式

cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)#获得游标
cursor.execute("select * from tb1")
row_all = cursor.fetchall()#[{'id': 1, 'name': 'sfencs'}, {'id': 2, 'name': 'tom'}, {'id': 3, 'name': 'Jerry'}]

关闭连接

# 关闭游标
cursor.close()
# 关闭连接
conn.close()

python基础学习24----使用pymysql连接mysql的更多相关文章

  1. R基础学习(一)-- 连接mysql数据库

    测试环境:win10+RStudio (1)在Console加载两个插件 >install.packages('DBI') Installing package into ‘C:/Users/l ...

  2. Python 3.2: 使用pymysql连接Mysql

    在python 3.2 中连接MYSQL的方式有很多种,例如使用mysqldb,pymysql.本文主要介绍使用Pymysql连接MYSQL的步骤 1        安装pymysql ·       ...

  3. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  4. Python3中使用PyMySQL连接Mysql

    Python3中使用PyMySQL连接Mysql 在Python2中连接Mysql数据库用的是MySQLdb,在Python3中连接Mysql数据库用的是PyMySQL,因为MySQLdb不支持Pyt ...

  5. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  6. Python3.x使用PyMysql连接MySQL数据库

    Python3.x使用PyMysql连接MySQL数据库 由于Python3.x不向前兼容,导致Python2.x中的很多库在Python3.x中无法使用,例如Mysqldb,我前几天写了一篇博客Py ...

  7. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  8. Python 基础学习 总结篇

    Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...

  9. Python3.x:使用PyMysql连接Mysql数据库

    Python3.x:使用PyMysql连接Mysql数据库 Python3.x完全不向前兼容,导致Python2.x中可以正常使用的库,到了Python3就用不了: 比如说mysqldb,目前MySQ ...

随机推荐

  1. sql的存储过程实例--循环动态创建表

    创建一个存储过程,动态添加100张track表表名track_0 ~~ track_99注:sql的拼接只能用 CONCAT()函数 -- 创建一个存储过程 CREATE PROCEDURE crea ...

  2. java实现跳跃表

    先贴上一个MIT跳跃表公开课链接:http://open.163.com/movie/2010/12/7/S/M6UTT5U0I_M6V2TTJ7S.html redis中的有序链表结构就是在跳跃表的 ...

  3. little eye 精简版

    https://github.com/salomon1184/PerfMan/ 代码没整理,特乱 来源于一次聊天,一天半做完,考虑继续深做

  4. superset----缓存之redis

    一.概述 Superset使用Flask-Cache进行缓存,Flask-Cache支持redis,memcached,simplecache(内存),或本地文件系统)等缓存后端,如果你打算使用mem ...

  5. 页面出现Incorrect string以及数据库内容乱码

    我在制作 (www.helpqy.com) 的时候遇到了页面报错Incorrect string的问题,我使用的是mysql,数据表中有很多中文内容,最后发现在安装mysql的时候需要选择defaul ...

  6. 【LeetCode题解】225_用队列实现栈(Implement-Stack-using-Queues)

    目录 描述 解法一:双队列,入快出慢 思路 入栈(push) 出栈(pop) 查看栈顶元素(peek) 是否为空(empty) Java 实现 Python 实现 解法二:双队列,入慢出快 思路 入栈 ...

  7. How to describe the wind sprial in computer system?

    How to describe the wind sprial in computer system? 2017-02-21 刘崇军 风螺旋线 If we want get the approval ...

  8. .17-浅析webpack源码之compile流程-入口函数run

    本节流程如图: 现在正式进入打包流程,起步方法为run: Compiler.prototype.run = (callback) => { const startTime = Date.now( ...

  9. Oracle 图解安装

    1.找到安装exe打开. 2. 3. 4. 5. 6. 7. 8.

  10. Web前端基础——HTML

    一 .HTML 概述 HTML : 超文本标记语言 HyperText markup language <marquee behavior="alternate"> & ...