使用Python操作MySQL的小技巧


Posted in Python onSeptember 10, 2020

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 相关文章推荐
python使用新浪微博api上传图片到微博示例
Jan 10 Python
Python urllib、urllib2、httplib抓取网页代码实例
May 09 Python
Python实现数据库编程方法详解
Jun 09 Python
Python排序搜索基本算法之堆排序实例详解
Dec 08 Python
Python列表生成式与生成器操作示例
Aug 01 Python
Python字符串的全排列算法实例详解
Jan 07 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
Jun 25 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
Jan 10 Python
PyCharm 专业版安装图文教程
Feb 20 Python
Python tcp传输代码实例解析
Mar 18 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
Mar 30 Python
Python进行特征提取的示例代码
Oct 15 Python
python编写实现抽奖器
Sep 10 #Python
Python字符串及文本模式方法详解
Sep 10 #Python
python raise的基本使用
Sep 10 #Python
Python常用数字处理基本操作汇总
Sep 10 #Python
Python通用唯一标识符uuid模块使用案例
Sep 10 #Python
Python编写单元测试代码实例
Sep 10 #Python
python super()函数的基本使用
Sep 10 #Python
You might like
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
DedeCMS dede_channeltype表字段注释
2010/04/07 PHP
使用PHP获取当前url路径的函数以及服务器变量
2013/06/29 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
关于document.cookie的使用javascript
2010/10/29 Javascript
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
2011/03/10 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
js控制table合并具体实现
2014/02/20 Javascript
AngularJS实现表单验证
2015/01/28 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
Vue实现数字输入框中分割手机号码的示例
2017/10/10 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
微信小程序商品详情页的底部弹出框效果
2020/11/16 Javascript
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
[01:12:53]完美世界DOTA2联赛PWL S2 Forest vs SZ 第一场 11.25
2020/11/26 DOTA
Python subprocess模块学习总结
2014/03/13 Python
Python 探针的实现原理
2016/04/23 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
英国品牌男装折扣网站:Brown Bag
2018/03/08 全球购物
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
轻金属冶金专业毕业生自荐信
2013/11/02 职场文书
感恩寄语大全
2014/04/11 职场文书
师范生求职自荐信
2014/06/14 职场文书
社团活动总结格式
2014/08/29 职场文书
入党自传范文2015
2015/06/26 职场文书
反四风问题学习心得体会
2016/01/22 职场文书
浅谈Python数学建模之数据导入
2021/06/23 Python