使用Python操作MySQL的小技巧

2023-11-03

更多编程教程请到:菜鸟教程 https://www.piaodoo.com/

友情链接:好看站 http://www.nrso.net/

高州阳光论坛https://www.hnthzk.com/

1、获取插入数据的主键id

import pymysql

database = pymysql.connect(
host=“127.0.0.1”, port=3306, user=“root”, password=“root”, database=“test”
)
cursor = database.cursor()

for i in range(5):
cursor.execute(‘insert into test (name) values (“test”)’)
print(database.insert_id())
database.commit()

cursor.close()
database.close()

通过db.insert_id()方法可以获取插入数据的主键id, 注意一定要在commit之前获取,否则返回0。

2、创建时间、更新时间

DEFAULT CURRENT_TIMESTAMP
--表示当插入数据的时候,该字段默认值为当前时间

ON UPDATE CURRENT_TIMESTAMP
–表示每次更新这条数据的时候,该字段都会更新成当前时间

这两个操作是mysql数据库本身在维护,可以根据这个特性来生成【创建时间】和【更新时间】两个字段,且不需要代码来维护。

CREATE TABLE `test` (
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3、Python插入数据库时字符串中含有单引号或双引号报错

可以使用 pymysql.escape_string() 转换

if type(str_content) is str:
  str_content = pymysql.escape_string(str_content)

4、获取单个表的字段名和信息的方法

import MySQLdb as mdb
import sys
#获取数据库的链接对象
con = mdb.connect('localhost', 'root', 'root', 'test')
with con:
#获取普通的查询 cursor
cur = con.cursor()
cur.execute("SELECT * FROM Writers")
rows = cur.fetchall()
#获取连接对象的描述信息
desc = cur.description
print 'cur.description:',desc
#打印表头,就是字段名字
print "%s %3s" % (desc[0][0], desc[1][0])
for row in rows:
#打印结果
print "%2s %3s" % row

5、从数据库中把图片读出来

import MySQLdb as mdb
import sys
try:
#连接 mysql,获取连接的对象
conn = mdb.connect('localhost', 'root', 'root', 'test');
cursor = conn.cursor()
#执行查询该图片字段的 SQL
cursor.execute("SELECT Data FROM Images LIMIT 1")
#使用二进制写文件的方法,打开一个图片文件,若不存在则自动创建
fout = open('image.png','wb')
#直接将数据如文件
fout.write(cursor.fetchone()[0])
#关闭写入的文件
fout.close()
#释放查询数据的资源
cursor.close()
conn.close()
except IOError, e:
#捕获 IO 的异常 ,主要是文件写入会发生错误
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)

以上就是使用Python操作MySQL的小技巧的详细内容,更多关于python 操作MySQL的资料请关注菜鸟教程www.piaodoo.com其它相关文章!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Python操作MySQL的小技巧 的相关文章

  • 面试官,我已经掌握了MyBits,你看我还有机会吗?

    一 MyBatis 面试题 1 什么是 Mybatis 2 Mybaits 的优点 3 MyBatis 框架的缺点 4 MyBatis 框架适用场合 5 MyBatis 与 Hibernate 有哪些不同 6 和 的区别是什么 7 当实体类
  • Docker - 国内镜像的配置及使用

    开发十年 就只剩下这套Java开发体系了 gt gt gt Docker国内镜像 DaoCloud Docker加速器阿里云 开发者平台 微镜像 希云cSphere镜像广场 时速云灵雀云网易蜂巢 阿里云的Docker加速器 阿里云 开发者平
  • 对老赵写的简单性能计数器的修改

    对老赵写的简单性能计数器的修改 早上看到老赵写的这个性能计数器 感觉很实用 不过老赵用了很多 C 3 0 的新语法 还用了 VISTA 和 Server 2008 下特有的Win32 API 对于还在用C 2 0 或者还工作在 XP 或者
  • nginx启动只有master没有worker_探究Nginx的工作原理,才知道为什么这么高效!

    1 Nginx的模块 Nginx的模块从结构上分为核心模块 基础模块和第三方模块 核心模块 HTTP模块 EVENT模块和MAIL模块 基础模块 HTTP Access模块 HTTP FastCGI模块 HTTP Proxy模块和HTTP
  • 平面设计除了PS还有哪些工具推荐

    平面设计在我们的日常生活中无处不在 无论是传统媒体还是网络媒体 我们每天都会沉浸在大量的平面设计作品中 因此 我们或多或少会对设计有自己的看法 其实 即使是非专业人士 市场上也有很多平面设计软件 本文盘点了平面设计的五大软件 1 即时设计
  • Android 6.0 解决recyclerview 在 scrollview 中不能全部显示,高度不正常的问题。

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 这个问题困扰了我半天 国内百度上的资料非常的烂 根本无法解决问题 在android 4 5 版本中 scrollview 包含了一个recyclerview 滚动一切正常
  • 教你使用windeployqt工具来进行Qt的打包发布

    Qt 官方开发环境使用的动态链接库方式 在发布生成的exe程序时 需要复制一大堆 dll 如果自己去复制dll 很可能丢三落四 导致exe在别的电脑里无法正常运行 因此 Qt 官方开发环境里自带了一个工具 windeployqt exe 问
  • ARM64基础14:ARM64的中断处理之GIC400实现(以树莓派4采用的BCM2711芯片为例)

    接上篇 ARM64基础13 ARM64的异常处理之中断处理 以树莓派4采用的BCM2711芯片为例 1 GIC的诞生背景 传统中断控制器 比如树莓派4b的legacy interrupt controller 具备 中断enable寄存器
  • osgEarth+VS2015开发环境搭建

    前言 osgEarth是基于OpenSceneGraph OSG 实现的3DGIS引擎 而OSG是一个开源的三维实时场景图形开发框架 学习osgEarth之前最好先学习下OSG 这是OSG官网有很多学习资料可以参考 osgEarth同时支持
  • STM32CubeMX官网下载方法

    目录 CubeMX下载 芯片包下载 和CubeIDE区别 CubeMX下载 主要是对下载链接做个记录 不再从打开百度 搜索ST这样一步步记录 点击STM32CubeMX STM32Cube initialization code gener
  • 共识算法 PBFT浅析

    PBFT是PracticalByzantine Fault Tolerance的缩写 意为实用拜占庭容错算法 该算法是Miguel Castro 卡斯特罗 和Barbara Liskov 利斯科夫 在1999年提出来的 解决了原始拜占庭容错
  • 百度深度强化学习框架PARL技术学习笔记

    目录 前言 寄语 基础准备和预习 第一节课 玩个简单的迷宫游戏吧 第二节课 基于表格型方法求解RL 1 SARSA算法 2 Q Learning算法 第三节课 基于神经网络求解RL 第三节课 基于策略梯度求解RL 第四节课 连续动作空间上求
  • 前端开发工程师面试最常见问题(20题&附答案)

    目录 1 在制作一个Web应用或Web站点的过程中 你是如何考虑它的UI 安全性 高性能 SEO 可维护性以及技术因素的 2 谈谈你喜欢的开发环境 例如操作系统 编辑器 浏览器 工具等等 3 你最熟悉哪一套版本控制系统 4 描述一下当你制作
  • 全链接神经网络python简单实现

    什么是全链接神经网络 full connected FC 借用此图来直观的表示一下 规则如下 神经元按照层来布局 最左边的层叫做输入层 负责接收输入数据 最右边的层叫输出层 我们可以从这层获取神经网络输出数据 输入层和输出层之间的层叫做隐藏
  • linux新版本io框架 io_uring

    从别的博主那copy过来 1 io uring是Linux内核的一个新型I O事件通知机制 具有以下特点 高性能 相比传统的select poll epoll等I O多路复用机制 io uring采用了更高效的ring buffer实现方式
  • Qt关于tabWidget中tab样式的重绘

    Qt关于tabWidget中tab样式的重绘 版本说明 版本 作者 日期 备注 0 1 loon 2018 12 29 初稿 目录 文章目录 Qt关于tabWidget中tab样式的重绘 版本说明 目录 一 需求分析 二 最终效果展示 三
  • windows操作系统上启用SSLv3协议引发的威胁

    一 主机启用SSLv3协议引发的威胁 远程主机受到称为POODLE的中间人 MitM 信息泄露漏洞的影响 该漏洞是由于SSL 3 0在解密使用密码块链接 CBC 模式下的块密码加密的消息时处理填充字节的方式 二 建议处置措施 处置措施 禁用
  • Qt应用开发(基础篇)——字体选择器 QFontDialog

    一 前言 QFontDialog类继承于QDialog 是一个设计用来选择字体的对话框部件 对话框窗口QDialog QFontDialog字体选择对话框 设计用来让用户选择某一种字体 一般用于文本编辑窗口 标签显示和一些需要文本输入的场景
  • 第七篇 图像分类的评价指标

    文章目录 摘要 1 混淆矩阵 2 准确率 Accuracy 3 精确率 Precision 4 召回率 Recall 5 F1 score 6 代码样例 摘要 一般情况来说 单一评分标准无法完全评估一个机器学习模型 只用good和bad偏离
  • IDEA调试时的步入(step into)进不去源码怎么办

    文件 gt 设置 gt 构建 执行 部署 gt 调试器 gt 步进 gt 把java 和javax 取消勾选即可

随机推荐

  • 第十节 挂载NFS 网络文件系统

    本章节将介绍如何挂载NFS 网络文件系统 为后面的主机编译生成的ARM Linux 应用传输到开发板做准备 网络文件系统简介 网络文件系统 常被称为NFS Network File System 它是一种非常便捷的在服务器与客户端通过网络共
  • 使用android studio环境新建一个工程——helloworld

    几个月没有学习Android了 今天想研究研究Android与硬件通信 结果都快忘记如何新建一个新的工程了 因此 给自己写一个博客 算作我的备忘录吧 其实很简单 步骤如下 1 需要之前把android studio先部署正确了 能保证正常运
  • Java从入门到实战总结-1.1、Java基础之环境搭建和eclipse安装

    Java从入门到实战总结 1 1 Java基础之环境搭建和eclipse安装 文章目录 Java从入门到实战总结 1 1 Java基础之环境搭建和eclipse安装 1 Hello Java 1 1 Java起源 1 2 Java演变 2
  • MTK9612方案电视STR开机后屏黑有声的问题分析

    问题描述 客户反馈问题 机顶盒连接tv tv str 关机 机顶盒一直开着 过了几个小时 一次 或者第二天过来 一次 str开机 出现tv 黑屏 抓取分析log 考虑到开了ac logleve 7后比较难复制问题 麻烦这样操作 开机停到mb
  • 如何设置网页标签的LOGO

    问题描述 我们打开很多页面都会发现浏览器标签上有LOGO 那么我们该怎么样给自己的网站也设置一个酷炫的LOGO呢 解决办法 1 首先取一张图片 打开 http www bitbug net 或者百度 搜索ico图标制作 制作成16 16px
  • 求二叉树第K层节点的个数

    题目 求二叉树第k层节点的个数 思路 1 递归 求根为root的二叉树第k层节点的个数 就是要求 root left第k 1层节点的个数 root right第k 1层节点的个数 public static int getNumberOfK
  • Idea中使用Tomcat部署并启动Web项目

    首先在Idea中选择编辑运行配置 如下图 左上角的 号 选择Tomcat服务 如下图 自定义服务名称和项目在浏览器的访问路径 配置Tomcat服务器路径 如下图 然后在服务器中部署项目 下面的警告提示 Warning No artifact
  • 深度学习(五)caffe环境搭建

    ubuntu 系统下的Caffe环境搭建 原文地址 http blog csdn net hjimce article details 48781693 作者 hjimce 对于caffe的系统一般使用linux系统 当然也有windows
  • 运算放大器基本参数-增益带宽积(直观解释)

    运算放大器在理想情况下增益为无限大 但是在显示生活中其增益是有限的 增益带宽积指的就是运放的增益和其带宽的乘积 对于一个运放来说这个参数为一个常数 也就意味着增益和带宽成反比 下图通过直观的实验来验证 上图为输入1kHz时输入与输出的波形
  • Proxyee Down简介

    以前写过一篇用Proxyee下载百度网盘大文件的文章 后来一直没在用过 现在发现Proxyee出了新版 功能也增加了 所以重新来介绍一下 现在它的Github地址也变了 现在的地址是 https github com proxyee dow
  • myeclipse中No entries available错误解决方法

    在hibernate中 每个数据表对应的其实是一个实体类 每个实体类有一个对应的hbm xml配置文件和你匹配 myeclipse中有个MyEclipse Database Explorer视图 它提供了myeclipse与数据库直接连接的
  • C++多态理解与认识

    1 什么是多态 多态是指函数调用的多种形态 使我们调用函数更加灵活 多态分为静态多态与动态多态 1 静态多态 静态多态指的是编译时的多态 通过函数重载实现 根据函数命名规则找到函数地址 从而实现调用不同的方法 2 动态多态 运行时 父类指针
  • DVWA-XSS 级别通关详解(图文详细)

    目录 DVWA XSS 级别通关详解 low级别 1 反射性xss 2 存储型xss 3 DOM型xss Medium级别 1 反射型xss 2 存储型xss 3 DOM型xss hight级别 1 反射型xss 2 存储型xss 3 DO
  • 一文搞懂基于用户的协同过滤推荐算法

    本文针对无上下文信息的隐性反馈数据集 每一条行为记录仅仅包含用户ID和物品ID 介绍基于用户的协同过滤算法原理 基于用户的协同过滤推荐算法本质 找到和待推荐用户相似的用户群 推进该用户群感兴趣且待推荐用户没购买过的物品 例如下图中 用户a购
  • java基础

    一 java环境的搭建 搭建Java环境的步骤如下 1 下载Java Development Kit JDK 可以从Oracle官方网站或者其他可靠的网站下载适用于您的操作系统的JDK版本 OpenJDK JDK Updates Proje
  • Linux运维相关命令(不定时更新)

    日志 查找 查看最近n行 gt gt gt tail n 100 filename 查找包含字符 a 的行 gt gt gt grep a filename 修改 删除包含字符 a 的行 gt gt gt sed i e a d filen
  • 求职经历,三轮技术面 +HR 面,面试也不过如此

    众所周知 阿里主要以 Java 为主 因此我投递的职位是 Java 高级 资深开发 我当时是在 Boss 直聘 App 上看到的职位 下图是当时的职位招聘信息 面试过程中注意策略 我求职的阿里的 Java 技术岗位一共有三轮技术面试和一轮
  • Python time和datetime时间戳和时间字符串相互转换

    Python time和datetime时间戳和时间字符串相互转换 时间戳是指格林威治时间1970年01月01日00时00分00秒开始计算所经过的秒数 是一个浮点数 time和datetime都是Python中的内置模块 不需要安装 直接可
  • golang 自定义命令行flag包简单使用

    一 为什么需要使用golang自定义命令行 不恰当的比喻 当我们写了一个服务代码后 按照简单的思维 我们会在业务代码中将要连接的数据库 用户名 主机名 端口号 密码写死 那么也就意味着我们启动该服务后都只能固定连接某一个数据库 而如果我们将
  • 使用Python操作MySQL的小技巧

    更多编程教程请到 菜鸟教程 https www piaodoo com 友情链接 好看站 http www nrso net 高州阳光论坛https www hnthzk com 1 获取插入数据的主键id import pymysql d