gpt4 book ai didi

python - 如何在每次运行 python 程序时添加新列

转载 作者:行者123 更新时间:2023-11-30 00:35:16 27 4
gpt4 key购买 nike

我希望我的表的第一列作为卷号,第二列作为名称。每当我运行 python 程序时,我想在表中添加一列日期。在那个新列中,我想填充我从中获得的列表user.list 将包含值“P”、“A”、“P”、“P”等。如何处理?我尝试首先通过 alter 命令添加一列,然后插入数据,但没有任何效果。

choice1=raw_input("\nEnter 'y' or 'n' to add new column:\n")
if choice1 is 'y':
cursor.execute(" ALTER TABLE table1 ADD datecolumn varchar(20)")
db.commit()
for i in xrange(0,10):
if students[i] is 'A':
cursor.execute("insert into table1(datetime) values ('A')")
db.commit()
elif students[i] is 'P':
cursor.execute("insert into table1(datetime) values ('P')")
db.commit()

最佳答案

不要在运行时更改数据库设计,而是以更改数据而不是结构的方式进行设计。

你可以有两张 table 。一个名为 Student 的列,包含 rollnoname,如果它是唯一的,可能会在 rollno 上进行 PK。

然后有另一个名为 Thing 的表(任何合适的名称,但我不知道你的数据是什么),其中包含三列 when (日期时间),value(任何合适的名称)(CHAR(1)) 和 student(与 rollno 类型相同)。

定义时间的PK,以确保每个学生在每个日期只有一个值。定义从 Thing.studentStudent.rollno 的 FK。现在,您的数据库负责保持数据(大部分)一致。

根据您对不同列的选择、插入和更新的需要定义索引。

然后为了查询连接两个表以获得所需的结果,例如

select s.name, t.value
from Student s
left join Thing t on t.student = s.rollno
where t.when == 'whenever'

(我不确定 mysql 方言,所以可能需要更多引号。请随意编辑。)

关于python - 如何在每次运行 python 程序时添加新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22233704/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com