如何将信息行插入mysql数据库中的不同行?

Posted

技术标签:

【中文标题】如何将信息行插入mysql数据库中的不同行?【英文标题】:How to insert rows of information into different rows in a mysql database? 【发布时间】:2019-05-30 09:28:58 【问题描述】:

我不知道如何将信息列表插入到 mysql 数据库中。

我正在尝试将行数据插入数据库,但它只是将最后一行插入了三次。该列表名为“t”,它是一个元组。

数据:

11/04/19,17:33,33.4,55
11/04/19,17:34,22.9,57
11/04/19,17:35,11.9,81

代码:

import mysql.connector

sql = mysql.connector.connect(
    host='    ',
    user='    ',
    password='    ',
    db="     "
    )
cursor = sql.cursor()

f = open("C:\Cumulus\data\Apr19log.txt","r")

while True:
    s = f.readline()
    list=[]
    if (s != ""):
        t=s.split(',')
        for item in t:
            list.append(item)
    else:
        break;


sqllist =    """INSERT INTO station_fenelon (variable, date,             
time,outside_temp, outside_humidity)  
                VALUES (%s, %s, %s, %s, %s)"""

record =[(1, t[0], t[1], t[2],t[3]),
         (2, t[0], t[1], t[2],t[3]),
         (3, t[0], t[1], t[2],t[3])]

cursor.executemany(sqllist, record)
sql.commit()

我想用这个信息列表在数据库中创建三行,但只显示数据库中的最后一行信息。

【问题讨论】:

@Sukumar Rdjf print (t) 给出 11/04/19,17:33,33.4,55 11/04/19,17:34,22.9,57 11/04/19,17: 35,11.9,81 @Sukumar Rdjf 这是一个元组 @Sukumar Rdjf 1、2 和 3 只是我的数据库表中的自动增量,以便我知道信息的去向。 @Sukumar Rdjf 不是插入 3 行信息,而是简单地插入 11/04/19,17:35,11.9,81 三次(我犯了一个错误,不是两次,而是三次) 只要我的“声誉”上升到足够的程度,我就会投票 【参考方案1】:

试试这个。

import mysql.connector
sql = mysql.connector.connect(host='',user='',password='',db='')
cursor = sql.cursor()
f = open("C:\Cumulus\data\Apr19log.txt","r")
st=[i.strip().split(',') for i in f.readlines()]

sqllist = """INSERT INTO station_fenelon (variable, date, time, outside_temp, outside_humidity) VALUES (%s, %s, %s, %s, %s)"""

record = [(i+1, j[0], j[1], j[2], j[3]) for i, j in enumerate(st)]

cursor.executemany(sqllist, record)
sql.commit()

【讨论】:

以上是关于如何将信息行插入mysql数据库中的不同行?的主要内容,如果未能解决你的问题,请参考以下文章

VBNET如何在两个表的不同行中插入多个值

如何将具有不同时区的 tz_convert 应用于熊猫数据框中的不同行

从一个 MySqli 查询中的不同行获取值

如何在 Access 2016 中的另一列上选择具有最大值的不同行

解析文本文件的不同行的有效方法

是否可以为 javafx textField/Area 中的不同行设置不同的颜色?