使用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 --表示當(dāng)插入數(shù)據(jù)的時候,該字段默認(rèn)值為當(dāng)前時間 ON UPDATE CURRENT_TIMESTAMP --表示每次更新這條數(shù)據(jù)的時候,該字段都會更新成當(dāng)前時間
這兩個操作是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的小技巧的詳細(xì)內(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)文章
Python數(shù)據(jù)結(jié)構(gòu)與算法的雙端隊列詳解
這篇文章主要為大家詳細(xì)介紹了Python的雙端隊列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03淺談Python 多進程默認(rèn)不能共享全局變量的問題
今天小編就為大家分享一篇淺談Python 多進程默認(rèn)不能共享全局變量的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python sklearn KFold 生成交叉驗證數(shù)據(jù)集的方法
今天小編就為大家分享一篇Python sklearn KFold 生成交叉驗證數(shù)據(jù)集的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python的Django框架中URLconf相關(guān)的一些技巧整理
這篇文章主要介紹了Python的Django框架中URLconf相關(guān)的一些技巧整理,包括視圖配置和debug的示例等,需要的朋友可以參考下2015-07-07pip install過程中出現(xiàn)error: subprocess-exited-with-erro
在Python環(huán)境配置過程中,經(jīng)常會遇到各種安裝錯誤,其中一個常見的錯誤是 pip install 過程中出現(xiàn)的 error: subprocess-exited-with-error,在本文中,我將詳細(xì)解析這個錯誤的原因,并提供具體的解決方案和步驟,確保大家能夠順利完成安裝,避免類似問題的再次發(fā)生2024-07-07