Mysql
 sql >> Baza danych >  >> RDS >> Mysql

jak dodać nową kolumnę za każdym razem, gdy uruchamiam program w Pythonie?

Nie zmieniaj projektu bazy danych w czasie wykonywania, ale zaprojektuj go w taki sposób, aby zmienić dane, a nie strukturę.

Możesz mieć dwa stoły. Jeden o nazwie Student z kolumnami rollno i name , może PK na rollno jeśli jest unikalny.

Następnie przygotuj kolejną tabelę o nazwie Thing (dowolna odpowiednia nazwa, ale nie wiem, czego dotyczą Twoje dane) z trzema kolumnami when (data/godzina), value (dowolne odpowiednie imię) (CHAR(1)) i student (ten sam typ co rollno ).

Zdefiniuj PK dla obu when i value aby upewnić się, że każdy uczeń ma tylko jedną wartość na dzień. Zdefiniuj FK z Thing.student do Student.rollno . Teraz Twoja baza danych dba o utrzymanie (w większości) spójności Twoich danych.

Zdefiniuj indeksy w zależności od potrzeb dotyczących zaznaczeń, wstawek i aktualizacji w różnych kolumnach.

Następnie do zapytania połącz obie tabele, aby uzyskać pożądany wynik, np.

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

(Nie jestem pewien co do dialektu mysql, więc może potrzebnych jest więcej cudzysłowów. Prosimy o edycję.)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak stworzyć „dwustronny” unikalny indeks na dwóch polach?

  2. Wystąpił problem z połączeniem z bazą danych przy użyciu d2rq

  3. Dlaczego moje połączenie MySQLi jest tak wolne?

  4. Konfigurowanie Django z MySQL na macOS

  5. przekazywać dane z mySQL do api w Flask