使用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检测主机的连通性并记录到文件的实例
Jun 21 Python
Python实现模拟浏览器请求及会话保持操作示例
Jul 30 Python
浅析python中numpy包中的argsort函数的使用
Aug 30 Python
python将控制台输出保存至文件的方法
Jan 07 Python
python+pyqt5编写md5生成器
Mar 18 Python
对python中的控制条件、循环和跳出详解
Jun 24 Python
Python日志无延迟实时写入的示例
Jul 11 Python
Python实现的远程文件自动打包并下载功能示例
Jul 12 Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 Python
python实现文件批量编码转换及注意事项
Oct 14 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
Jan 10 Python
python 爬取腾讯视频评论的实现步骤
Feb 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.ini中date.timezone设置分析
2011/07/29 PHP
PHP重定向与伪静态区别
2017/02/19 PHP
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
Javascript中各种trim的实现详细解析
2013/12/10 Javascript
js实现异步循环实现代码
2016/02/16 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()
2016/08/11 Javascript
bootstrap laydate日期组件使用详解
2017/01/04 Javascript
JavaScript中创建对象的7种模式详解
2017/02/21 Javascript
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
2018/11/05 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
Python自动调用IE打开某个网站的方法
2015/06/03 Python
独特的python循环语句
2016/11/20 Python
python使用folium库绘制地图点击框
2018/09/21 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
Django forms组件的使用教程
2018/10/08 Python
详解Python字典的操作
2019/03/04 Python
python字符串和常用数据结构知识总结
2019/05/21 Python
Python Django的安装配置教程图文详解
2019/07/17 Python
浅谈Pytorch中的torch.gather函数的含义
2019/08/18 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
python 两种方法删除空文件夹
2020/09/29 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
英国办公用品商店:Office Outlet
2018/04/04 全球购物
Vans澳大利亚官网:购买鞋子、服装及配件
2019/09/05 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
Linux的文件类型
2012/03/07 面试题
一份软件工程师的面试试题
2016/02/01 面试题
岗位职责的含义
2013/11/17 职场文书
大学生优秀班干部事迹材料
2014/05/26 职场文书
读群众路线的心得体会
2014/09/03 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB