使用Python操作MySQL的小技巧

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的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python连接mysql数据库及简单增删改查操作示例代码

    1.安装pymysql 进入cmd,输入 pip install pymysql: 2.数据库建表 在数据库中,建立一个简单的表,如图: 3.简单操作 3.1查询操作 #coding=utf-8 #连接数据库测试 import pymysql #打开数据库 db = pymysql.connect(host="localhost",user="root",password="root",db="test") #使用cursor

  • Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例

    本文实例讲述了Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法.分享给大家供大家参考,具体如下: demo.py(查询,取出一条数据,fetchone): from pymysql import * def main(): # 创建Connection连接 conn = connect(host='localhost',port=3306,user='root',password='mysql',database='jing_do

  • python使用SQLAlchemy操作MySQL

    SQLAlchemy是Python编程语言下的一款开源软件,提供了SQL工具包及对象关系映射(ORM)工具,使用MIT许可证发行.SQLAlchemy首次发行于2006年2月,并迅速地在Python社区中最广泛使用的ORM工具之一,不亚于Django的ORM框架. 本文将介绍如何使用SQLAlchemy操作MySQL,完成基础的表创建,表格数据的新增.查询.修改.删除(CRUD)等操作. 首先我们需要确认当前的Python环境下已经安装sqlalchemy和pymysql模块. 新建表格 我们使

  • Python操作MySQL数据库的示例代码

    1. MySQL Connector 1.1 创建连接 import mysql.connector config={ "host":"localhost","port":"3306", "user":"root","password":"password", "database":"demo" } con=

  • Python使用pymysql模块操作mysql增删改查实例分析

    本文实例讲述了Python使用pymysql模块操作mysql增删改查.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- import pymysql user = input('请输入用户名:') pwd = input('请输入密码:') # 1.连接 conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='123', db='t1', charset='utf8')

  • python如何操作mysql

    mysql 使用 启动服务 sudo systemctl start mysql pip3 install pymysql python 操作数据库: 定义类 import pymysql class MyDb(): def __init__(self, host, user, passwd, db): self.__db = pymysql.connect(host, user, passwd, db) self.__cursor = self.__db.cursor() # 增删改-数据库

  • Python操作SQLite/MySQL/LMDB数据库的方法

    1.概述 1.1前言 最近在存储字模图像集的时候,需要学习LMDB,趁此机会复习了SQLite和MySQL的使用,一起整理在此. 1.2环境 使用win7,Python 3.5.2. 2.SQLite 2.1准备 SQLite是一种嵌入式数据库,它的数据库就是一个文件.Python 2.5x以上版本内置了SQLite3,使用时直接import sqlite3即可. 2.2操作流程 概括地讲,操作SQLite的流程是: ·通过sqlite3.open()创建与数据库文件的连接对象connectio

  • Python 中使用 PyMySQL模块操作数据库的方法

    之前用的Python2,连接MySQL用的是MySQLdb.现在换成python3.x了,由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 PyMySQL模块,以下将介绍PyMySQL的安装及常用操作. 一.安装 pip install PyMySQL 二.常用操作 查询数据 import pymysql # 连接数据库 conn = pymysql.connect( host='127.0.0.1', user='root', pa

  • 带你彻底搞懂python操作mysql数据库(cursor游标讲解)

    1.什么是游标? 一张图讲述游标的功能: 图示说明: 2.使用游标的好处? 如果不使用游标功能,直接使用select查询,会一次性将结果集打印到屏幕上,你无法针对结果集做第二次编程.使用游标功能后,我们可以将得到的结果先保存起来,然后可以随意进行自己的编程,得到我们最终想要的结果集. 3.利用python连接数据库,经常会使用游标功能 1)以python连接mysql数据库为例 2)使用游标的操作步骤 首先,使用pymysql连接上mysql数据库,得到一个数据库对象. 然后,我们必须要开启数据

  • Python操作MySQL数据库实例详解【安装、连接、增删改查等】

    本文实例讲述了Python操作MySQL数据库.分享给大家供大家参考,具体如下: 1.安装 通过Python连接MySQL数据库有很多库,这里使用官方推荐的MySQL Connector/Python库,其官网为:https://dev.mysql.com/doc/connector-python/en/. 通过pip命令安装: pip install mysql-connector-python 默认安装的是最新的版本,我安装的是8.0.17,对应MySQL的8.0版本.MySQL统一了其相关

  • python3.6连接mysql数据库及增删改查操作详解

    折腾好半天的数据库连接,由于之前未安装 pip ,而且自己用的python 版本为3.6. 只能用 pymysql 来连接数据库,下边 简单介绍一下 连接的过程,以及简单的增删改查操作. 1.通过 pip 安装 pymysql 进入 cmd  输入  pip install pymysql   回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import pymysql #导入 pymysql 如果编译未出错,即表示 pymysql 安装成功 简单的增删改查操作 示

随机推荐