欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python操作MySQL的小技巧

 更新時間:2020年09月10日 14:44:15   作者:新碼農(nóng)  
這篇文章主要介紹了使用Python操作MySQL的小技巧,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

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)文章!

相關(guān)文章

最新評論