python下操作mysql  之  pymsql

                              pymsql是Python中操作MySQL的模块,

下载安装:

  1. pip3 install pymysql

使用操作
  1, 执行SQL

  1. #!/usr/bin/env python
  2.  
  3. # -*- coding:utf-8 -*-
  4.  
  5. import pymysql
  6.  
  7. # 创建连接
  8.  
  9. conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='t1')
  10.  
  11. # 创建游标
  12.  
  13. cursor = conn.cursor()
  14.  
  15. # 执行SQL,并返回收影响行数
  16.  
  17. effect_row = cursor.execute("update hosts set host = '1.1.1.2'")
  18.  
  19. # 执行SQL,并返回受影响行数
  20.  
  21. #effect_row = cursor.execute("update hosts set host = '1.1.1.2' where nid > %s", (1,))
  22.  
  23. # 执行SQL,并返回受影响行数
  24.  
  25. #effect_row = cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])
  26.  
  27. # 提交,不然无法保存新建或者修改的数据
  28.  
  29. conn.commit()
  30.  
  31. # 关闭游标
  32.  
  33. cursor.close()
  34.  
  35. # 关闭连接
  36.  
  37. conn.close()

  2, 获取新创建数据自增ID

  1. #!/usr/bin/env python
  2.  
  3. # -*- coding:utf-8 -*-
  4.  
  5. import pymysql
  6.  
  7. conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='t1')
  8.  
  9. cursor = conn.cursor()
  10.  
  11. cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])
  12.  
  13. conn.commit()
  14.  
  15. cursor.close()
  16.  
  17. conn.close()
  18.  
  19. # 获取最新自增ID
  20.  
  21. new_id = cursor.lastrowid

  3, 获取查询数据

  1. #!/usr/bin/env python
  2.  
  3. # -*- coding:utf-8 -*-
  4.  
  5. import pymysql
  6.  
  7. conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='t1')
  8.  
  9. cursor = conn.cursor()
  10.  
  11. cursor.execute("select * from hosts")
  12.  
  13. # 获取第一行数据
  14.  
  15. row_1 = cursor.fetchone()
  16.  
  17. # 获取前n行数据
  18.  
  19. # row_2 = cursor.fetchmany(3)
  20.  
  21. # 获取所有数据
  22.  
  23. # row_3 = cursor.fetchall()
  24.  
  25. conn.commit()
  26.  
  27. cursor.close()
  28.  
  29. conn.close()

  注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:

  • cursor.scroll(1,mode='relative')  # 相对当前位置移动
  • cursor.scroll(2,mode='absolute') # 相对绝对位置移动

  4, fetch 数据类型

  1. #!/usr/bin/env python
  2.  
  3. # -*- coding:utf-8 -*-
  4.  
  5. import pymysql
  6.  
  7. conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='t1')
  8.  
  9. # 游标设置为字典类型
  10.  
  11. cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
  12.  
  13. r = cursor.execute("call p1()")
  14.  
  15. result = cursor.fetchone()
  16.  
  17. conn.commit()
  18.  
  19. cursor.close()
  20.  
  21. conn.close()

  5,input 下执行

  1. import pymysql
  2. username = input('请输入用户名:')
  3.  
  4. pwd = input('请输入密码:')
  5.  
  6. # 1.连接
  7. conn = pymysql.connect(host='localhost', port=3306, user='root', password='', db='db8', charset='utf8')
  8.  
  9. # 2.创建游标
  10. cursor = conn.cursor()
  11.  
  12. # 操作
  13. # 增
  14. # sql = "insert into userinfo(username,pwd) values (%s,%s)"
  15.  
  16. # effect_row = cursor.execute(sql,(username,pwd))
  17. #同时插入多条数据
  18. #cursor.executemany(sql,[('李四','110'),('王五','119')])
  19.  
  20. # print(effect_row)#
  21.  
  22. # 改
  23. # sql = "update userinfo set username = %s where id = 2"
  24. # effect_row = cursor.execute(sql,username)
  25. # print(effect_row)
  26.  
  27. # 删
  28. sql = "delete from userinfo where id = 2"
  29. effect_row = cursor.execute(sql)
  30. print(effect_row)
  31.  
  32. #一定记得commit
  33. conn.commit()
  34.  
  35. # 4.关闭游标
  36. cursor.close()
  37.  
  38. # 5.关闭连接
  39. conn.close()

 

python下操作mysql 之 pymsql的更多相关文章

  1. Python中操作mysql的pymysql模块详解

    Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...

  2. (转)Python中操作mysql的pymysql模块详解

    原文:https://www.cnblogs.com/wt11/p/6141225.html https://shockerli.net/post/python3-pymysql/----Python ...

  3. python数据库操作 - MySQL入门【转】

    python数据库操作 - MySQL入门 python学院 2017-02-05 16:22 PyMySQL是Python中操作MySQL的模块,和之前使用的MySQLdb模块基本功能一致,PyMy ...

  4. day06 python代码操作MySQL

    day06 python代码操作MySQL 今日内容 python代码操作MySQL 基于python与MySQL实现用户注册登录 python操作MySQL python 胶水语言.调包侠(贬义词& ...

  5. python 之操作mysql 数据库实例

    对于python操作mysql 数据库,具体的步骤应为: 1. 连接上mysql host 端口号 数据库 账号 密码2. 建立游标3. 执行sql(注意,如果是update,insert,delet ...

  6. python之操作mysql(一)

    使用python操作mysql的思路: 1. 连接数据库:ip,端口号,密码,账号,数据库 2. 建立游标 3.执行sql语句 4.获取执行结果 5.关闭游标,关闭连接 conn = pymysql. ...

  7. linux shell命令行下操作mysql 删除mysql指定数据库下的所有表--亲测成功百分百测试通过--绝对可靠

    1,在shell提示符下查看mysql指定数据库下的表等数据

  8. python下对mysql数据库的链接操作

    参考网址: https://blog.csdn.net/guofeng93/article/details/53994112 https://blog.csdn.net/Chen_Eris/artic ...

  9. python 安装操作 MySQL 数据库.

    以ubuntu和mysql为例 检查自己的机器上面有没有安装数据库 xpower@xpower-CW65S:~$ sudo service mysql start [sudo] xpower 的密码: ...

随机推荐

  1. network adapter

    1 network adapter 网络适配器,也叫网卡,是一个硬件. 2 关于以太网卡 以太网卡分为光纤以太网卡和电口以太网卡. 3 常用的以太网卡 3.1 AMD PCNet PCI II (Am ...

  2. 浅析js的函数的按值传递参数

    js的函数传参的方式是按值传递,正常情况下,改变函数参数的值,并不会对函数外部的变量造成影响.例如: 'use strict';var list = [1, 2, 3]; list.forEach(f ...

  3. Batch基本知识

    一般情况下,每条命令占据一行: 当然也可以将多条命令用特定符号(如:&:.&&:.|.||等)分隔后写入同一行中: 还有的情况就是像if.for等较高级的命令则要占据几行.几十 ...

  4. 转 美制电线标准AWG与公制、英制单位对照

    在以太网和xDSL接入网设计中,经常会碰到诸如24AWG.26AWG等等表示电缆直径的方法.其实AWG(American Wire Gauge)是美制电线标准的简称,AWG值是导线厚度(以英寸计)的函 ...

  5. 在datagrid中的toolbar添加输入框

    转自:https://blog.csdn.net/u013178480/article/details/72358551 <code class="language-html" ...

  6. PCB 规则引擎之编辑器(语法着色,错误提示,代码格式化)

    对于一个规则引擎中的脚本代码编辑器是非常关键的,因为UI控件直接使用对象是规则维护者,关系到用户体验,在选用脚本编辑器的功能时除了满足代码的编辑的基本编辑要求外,功能还需要包含;语法着色,错误提示,代 ...

  7. 一个thinkphhp的聊天类,感觉还可以

    <?phpnamespace Common\Controller;use Think\Controller;class HxController extends Controller{ /** ...

  8. [Swift通天遁地]八、媒体与动画-(3)实现视频播放的水印、Overlay、暂停时插入广告等效果

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. easyui- comobo 详细讲解

    具体代码实现 @{    ViewBag.Title = "人员查找";    ViewBag.LeftWidth = "200px";    ViewBag. ...

  10. UNIX环境高级编程--3

    文件IO 函数lseek: 每个打开文件都有一个与其相关联的“当前文件偏移量”,用来度量从文件开始处计算的字节数.除非指定O_APPEND选项,否则该偏移量被置为0.如果文件描述符指向的是一个管道.F ...