Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie füge ich jedes Mal eine neue Spalte hinzu, wenn ich ein Python-Programm ausführe?

Ändern Sie Ihr DB-Design nicht zur Laufzeit, sondern gestalten Sie es so, dass Sie die Daten und nicht die Struktur ändern.

Sie könnten zwei Tische haben. Einer namens Student mit Spalten rollno und name , vielleicht PK auf rollno wenn es einzigartig ist.

Dann haben Sie eine andere Tabelle namens Thing (irgendein passender Name, aber ich weiß nicht, worum es bei Ihren Daten geht) mit drei Spalten when (datetime), value (jeder passende Name) (CHAR(1)) und student (gleicher Typ wie rollno ).

Definieren Sie PK über beide when und value um sicherzustellen, dass jeder Student nur einen Wert pro Datum hat. Definiere einen FK aus Thing.student zu Student.rollno . Jetzt kümmert sich Ihre DB darum, Ihre Daten (weitgehend) konsistent zu halten.

Definieren Sie Indizes je nach Bedarf an Auswahlen, Einfügungen und Aktualisierungen über die verschiedenen Spalten.

Verbinden Sie dann zum Abfragen beide Tabellen, um das gewünschte Ergebnis zu erhalten, z. B.

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

(Ich bin mir über den mysql-Dialekt nicht sicher, also werden vielleicht noch ein paar Anführungszeichen benötigt. Bitte zögern Sie nicht, sie zu bearbeiten.)