亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Python 在 SQL 中插入或更新

如何使用 Python 在 SQL 中插入或更新

慕田峪7331174 2021-10-05 15:54:41
我在 python 中有一個列表,我目前將它插入到名為 SocketTest 的 SQL 表中。基本上我正在存儲連接日志。我只想存儲某人連接的最后一個位置 AP(接入點),而不是像我現在所做的那樣存儲他們的列表。它們按時間順序讀取并通過套接字,因此我在函數中獲得的最新列表始終是該用戶的最新列表?;旧衔业某绦驈囊粋€套接字讀取,并用逗號分隔的信息制作一個列表,然后我將它插入到我的表中,雖然我的套接字中還有信息,但它不斷重復。我在名為 i 的列表。我一直試圖自己解決這個問題,但我沒有經驗。我想查看作為 ID 的 PK,如果尚未存儲 ID,則插入該行,如果 ID 已存在,則替換或更新存儲的行。我正在研究替換并插入重復的鍵,但無法讓它工作。任何幫助表示贊賞,代碼如下。SocketTest 是表:PK 是 ID:Pringle 是一個示例行:編輯:我將 MYSQLDB 作為 mdb 導入def ParseArray(l): #parses line in sockei.append(l.split()[+0] + '')  # Gets Dayi.append(l.split()[+1] + '')  # Gets Monthi.append(l.split()[+3] + '')  # Gets Yeari.append(l.split()[+2] + '')  # Gets Timei.append(l.split()[-2] + '')  # Gets Devicei.append(l.split()[+9] + '')  # Gets  IDi.append(l.split()[+18] + '')  # Gets APi.append(l.split()[+19] + '')  # Gets AP Groupi.append(l.split()[+16] + '/n')  # Gets MAC#insert line into db else by primary key (ID)#update line to db if ID doesn't exist#pringle = ['Dec', '11', '2018', '15:10:51', 'iPhone', '[jeref2]', #    'home', 'hm1', '45.88.34.58)\n']sql = "INSERT INTO SocketTest (month, day, year, time, device, Id, ap,     ApGroup, MacAdd) VALUES ('%s');" % "', '".join(i)cur.execute(sql)con.commit()
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

如果您使用的是 pymysql 庫,則可以使用以下方法:


row_to_insert = [val1, val2, val3]


cursor.execute("INSERT INTO my_table_name (column1, column2, column3) VALUES(%s, %s, %s)", 

    row_to_insert)

更多信息可以在這里找到:How to use variables in SQL statement in Python?


在海報評論后編輯:


try:

    row_to_insert = [val1, val2, val3]

    cursor.execute("INSERT INTO my_table_name (column1, column2, column3) VALUES(%s, %s, %s)",

                   row_to_insert)


except pymysql.IntegrityError:

    cursor.execute("""UPDATE my_table_name 

    SET column2 = {1}, column3 = {2}

    WHERE column1 = {0}

    """.format(val1, val2, val3)


查看完整回答
反對 回復 2021-10-05
  • 2 回答
  • 0 關注
  • 338 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號