使用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实现在pickling的时候压缩的方法
Sep 25 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
Jul 25 Python
python贪婪匹配以及多行匹配的实例讲解
Apr 19 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
May 10 Python
Python requests库用法实例详解
Aug 14 Python
PyCharm设置每行最大长度限制的方法
Jan 16 Python
对Python3 pyc 文件的使用详解
Feb 16 Python
使用pyecharts生成Echarts网页的实例
Aug 12 Python
python列表插入append(), extend(), insert()用法详解
Sep 14 Python
使用pytorch实现可视化中间层的结果
Dec 30 Python
通过Python扫描代码关键字并进行预警的实现方法
May 24 Python
用Python远程登陆服务器的步骤
Apr 16 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实现将HTML5中Canvas图像保存到服务器的方法
2014/11/28 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
2016/01/08 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
php中引用&的用法分析【变量引用,函数引用,对象引用】
2016/12/12 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
PHP观察者模式实例分析【对比JS观察者模式】
2019/05/22 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
Javascript valueOf 使用方法
2008/12/28 Javascript
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
js跳转页面方法总结
2014/01/29 Javascript
JavaScript数据类型之基本类型和引用类型的值
2015/04/01 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
webpack下实现动态引入文件方法
2018/02/22 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
Python的内存泄漏及gc模块的使用分析
2014/07/16 Python
Python数据结构之Array用法实例
2014/10/09 Python
高效使用Python字典的清单
2018/04/04 Python
Python实现识别图片内容的方法分析
2018/07/11 Python
python实现爬山算法的思路详解
2019/04/09 Python
python安装gdal的两种方法
2019/10/29 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
Pytorch环境搭建与基本语法
2020/06/03 Python
巴黎卡诗美国官方网站:始于1964年的头发头皮护理专家
2017/07/10 全球购物
拓展培训心得体会
2014/01/04 职场文书
大课间活动实施方案
2014/03/06 职场文书
感恩母亲节演讲稿
2014/05/07 职场文书
设备收款委托书范本
2014/10/02 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS