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

Czy istnieje odpowiednik MySQL do typu zestawu w Pythonie?

Właściwym sposobem na zaimplementowanie zestawu w SQL byłyby dwie dodatkowe tabele:

CREATE TABLE set (
    id int unsigned PRIMARY KEY AUTO_INCREMENT
);

CREATE TABLE set_member (
    set_id int unsigned NOT NULL,
    FOREIGN KEY (set_id) REFERENCES set(id),
    member <whatever_type_your_set_is_of> NOT NULL,
    UNIQUE (set_id, member)
);

(Możesz być w stanie uniknąć set tabeli, jeśli chcesz przechowywać zestawy tylko w jednej tabeli, a ta tabela ma unikalny identyfikator i będziesz przechowywać tylko jeden zestaw na rekord w tabeli)

Ponieważ jest bardzo prawdopodobne, że nie szukasz odpowiedniego podejścia do SQL (co właściwie jest w porządku, jeśli nigdy nie będziesz wykonywać żadnych operacji w bazie danych na tych zestawach, poza przechowywaniem i pobieraniem), prawdopodobnie będziesz przechowywać swój zestaw zdenormalizowany w jednym polu w tabeli, zamiast postępować zgodnie z zalecanymi praktykami; w takim przypadku nie ma natywnego typu danych MySQL, który może reprezentować zestaw Pythona i będziesz musiał zserializować swój zestaw w varchar lub text kolumna. Wybór formatu serializacji, który odpowiada Twoim potrzebom, zależy wyłącznie od Ciebie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SELECT id HAVING maksymalna liczba identyfikatorów

  2. Odmowa dostępu dla użytkownika 'root'@'localhost' (przy użyciu hasła:TAK) - Brak uprawnień?

  3. Mysql Zwiększanie wydajności zmiennych

  4. Jak połączyć wartości z MySQL SELECT

  5. Jak wstawić wiele wierszy na podstawie zapytania?