使用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 相关文章推荐
pyside写ui界面入门示例
Jan 22 Python
python对url格式解析的方法
May 13 Python
利用Django提供的ModelForm增删改数据的方法
Jan 06 Python
对python生成业务报表的实例详解
Feb 03 Python
python算法题 链表反转详解
Jul 02 Python
django admin.py 外键,反向查询的实例
Jul 26 Python
Python高级特性之闭包与装饰器实例详解
Nov 19 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
Jan 15 Python
Django调用百度AI接口实现人脸注册登录代码实例
Apr 23 Python
keras 权重保存和权重载入方式
May 21 Python
详解Django的MVT设计模式
Apr 29 Python
python自动计算图像数据集的RGB均值
Jun 18 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
php正则
2006/07/07 PHP
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
2016/03/21 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
2017/06/08 PHP
php压缩文件夹最新版
2018/07/18 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
Javascript 函数中的参数使用分析
2010/03/27 Javascript
js 函数调用模式小结
2011/12/26 Javascript
js实现拖拽 闭包函数详细介绍
2012/11/25 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
jQuery动画特效实例教程
2014/08/29 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
AngualrJS中的Directive制作一个菜单
2016/01/26 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
详解vue项目中实现图片裁剪功能
2019/06/07 Javascript
在SSM框架下用laypage和ajax实现分页和数据交互的方法
2019/09/27 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
jQuery 添加元素和删除元素的方法
2020/07/15 jQuery
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
Python实现识别手写数字 简易图片存储管理系统
2018/01/29 Python
python中subprocess批量执行linux命令
2018/04/27 Python
python获取服务器响应cookie的实例
2018/12/28 Python
通过celery异步处理一个查询任务的完整代码
2019/11/19 Python
基于python实现对文件进行切分行
2020/04/26 Python
HTML5+CSS3实现机器猫
2016/10/17 HTML / CSS
Blank NYC官网:夹克、牛仔裤等
2020/12/16 全球购物
党风廉政承诺书
2014/03/27 职场文书
2015年综治宣传月活动总结
2015/03/25 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python