使用Python操作MySQL的小技巧

这篇文章主要介绍了使用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的资料请关注编程之家其它相关文章

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...