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

mysql數(shù)據(jù)插入覆蓋和時(shí)間戳的問題及解決

 更新時(shí)間:2022年03月25日 09:04:10   作者:YF-海納百川  
這篇文章主要介紹了mysql數(shù)據(jù)插入覆蓋和時(shí)間戳的問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

數(shù)據(jù)插入覆蓋和時(shí)間戳問題

1.數(shù)據(jù)插入問題

當(dāng)我們insert數(shù)據(jù)時(shí),插入datetime類型,此類型的字段,存儲(chǔ)數(shù)據(jù)格式為:  YYYY-MM-DD,它支持的范圍為'1000-01-01'到'9999-12-31',并且允許使用字符串或數(shù)字為此列復(fù)制。

日期賦值時(shí),允許“不嚴(yán)格”語(yǔ)法:任何標(biāo)點(diǎn)符都可以用做日期部分或時(shí)間部分之間的間割符。例如,'98-12-31 11:30:45'、'98.12.31 11+30+45'、'98/12/31 11*30*45'和'98@12@31 11^30^45'是等價(jià)的,對(duì)于不合法的將會(huì)轉(zhuǎn)換為:0000-00-00 00:00:00

我們傳的時(shí)候 insert into test(count_data) values (20190922). 不要把20190922轉(zhuǎn)為2019-09-22

使用ignore關(guān)鍵字,避免重復(fù)插入記錄可以使用:(主健會(huì)變化)

insert ignore into student_task_trace (student_id) VALUES (20)

使用Replace,如果舊記錄與新記錄有相同的值,則在新記錄被插入之前,舊記錄被刪除,存入新紀(jì)錄:

REPLACE INTO student_task_trace (student_id) VALUES (20)

如果有主鍵的情況下,可以通過惟一索引來防止重復(fù)數(shù)據(jù)的插入

數(shù)據(jù)插入一個(gè)事件的時(shí)候 有好幾個(gè)不同的值 總會(huì)覆蓋 ,所以需要給不同值的字段設(shè)置個(gè)唯一索引。

除非清空(truncate  表名)

2. 時(shí)間加減問題

如果想做時(shí)間加減的話 必須把時(shí)間變成unix時(shí)間戳 如當(dāng)前時(shí)間—創(chuàng)建時(shí)間

SELECT user_id, device, UNIX_TIMESTAMP(create_time) create_time from t_user

int(time.time() - create_time).   不轉(zhuǎn)unix無法操作

3. 時(shí)間格式化問題

如果想讓時(shí)間正常顯示,就需要在寫sql的時(shí)候給他做格式化

SELECT DATE_FORMAT(grant_end_time, '%%Y-%%m-%%d') grant_end_time from xxxx

覆蓋舊數(shù)據(jù)的mysql插入

1、添加唯一索引需要保證該值只有一個(gè)

2、唯一索引需要放在最前面

3、更新的數(shù)據(jù)需要在list后面再添加一個(gè)來更新

from requests_html import HTMLSession
import pymysql
import json
import time
def mysql_db():
    a = html_data()
    #print(tuple1)
    db = pymysql.connect(
        host="localhost",
        user="root",
        passwd="zdl12345",
        database = "runoob_db",
        charset = "utf8"
    )
    cc = db.cursor()
    #sql1 = "create table sites2(id int primary key not null auto_increment,rn varchar(255) ,nn varchar(255),ol varchar(255),c2name varchar(255))"
    #cc.execute(sql1)
    #sql3 = "alter table sites2 add unique (nn)"
    #cc.execute(sql3)
    
    #print("add success")
    cc.execute("select * from sites2")
    results = cc.fetchall()
    
    #print(zb_list)
    list = []
    for i in target_data:
        #print(i)
        for k in i.keys():
            #print(key)
        
            if k == "c2name":
                list = [i["nn"],i["rn"],str(i["ol"]),i["c2name"],str(i["ol"])]
                tuple1 = tuple(list)
                #print(tuple1)
                
                sql = "insert into sites2(nn, rn, ol, c2name) values (%s, %s, %s, %s) on duplicate key update ol = %s"
                val = tuple1
                cc.execute(sql,val)
                db.commit()
                
    db.close()
    print("insert success")
def html_data():
    global target_data
    session = HTMLSession()
    url = "https://www.douyu.com/gapi/rkc/directory/1_1/1.html"
    #headers = {'Accept-Charset': 'UTF-8'}
    database = session.get(url)
    data = database.html.text
    #print(data)
    
    jsondata = json.loads(data)
    #print(jsondata)
    target_data = jsondata["data"]["rl"]
    #print(target_data[0])
    #print(type(target_data))
    #return target_data
                 
#html_data()
#while True:
    
    mysql_db()
    time.sleep(1)
    data2 = time.time()
    s = data2 - data1        

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL性能優(yōu)化技巧分享

    MySQL性能優(yōu)化技巧分享

    這篇文章主要介紹了MySQL性能優(yōu)化的相關(guān)技巧,幫助大家提高數(shù)據(jù)庫(kù)的性能,感興趣的朋友可以了解下
    2020-09-09
  • MySQL sleep函數(shù)使用方法詳解

    MySQL sleep函數(shù)使用方法詳解

    sleep函數(shù)時(shí)「延時(shí)」指定時(shí)間(單位秒),也就是讓程序停止執(zhí)行一段指定的時(shí)間,本文就給大家簡(jiǎn)單的介紹一下MySQL sleep函數(shù)使用方法,需要的朋友可以參考下
    2023-07-07
  • MySQL中建表與常見的類型設(shè)計(jì)陷阱詳解

    MySQL中建表與常見的類型設(shè)計(jì)陷阱詳解

    這篇文章詳細(xì)講解了MySQL的建表語(yǔ)句、以及表結(jié)構(gòu)的設(shè)計(jì)規(guī)范和陷阱,并對(duì)網(wǎng)絡(luò)上常見的資料給出的設(shè)計(jì)方案。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-11-11
  • 詳解MySQL恢復(fù)psc文件記錄數(shù)為0的解決方案

    詳解MySQL恢復(fù)psc文件記錄數(shù)為0的解決方案

    這篇文章主要介紹了詳解MySQL恢復(fù)psc文件記錄數(shù)為0的解決方案,遇到這個(gè)問題的朋友,可以看一下。
    2016-11-11
  • Mysql連接join查詢?cè)碇R(shí)點(diǎn)

    Mysql連接join查詢?cè)碇R(shí)點(diǎn)

    在本文里我們給大家整理了一篇關(guān)于Mysql連接join查詢?cè)碇R(shí)點(diǎn)文章,對(duì)此感興趣的朋友們可以學(xué)習(xí)下。
    2019-02-02
  • MySQL8.0升級(jí)的踩坑歷險(xiǎn)記

    MySQL8.0升級(jí)的踩坑歷險(xiǎn)記

    聽說mysql8的性能提升了很多,對(duì)于我這種喜歡把所有軟件升級(jí)到最新版的人來說,二話不說直接升級(jí),這篇文章主要給大家介紹了關(guān)于MySQL8.0升級(jí)踩坑的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • Mysql報(bào)Table?'mysql.user'?doesn't?exist問題的解決方法

    Mysql報(bào)Table?'mysql.user'?doesn't?exist問題的解

    這篇文章主要給大家介紹了關(guān)于Mysql報(bào)Table?'mysql.user'?doesn't?exist問題的解決方法,初學(xué)者可能會(huì)遇到這個(gè)問題,文中通過圖文將解決方法介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • MySQL性能優(yōu)化之如何高效正確的使用索引

    MySQL性能優(yōu)化之如何高效正確的使用索引

    這篇文章主要介紹了MySQL如何高效正確的使用索引,幫助大家更好的理解和學(xué)習(xí)MySQL,感興趣的朋友可以了解下
    2020-08-08
  • MySQL中IO問題的深入分析與優(yōu)化

    MySQL中IO問題的深入分析與優(yōu)化

    據(jù)庫(kù)作為存儲(chǔ)系統(tǒng),所有業(yè)務(wù)訪問數(shù)據(jù)的操作都會(huì)轉(zhuǎn)化為底層數(shù)據(jù)庫(kù)系統(tǒng)的IO行為,下面這篇文章主要給大家介紹了關(guān)于MySQL中IO問題的深入分析與優(yōu)化的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • MySQL for update鎖表還是鎖行校驗(yàn)(過程詳解)

    MySQL for update鎖表還是鎖行校驗(yàn)(過程詳解)

    在MySQL中,使用for update子句可以對(duì)查詢結(jié)果集進(jìn)行行級(jí)鎖定,以便在事務(wù)中對(duì)這些行進(jìn)行更新或者防止其他事務(wù)對(duì)這些行進(jìn)行修改,這篇文章主要介紹了MySQL for update鎖表還是鎖行校驗(yàn),需要的朋友可以參考下
    2024-02-02

最新評(píng)論