sql >> Databasteknik >  >> RDS >> Mysql

hur man lägger till en ny kolumn varje gång jag kör ett pythonprogram

Ändra inte din DB-design vid körning, utan designa den på ett sätt så att du kommer att ändra data inte strukturen.

Du kan ha två bord. En som heter Student med kolumner rollno och name , kanske PK på rollno om det är unikt.

Har sedan en annan tabell som heter Thing (vilket lämpligt namn som helst, men jag vet inte vad dina uppgifter handlar om) med tre kolumner when (datumtid), value (valfritt lämpligt namn) (CHAR(1)) och student (samma typ som rollno ).

Definiera PK över både when och value för att säkerställa att varje elev bara har ett värde per datum. Definiera en FK från Thing.student till Student.rollno . Nu tar din DB hand om att hålla dina data (för det mesta) konsekventa.

Definiera index beroende på dina behov av markeringar, infogar och uppdateringar över de olika kolumnerna.

Gå sedan med båda tabellerna för att fråga för att få önskat resultat, t.ex.

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

(Jag är inte säker på mysql-dialekten, så det kanske behövs några fler citat. Redigera gärna.)




  1. Varför skulle MySQL köra return None?

  2. fetch_assoc returnerar senast infogade element

  3. Hur man kommer åt Oracle DB i VirtualBox från värd (Windows)

  4. Tips för att lagra PostgreSQL-säkerhetskopior på Amazon AWS