使用Python操作MySQL的小技巧
1、獲取插入數(shù)據(jù)的主鍵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()方法可以獲取插入數(shù)據(jù)的主鍵id, 注意一定要在commit之前獲取,否則返回0。
2、創(chuàng)建時間、更新時間
DEFAULT CURRENT_TIMESTAMP --表示當插入數(shù)據(jù)的時候,該字段默認值為當前時間 ON UPDATE CURRENT_TIMESTAMP --表示每次更新這條數(shù)據(jù)的時候,該字段都會更新成當前時間
這兩個操作是mysql數(shù)據(jù)庫本身在維護,可以根據(jù)這個特性來生成【創(chuàng)建時間】和【更新時間】兩個字段,且不需要代碼來維護。
CREATE TABLE `test` ( `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間' ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3、Python插入數(shù)據(jù)庫時字符串中含有單引號或雙引號報錯
可以使用 pymysql.escape_string() 轉(zhuǎn)換
if type(str_content) is str: str_content = pymysql.escape_string(str_content)
4、獲取單個表的字段名和信息的方法
import MySQLdb as mdb
import sys
#獲取數(shù)據(jù)庫的鏈接對象
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:
#打印結(jié)果
print "%2s %3s" % row
5、從數(shù)據(jù)庫中把圖片讀出來
import MySQLdb as mdb
import sys
try:
#連接 mysql,獲取連接的對象
conn = mdb.connect('localhost', 'root', 'root', 'test');
cursor = conn.cursor()
#執(zhí)行查詢該圖片字段的 SQL
cursor.execute("SELECT Data FROM Images LIMIT 1")
#使用二進制寫文件的方法,打開一個圖片文件,若不存在則自動創(chuàng)建
fout = open('image.png','wb')
#直接將數(shù)據(jù)如文件
fout.write(cursor.fetchone()[0])
#關(guān)閉寫入的文件
fout.close()
#釋放查詢數(shù)據(jù)的資源
cursor.close()
conn.close()
except IOError, e:
#捕獲 IO 的異常 ,主要是文件寫入會發(fā)生錯誤
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)
以上就是使用Python操作MySQL的小技巧的詳細內(nèi)容,更多關(guān)于python 操作MySQL的資料請關(guān)注腳本之家其它相關(guān)文章!
- pymysql實現(xiàn)增刪改查的操作指南(python)
- Python基礎(chǔ)之操作MySQL數(shù)據(jù)庫
- python操作mysql、excel、pdf的示例
- python安裝mysql的依賴包mysql-python操作
- Python pymysql模塊安裝并操作過程解析
- python如何操作mysql
- Python連接mysql數(shù)據(jù)庫及簡單增刪改查操作示例代碼
- Python操作MySQL數(shù)據(jù)庫的示例代碼
- python3 使用openpyxl將mysql數(shù)據(jù)寫入xlsx的操作
- 教你怎么用Python操作MySql數(shù)據(jù)庫
相關(guān)文章
pandas讀取Excel批量轉(zhuǎn)換時間戳的實踐
本文主要介紹了pandas讀取Excel批量轉(zhuǎn)換時間戳的實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02
pycharm自定義TODO類注釋以及高亮顏色的設(shè)置方法
這篇文章主要介紹了pycharm自定義TODO類注釋以及高亮顏色的設(shè)置方法,文中通過圖文結(jié)合的方式給大家介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下2024-03-03
Python的string模塊中的Template類字符串模板用法
通過string.Template我們可以為Python定制字符串的替換標準,這里我們就來通過示例解析Python的string模塊中的Template類字符串模板用法:2016-06-06

