SQL enum

SQL enum

MySQL støtter Enum -typen. En enum er et unikt strengobjekt der verdien er valgt fra en liste over forhåndsdefinerte verdier.

Hvis du noen gang har brukt HTML, kan du tenke på dem som radioknapper med et sett med verdier, og du kan bare velge en verdi.

Syntaks

MySQL lar oss lage en enum -kolonne ved å bruke syntaks vist nedenfor:

Lag tabell tabell_navn (
col enum ('verdi_1', 'verdi_2', 'verdi_3', ...),
);

Enum -typen tar tre attributter:

  1. MISLIGHOLDE - Angir standardverdien hvis brukeren ikke velger noen verdi fra en liste over alternativer.
  2. NULL - Angir standardverdien til null.
  3. Ikke null - forhindrer kolonnen i å inneholde ikke-nullverdier ved å tvinge brukeren til å velge en verdi eller bruke en standardverdi.

Eksempel

Et klassisk eksempel på Enum -typen lagrer klærstørrelse. La oss vise hvordan vi bruker Enum -typen ved å lage et bord som lagrer klærinfo.

Et eksempel er som vist:

Lag bordskjorter (
Navn tekst,
Størrelse enum ('x-lite', 'liten', 'medium', 'stor', 'x-stor')
);

Ovennevnte spørring lager et bord som heter skjorter som lagrer skjortens navn og størrelsen på Enum -typen. I tillegg inneholder enum mulige skjortestørrelser.

MERK: Selv om PostgreSQL støtter enum -type, krever det at du definerer enumverdiene dine som en spesifikk type.

Et eksempel er som vist:

Lag typestørrelse som enum ('x-small', 'liten', 'medium', 'stor', 'x-stor');

Når du har tabellen erklært med enum -type, kan du sette inn poster som vist:

Sett inn skjorter (navn, størrelse) verdier ('polo skjorte', 'medium'), ('t-skjorte', 'x-small');

Når du er satt inn, kan du velge spesifikke rader ved å bruke WHERE -leddet som vist:

Velg navn, størrelse fra skjorter hvor størrelse = 'x-small';

Enumindeks

Hver verdi i en enum -kolonne tildeles en indeks fra indeks 1. Du kan bruke denne indeksen til å velge, slette eller oppdatere en bestemt post.

For eksempel, for å velge posten der enumverdien er x-small ved å bruke indeksen, kan vi gjøre:

Velg * fra skjorter der størrelse = 1;

MERK: Du kan også bruke en enum -type for å sortere radene.

Endelig

Denne artikkelen gir deg praktisk bruk av Enum -typen i SQL. Sjekk dokumentasjonen for å utforske mer.

https: // dev.mysql.com/doc/refman/8.0/en/enum.html

https: // www.PostgreSql.org/docs/current/datatype-enum.html