sql >> Base de Datos >  >> RDS >> Mysql

cómo agregar una nueva columna cada vez que ejecuto un programa de python

No cambie el diseño de su base de datos en tiempo de ejecución, pero diséñelo de manera que cambie los datos, no la estructura.

Podrías tener dos mesas. Uno llamado Student con columnas rollno y name , tal vez PK en rollno si es único.

Luego tenga otra tabla llamada Thing (cualquier nombre adecuado, pero no sé de qué tratan sus datos) con tres columnas when (fechahora), value (cualquier nombre adecuado) (CHAR(1)) y student (mismo tipo que rollno ).

Defina PK sobre ambos when y value para garantizar que cada estudiante tenga un solo valor por fecha. Defina un FK desde Thing.student a Student.rollno . Ahora su base de datos se encarga de mantener sus datos (en su mayoría) consistentes.

Defina índices según sus necesidades de selecciones, inserciones y actualizaciones sobre las diferentes columnas.

Luego, para consultar, únase a ambas tablas para obtener el resultado deseado, por ejemplo,

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

(No estoy seguro sobre el dialecto mysql, por lo que tal vez se necesiten algunas comillas más. Siéntase libre de editarlo).