Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como adicionar uma nova coluna toda vez que executo um programa python


Não altere seu design de banco de dados em tempo de execução, mas projete-o de forma que você altere os dados e não a estrutura.

Você poderia ter duas mesas. Um chamado Student com colunas rollno e name , talvez PK em rollno se for único.

Em seguida, tenha outra tabela chamada Thing (qualquer nome adequado, mas não sei sobre o que são seus dados) com três colunas when (datahora), value (qualquer nome adequado) (CHAR(1)) e student (mesmo tipo que rollno ).

Defina PK sobre ambos when e value para garantir que cada aluno tenha apenas um valor por data. Defina um FK de Thing.student para Student.rollno . Agora seu banco de dados cuida de manter seus dados (principalmente) consistentes.

Defina índices de acordo com suas necessidades de seleções, inserções e atualizações nas diferentes colunas.

Em seguida, para consultar, junte as duas tabelas para obter o resultado desejado, por exemplo.
select s.name, t.value
from Student s
left join Thing t on t.student = s.rollno
where t.when == 'whenever'

(Não tenho certeza sobre o dialeto mysql, então talvez sejam necessárias mais algumas citações. Sinta-se à vontade para editar.)