成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python:pymsql插入優(yōu)化

未東興 / 415人閱讀

摘要:如星期三為月份的簡(jiǎn)寫。如月份為月份的全寫。如月份為日期時(shí)間的字符串表示。

摘要

剛接觸scrapy時(shí)候,需要把item經(jīng)過pipelines處理后插入到mysql,寫插入語(yǔ)句教程是將item數(shù)據(jù)一個(gè)個(gè)枚舉出來,在字段特別多的時(shí)候還是蠻麻煩的,而且可擴(kuò)展性比較差,其實(shí)只要稍作封裝就能很好的解決這種尷尬

import pymysql
from datetime import datetime


class MyPyMysql(object):
    def __init__(self, user, passwd, db, host="localhost", port=3306, use_unicode=True):
        self.host = host
        self.port = port
        self.user = user
        self.passwd = passwd
        self.db = db
        self.connect = pymysql.connect(host=self.host, port=self.port, db=self.db, user=self.user, passwd=self.passwd,
                                       use_unicode=True)
        self.cursor = self.connect.cursor()
    
    def insert(self, table_name, kwargs):
        sql = "insert into {} ({}) VALUES  {};".format(table_name, ",".join(list(kwargs.keys())),
                                                       tuple(kwargs.values()))
        self.query(sql)
        """
        success excute insert into student (id,name,age,birthData) VALUES  (12, "dalex", 20, "2018-03-15 14:32:35.271451");
        success excute insert into student (id,name,age,birthData) VALUES  (23, "balex", 20, "2018-03-15 14:32:35.271451");
        """
        print("success excute {}".format(sql))
    
    def query(self, sql):
        self.cursor.execute(sql)
        self.connect.commit()
    
    def close(self):
        self.cursor.close()
        self.connect.close()


if __name__ == "__main__":
    me = MyPyMysql("root", "root", "blog")
    birthData = str(datetime.now())
    me.insert("student", {"id": 12, "name": "dalex", "age": 20, "birthData": birthData})
    me.insert("student", {"id": 23, "name": "balex", "age": 20, "birthData": birthData})
    me.close()
日期格式化

由于對(duì)日期函數(shù)不是很熟悉,插入日期格式不對(duì)導(dǎo)致插入失敗,后來查了下相關(guān)文檔,清楚了很多

1、由日期格式轉(zhuǎn)化為字符串格式的函數(shù)為: datetime.datetime.strftime()
2、由字符串格式轉(zhuǎn)化為日期格式的函數(shù)為: datetime.datetime.strptime()

    from datetime import datetime
    print(datetime.now().strftime("%Y-%m-%d"))
    print(datetime.strptime("2018-03-15 15:32:24", "%Y-%m-%d %H:%M:%S"))
    """
    輸出結(jié)果為:
    2018-03-15
    2018-03-15 15:32:24
    """
    #格式化時(shí)間相操作
    # %a 星期的簡(jiǎn)寫。如 星期三為Web  
    # %A 星期的全寫。如 星期三為Wednesday  
    # %b 月份的簡(jiǎn)寫。如4月份為Apr  
    # %B月份的全寫。如4月份為April   
    # %c:  日期時(shí)間的字符串表示。(如: 04/07/10 10:43:39)  
    # %d:  日在這個(gè)月中的天數(shù)(是這個(gè)月的第幾天)  
    # %f:  微秒(范圍[0,999999])  
    # %H:  小時(shí)(24小時(shí)制,[0, 23])  
    # %I:  小時(shí)(12小時(shí)制,[0, 11])  
    # %j:  日在年中的天數(shù) [001,366](是當(dāng)年的第幾天)  
    # %m:  月份([01,12])  
    # %M:  分鐘([00,59])  
    # %p:  AM或者PM  
    # %S:  秒(范圍為[00,61],為什么不是[00, 59],參考python手冊(cè)~_~)  
    # %U:  周在當(dāng)年的周數(shù)當(dāng)年的第幾周),星期天作為周的第一天  
    # %w:  今天在這周的天數(shù),范圍為[0, 6],6表示星期天  
    # %W:  周在當(dāng)年的周數(shù)(是當(dāng)年的第幾周),星期一作為周的第一天  
    # %x:  日期字符串(如:04/07/10)  
    # %X:  時(shí)間字符串(如:10:43:39)  
    # %y:  2個(gè)數(shù)字表示的年份  
    # %Y:  4個(gè)數(shù)字表示的年份  
    # %z:  與utc時(shí)間的間隔 (如果是本地時(shí)間,返回空字符串)  
    # %Z:  時(shí)區(qū)名稱(如果是本地時(shí)間,返回空字符串)  
    # %%:  %% => %  
引用

1,python中datetime模塊中strftime/strptime函數(shù)
2,pymsql github 源碼

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44620.html

相關(guān)文章

  • JavaScript 數(shù)據(jù)結(jié)構(gòu)與算法之美 - 冒泡排序、插入排序、選擇排序

    摘要:之所以把冒泡排序選擇排序插入排序放在一起比較,是因?yàn)樗鼈兊钠骄鶗r(shí)間復(fù)雜度都為。其中,冒泡排序就是原地排序算法。所以冒泡排序是穩(wěn)定的排序算法。選擇排序思路選擇排序算法的實(shí)現(xiàn)思路有點(diǎn)類似插入排序,也分已排序區(qū)間和未排序區(qū)間。 showImg(https://segmentfault.com/img/bVbuvnj?w=900&h=250); 1. 前言 算法為王。 想學(xué)好前端,先練好內(nèi)功,...

    canger 評(píng)論0 收藏0
  • Spring/Hibernate 應(yīng)用性能優(yōu)化的7種方法

    摘要:對(duì)于大多數(shù)典型的企業(yè)應(yīng)用而言,其性能表現(xiàn)幾乎完全依賴于持久層的性能。速成法使用批處理對(duì)于批處理程序,驅(qū)動(dòng)程序提供了旨在減少網(wǎng)絡(luò)來回傳輸?shù)膬?yōu)化方法。速成法檢查錯(cuò)誤的提交間隔如果你使用批處理程序,提交間隔會(huì)對(duì)性能造成十倍甚至百倍的影響。 對(duì)于大多數(shù)典型的 Spring/Hibernate 企業(yè)應(yīng)用而言,其性能表現(xiàn)幾乎完全依賴于持久層的性能。此篇文章中將介紹如何確認(rèn)應(yīng)用是否受數(shù)據(jù)庫(kù)約束,同時(shí)...

    lavor 評(píng)論0 收藏0
  • 糊涂算法之「八大排序」總結(jié)——用兩萬(wàn)字,8張動(dòng)圖,450行代碼跨過排序這道坎(建議收藏)

    摘要:今天,一條就帶大家徹底跨過排序算法這道坎,保姆級(jí)教程建議收藏。利用遞歸算法,對(duì)分治后的子數(shù)組進(jìn)行排序?;舅枷攵雅判蚴抢枚堰@種數(shù)據(jù)結(jié)構(gòu)而設(shè)計(jì)的一種排序算法,堆排序是一種選擇排序,它的最壞,最好,平均時(shí)間復(fù)雜度均為,它也是不穩(wěn)定排序。 ...

    greatwhole 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<