使用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. 【杂谈】从CGI到Servlet

    访问服务器的静态页面 每个Web服务器都运行着一个HTTP服务软件,用于响应web浏览器的请求,返回客户想要的页面.HTTP服务器都会有一个文件夹用于放置相关的页面文件,默认是  /user/loca ...

  2. python的Web框架:Django路由系统以及模板导入

    Django的路由系统 当一个请求来到时 当一个请求来到时 1.首先到项目目录下的urls.py(根URLconf模块)中,查找路由规则: 2.根URELcof模块,里面定义了 urlpatterns ...

  3. 在Java8的foreach()中不能break,如果需要continue时,可以使用return

    今天使用lambda表达式处理集合时,发现对return.break以及continue的使用有点迷惑,于是自己动手测试了一下,才发现在使用foreach()处理集合时不能使用break和contin ...

  4. 写个OAuth2.0的请求端来测试自己的OAuth2.0服务端(二)

    在上一篇文章中,我们介绍了怎么创建自己的服务器,现在我们开始写个client端,来测试. 我们创建一个MVC项目,叫TestOAuthClient 1. 代码开始 1)第一步,我们创建一个MainCo ...

  5. jQuery实现两个DropDownList联动(MVC)

    近段时间原本是学习MVC的,谁知道把jQuery也学上了.而且觉得对jQuery更感兴趣,比如今早上有写了一个练习<jQuery实现DropDownList(MVC)>http://www ...

  6. VS2010 的 HTML 5验证

    前言 VS2010的HTML验证中,没有我们的HTML 5,网上我看到使用vs2010 sp1补丁的方法,但是我的安装不了,后来发现下面的方法,让你的vs2010具有html5的验证功能. 下载这个文 ...

  7. JS DOM 操作 项目总结 【超链接】【数列】【span】

      超链接   每次定义链接样式时务必确认定义的顺序,link--visited--hover-active,也就是我们常说到的LoVe HAte原则(大写字母就是它们的首字母). “爱恨原则”(Lo ...

  8. C# serialPort的DataReceived事件无法触发 ,用的霍尼韦尔的扫码枪并且装了相应的USB转串口驱动。

    昨天想试试霍尼韦尔的扫码枪,扫码枪有两种模式,键盘模式和串口模式, 1.键盘模式直接插上就行了,就像一个键盘一样不需要任何驱动,扫出来的数据直接落到PC的输入焦点上.就像一个键盘一样,只能输入字符. ...

  9. java中那些类是线程安全的?

    Java中各种集合(字符串类)的线程安全性!!! 一.概念: 线程安全:就是当多线程访问时,采用了加锁的机制:即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读 ...

  10. Java - ArrayList源码分析

    java提高篇(二一)-----ArrayList 一.ArrayList概述 ArrayList是实现List接口的动态数组,所谓动态就是它的大小是可变的.实现了所有可选列表操作,并允许包括 nul ...