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其它相关文章!

菜鸟教程python3 mysql_python基础教程使用Python操作MySQL的小技巧相关推荐

  1. 菜鸟教程python3 mysql_Python 操作 MySQL 数据库

    Python 操作 MySQL 数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的 ...

  2. app自动化测试appium教程之三——appium基础命令(python)

    app自动化测试教程之三--appium基础命令(python) hello appium 基础操作API 教学视频参考b站课程,此文为学习记录 (免费的羊毛,要薅呀,筒子们~) 零基础入门移动自动化 ...

  3. 【精】合集 zbrush 10种风格女性角色建模 新手教程,zbrush基础教程 案例讲解

    [精]合集 zbrush女性角色建模 新手教程,zbrush基础教程 案例讲解 这里是游戏模型爱好者的聚集地, [戳我立即进入]企鹅建模圈子,提供3Dmax.Zbrush.Maya.次时代等游戏建模软 ...

  4. Python操作Mysql实例代码教程在线版(查询手册)_python

    实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding ...

  5. Python操作Mysql实例代码教程(查询手册)

    2019独角兽企业重金招聘Python工程师标准>>> 本文介绍了Python操作MYSQL.执行SQL语句.获取结果集.遍历结果集.取得某个字段.获取表字段名.将图片插入数据库.执 ...

  6. python进阶与数据操控_零基础机器学习Python进阶:Python操作MySql

    阅读文本大概需要 6 分钟 前言 基础写了十篇,以后会继续更,这是第二篇进阶,文末会放上链接,进阶分成另一个系列,柠檬有时间会整理好菜单栏让大家更方便的阅读基础和进阶,柠檬会把自己在当时做的项目写到进 ...

  7. imooc的疯狂的蚂蚁的课程《Python操作MySQL数据库》 python3+pymysql模块来操作mysql数据库

    以下代码为imooc的疯狂的蚂蚁的课程<Python操作MySQL数据库>的python3版本的代码,使用的是pymysql模块来操作mysql数据库,代码与原课程有所改动,注意运行时需要 ...

  8. python 天气预报 mysql_python + docker, 实现天气数据 从FTP获取以及持久化(二)-- python操作MySQL数据库...

    前言 在这一节中,我们主要介绍如何使用python操作MySQL数据库. 准备 MySQL数据库使用的是上一节中的docker容器 "test-mysql". Python 操作 ...

  9. python豆瓣mysql_python爬虫获取豆瓣电影——Python操作MySQL存储数据

    30 May 2015 爬虫抓到的数据需要存储到MySQL中,所以我们需要熟悉下使用Python操作MySQL数据库.首先你的机器上要安装MySQLdb,MySQLdb是用于Python连接Mysql ...

最新文章

  1. Azure运维系列10:跨订阅迁移ARM虚拟机
  2. php 将图片截取成3张,【php】php gd库怎么把一个图片裁剪成圆形的
  3. Sql Server 2005 存储过程分页
  4. 【动态规划】【图论】[NOIP模拟赛]独立集
  5. ft2232驱动安装方法_ST-Link资料03_ST-Link固件升级、驱动下载安装方法
  6. Android特效 五种Toast详解
  7. play 连接mysql_Play framework 2.x 连接mysql | 学步园
  8. [HAOI2016]食物链
  9. 生成的数据库脚本没有注释?
  10. Java 内存 关系_发生在Java内存模型中的关系之前
  11. 如何使用jQuery设置输入文本的值
  12. C#winform省市县联动,以及有的县是空值时显示异常的处理
  13. 蜘蛛日志分析工具_如何分析网站日志 - 360蜘蛛池
  14. 数据库课程设计 论坛系统—— 系统详细设计说明书
  15. 工科数学分析之数学感悟
  16. 高中计算机绘画教,高中美术电脑绘画教案.doc
  17. Android 接入穿山甲SDK之Banner广告
  18. EditText的getText()方法
  19. Java、JSP外卖订餐系统
  20. 鸢尾花(iris)数据集保存到本地以及sklearn其他数据集下载保存

热门文章

  1. Activity中四大启动模式
  2. Ssm框架实现的学生信息管理系统
  3. 基于JAVA+SpringBoot+Mybatis+MYSQL的停车场管理系统
  4. Django学习之十: staticfile 静态文件
  5. 从Windows复制文件到Linux显示乱码问题
  6. 提升自己逼格的编程之美之代码规范
  7. ccpc中国大学生首届程序设计竞赛
  8. CSerialPort串口类最新修正版(解决关闭死锁问题)
  9. [置顶] Oracle 11.2.0.3.0 Active Data Guard 遇 ORA-10458、ORA-01152、ORA-01110 错误
  10. linux内核I2C体系结构(注意结构体原型)