python下操作mysql 之 pymsql
python下操作mysql 之 pymsql
pymsql是Python中操作MySQL的模块,
下载安装:
- pip3 install pymysql
使用操作
1, 执行SQL
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- import pymysql
- # 创建连接
- conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='t1')
- # 创建游标
- cursor = conn.cursor()
- # 执行SQL,并返回收影响行数
- effect_row = cursor.execute("update hosts set host = '1.1.1.2'")
- # 执行SQL,并返回受影响行数
- #effect_row = cursor.execute("update hosts set host = '1.1.1.2' where nid > %s", (1,))
- # 执行SQL,并返回受影响行数
- #effect_row = cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])
- # 提交,不然无法保存新建或者修改的数据
- conn.commit()
- # 关闭游标
- cursor.close()
- # 关闭连接
- conn.close()
2, 获取新创建数据自增ID
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- import pymysql
- conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='t1')
- cursor = conn.cursor()
- cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])
- conn.commit()
- cursor.close()
- conn.close()
- # 获取最新自增ID
- new_id = cursor.lastrowid
3, 获取查询数据
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- import pymysql
- conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='t1')
- cursor = conn.cursor()
- cursor.execute("select * from hosts")
- # 获取第一行数据
- row_1 = cursor.fetchone()
- # 获取前n行数据
- # row_2 = cursor.fetchmany(3)
- # 获取所有数据
- # row_3 = cursor.fetchall()
- conn.commit()
- cursor.close()
- conn.close()
注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:
- cursor.scroll(1,mode='relative') # 相对当前位置移动
- cursor.scroll(2,mode='absolute') # 相对绝对位置移动
4, fetch 数据类型
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- import pymysql
- conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='t1')
- # 游标设置为字典类型
- cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
- r = cursor.execute("call p1()")
- result = cursor.fetchone()
- conn.commit()
- cursor.close()
- conn.close()
5,input 下执行
- import pymysql
- username = input('请输入用户名:')
- pwd = input('请输入密码:')
- # 1.连接
- conn = pymysql.connect(host='localhost', port=3306, user='root', password='', db='db8', charset='utf8')
- # 2.创建游标
- cursor = conn.cursor()
- # 操作
- # 增
- # sql = "insert into userinfo(username,pwd) values (%s,%s)"
- # effect_row = cursor.execute(sql,(username,pwd))
- #同时插入多条数据
- #cursor.executemany(sql,[('李四','110'),('王五','119')])
- # print(effect_row)#
- # 改
- # sql = "update userinfo set username = %s where id = 2"
- # effect_row = cursor.execute(sql,username)
- # print(effect_row)
- # 删
- sql = "delete from userinfo where id = 2"
- effect_row = cursor.execute(sql)
- print(effect_row)
- #一定记得commit
- conn.commit()
- # 4.关闭游标
- cursor.close()
- # 5.关闭连接
- conn.close()
python下操作mysql 之 pymsql的更多相关文章
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- (转)Python中操作mysql的pymysql模块详解
原文:https://www.cnblogs.com/wt11/p/6141225.html https://shockerli.net/post/python3-pymysql/----Python ...
- python数据库操作 - MySQL入门【转】
python数据库操作 - MySQL入门 python学院 2017-02-05 16:22 PyMySQL是Python中操作MySQL的模块,和之前使用的MySQLdb模块基本功能一致,PyMy ...
- day06 python代码操作MySQL
day06 python代码操作MySQL 今日内容 python代码操作MySQL 基于python与MySQL实现用户注册登录 python操作MySQL python 胶水语言.调包侠(贬义词& ...
- python 之操作mysql 数据库实例
对于python操作mysql 数据库,具体的步骤应为: 1. 连接上mysql host 端口号 数据库 账号 密码2. 建立游标3. 执行sql(注意,如果是update,insert,delet ...
- python之操作mysql(一)
使用python操作mysql的思路: 1. 连接数据库:ip,端口号,密码,账号,数据库 2. 建立游标 3.执行sql语句 4.获取执行结果 5.关闭游标,关闭连接 conn = pymysql. ...
- linux shell命令行下操作mysql 删除mysql指定数据库下的所有表--亲测成功百分百测试通过--绝对可靠
1,在shell提示符下查看mysql指定数据库下的表等数据
- python下对mysql数据库的链接操作
参考网址: https://blog.csdn.net/guofeng93/article/details/53994112 https://blog.csdn.net/Chen_Eris/artic ...
- python 安装操作 MySQL 数据库.
以ubuntu和mysql为例 检查自己的机器上面有没有安装数据库 xpower@xpower-CW65S:~$ sudo service mysql start [sudo] xpower 的密码: ...
随机推荐
- network adapter
1 network adapter 网络适配器,也叫网卡,是一个硬件. 2 关于以太网卡 以太网卡分为光纤以太网卡和电口以太网卡. 3 常用的以太网卡 3.1 AMD PCNet PCI II (Am ...
- 浅析js的函数的按值传递参数
js的函数传参的方式是按值传递,正常情况下,改变函数参数的值,并不会对函数外部的变量造成影响.例如: 'use strict';var list = [1, 2, 3]; list.forEach(f ...
- Batch基本知识
一般情况下,每条命令占据一行: 当然也可以将多条命令用特定符号(如:&:.&&:.|.||等)分隔后写入同一行中: 还有的情况就是像if.for等较高级的命令则要占据几行.几十 ...
- 转 美制电线标准AWG与公制、英制单位对照
在以太网和xDSL接入网设计中,经常会碰到诸如24AWG.26AWG等等表示电缆直径的方法.其实AWG(American Wire Gauge)是美制电线标准的简称,AWG值是导线厚度(以英寸计)的函 ...
- 在datagrid中的toolbar添加输入框
转自:https://blog.csdn.net/u013178480/article/details/72358551 <code class="language-html" ...
- PCB 规则引擎之编辑器(语法着色,错误提示,代码格式化)
对于一个规则引擎中的脚本代码编辑器是非常关键的,因为UI控件直接使用对象是规则维护者,关系到用户体验,在选用脚本编辑器的功能时除了满足代码的编辑的基本编辑要求外,功能还需要包含;语法着色,错误提示,代 ...
- 一个thinkphhp的聊天类,感觉还可以
<?phpnamespace Common\Controller;use Think\Controller;class HxController extends Controller{ /** ...
- [Swift通天遁地]八、媒体与动画-(3)实现视频播放的水印、Overlay、暂停时插入广告等效果
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- easyui- comobo 详细讲解
具体代码实现 @{ ViewBag.Title = "人员查找"; ViewBag.LeftWidth = "200px"; ViewBag. ...
- UNIX环境高级编程--3
文件IO 函数lseek: 每个打开文件都有一个与其相关联的“当前文件偏移量”,用来度量从文件开始处计算的字节数.除非指定O_APPEND选项,否则该偏移量被置为0.如果文件描述符指向的是一个管道.F ...