使用Python操作MySQL的小技巧

 更新时间:2020年09月10日 14:44:15   作者:新码农  
这篇文章主要介绍了使用Python操作MySQL的小技巧,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下

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的资料请关注脚本之家其它相关文章!

相关文章

  • 使用Python的Turtle绘制哆啦A梦实例

    使用Python的Turtle绘制哆啦A梦实例

    今天小编就为大家分享一篇使用Python的Turtle绘制哆啦A梦实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python使用matplotlib绘制动画的方法

    Python使用matplotlib绘制动画的方法

    这篇文章主要介绍了Python使用matplotlib绘制动画的方法,涉及matplotlib模块的常见使用技巧,需要的朋友可以参考下
    2015-05-05
  • 基于Python实现温度转换程序

    基于Python实现温度转换程序

    这篇文章主要为大家详细介绍了如何基于Python实现简单的温度转换程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • python sys.argv[]用法实例详解

    python sys.argv[]用法实例详解

    sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,下面通过实例给大家介绍python sys.argv[]用法,感兴趣的朋友一起看看吧
    2018-05-05
  • 基于Python的PIL库学习详解

    基于Python的PIL库学习详解

    这篇文章主要介绍了基于Python的PIL库学习详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • pandas读取Excel批量转换时间戳的实践

    pandas读取Excel批量转换时间戳的实践

    本文主要介绍了pandas读取Excel批量转换时间戳的实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Python中py文件引用另一个py文件变量的方法

    Python中py文件引用另一个py文件变量的方法

    下面小编就为大家分享一篇Python中py文件引用另一个py文件变量的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • pycharm自定义TODO类注释以及高亮颜色的设置方法

    pycharm自定义TODO类注释以及高亮颜色的设置方法

    这篇文章主要介绍了pycharm自定义TODO类注释以及高亮颜色的设置方法,文中通过图文结合的方式给大家介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-03-03
  • Python的string模块中的Template类字符串模板用法

    Python的string模块中的Template类字符串模板用法

    通过string.Template我们可以为Python定制字符串的替换标准,这里我们就来通过示例解析Python的string模块中的Template类字符串模板用法:
    2016-06-06
  • python实现单张图像拼接与批量图片拼接

    python实现单张图像拼接与批量图片拼接

    这篇文章主要为大家详细介绍了python实现单张图像拼接与批量图片拼接,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03

最新评论