sql >> Databasteknik >  >> RDS >> Database

Förstå SQL-datatyper – Allt du behöver veta om SQL-datatyper

Med den mängd data som finns i världen är det nästan omöjligt att hantera data utan ordentliga databaser. SQL är kärnan i relationsdatabaser som ger dig olika alternativ för att hantera data, därför är SQL-kunskaper oumbärliga i de flesta jobbroller. I den här artikeln om SQL-datatyper kommer vi att diskutera de olika datatyperna som används i SQL.

Följande behandlas i den här artikeln:

  • Numeriska datatyper

    • Exakta numeriska datatyper
    • Ungefärliga numeriska datatyper
  • Teckensträngsdatatyper

    • Datatyper för Unicode-teckensträngar
  • Binära datatyper
  • Datatyper för datum och tid
  • Andra datatyper

Så, låt oss börja med var och en av dem.

SQL-datatyper:numeriska typer

Det här avsnittet i artikeln kommer att tala om de numeriska datatyperna. Dessa datatyper tillåter både signerade och osignerade heltal. Jag har delat upp de numeriska datatyperna i följande två avsnitt:

    • Exakta numeriska datatyper
    • Ungefärliga numeriska datatyper

Exakta numeriska datatyper

Datatyp Beskrivning/intervall
Lagring
Beskrivning FRÅN TO
bit Ett heltal som antingen kan vara 0, 1 eller NULL.
tinyint Tillåter heltal 0 255 1 byte
smallint Tillåter heltal -32 768 32 767 2 byte
int Tillåter heltal -2 147 483 648 2 147 483 647 4 byte
bigint Tillåter heltal -9,223,372,036,854,775,808 9,223,372,036,854,775,807 8 byte
numeric(p,s) Tillåter ett numeriskt värde. Där "p ' är precisionsvärde och "s ' är skalvärde -10^38 +1 10^38 -1 5-17 byte
decimal(p,s) Tillåter ett decimalvärde. Där "p ' är precisionsvärde och "s ' är skalvärde -10^38 +1 10^38 -1 5-17 byte
småpengar Tillåter data som valuta -214,748.3648 +214 748.3647 4 byte
pengar Tillåter data som valuta -922,337,203,685,477.5808 922.337.203.685.477.5807 8 byte

Låt oss nu titta på ungefärliga numeriska datatyper.

Ungefärliga numeriska datatyper

Datatyp Beskrivning/intervall
Lagring
Beskrivning FRÅN TO
float(n) Tillåter flytande precisionsnummerdata -1.79E + 308 1.79E + 308 4 eller 8 byte
riktig Tillåter flytande precisionsnummerdata -3.40E + 38 3.40E + 38 4 byte

Låt oss sedan i den här artikeln titta på de teckensträngsdatatyper som används i SQL.

SQL-datatyper: Teckensträngsdatatyper

Det här avsnittet i artikeln kommer att tala om karaktärsdatatyperna. Dessa datatyper tillåter tecken med fast och variabel längd. Se tabellen nedan.

Datatyp Beskrivning / Maximal storlek
Lagring
Beskrivning Maximal storlek
text Tillåter en teckensträng med variabel längd 2 GB textdata 4 byte + antal tecken
varchar(max) Tillåter en teckensträng med variabel längd 2E + 31 tecken 2 byte + antal tecken
varchar Tillåter en teckensträng med variabel längd 8 000 tecken 2 byte + antal tecken
char Tillåter en teckensträng med fast längd 8 000 tecken Definerad bredd

OBS:
Frågor:Varför kan vi inte deklarera ett värde som är större än VARCHAR(8000)? Svar:VARCHAR(n) ansvarar för att lagra data på en radsida. Eftersom sidhuvudet på varje sida upptar de första 96 byten och endast 8096 byte med data (8192 -96) är tillgängliga för radoverhead och förskjutningar, kan du inte deklarera ett värde som är större än VARCHAR(8000).

Jag har även utökat datatypsektionerna för teckensträngar till Unicode-datatyper eftersom vår industri använder Unicode för konsekvent representation och hantering av text i de flesta av världens skrivsystem.

Datatyper för Unicode-teckensträngar

Datatyp Beskrivning / Maximal storlek
Lagring
Beskrivning Maximal storlek
ntext Tillåter en Unicode-sträng med variabel längd 2 GB textdata 4 byte + antal tecken
nvarchar(max) Tillåter en Unicode-sträng med variabel längd 2E + 31 tecken 2 byte + antal tecken
nvarchar Tillåter en Unicode-sträng med variabel längd 4 000 tecken 2 byte + antal tecken
nchar Tillåter en Unicode-sträng med fast längd 4 000 tecken Definerad bredd * 2

Låt oss sedan i den här artikeln titta på de binära datatyperna som används i SQL.

SQL-datatyper: Binära datatyper

Det här avsnittet i artikeln kommer att tala om binära datatyper. Dessa datatyper tillåter binära värden med fast och variabel längd. Se tabellen nedan.

Datatyp Beskrivning / Maximal storlek
Beskrivning Maximal storlek
bild Tillåter binär data med variabel längd 2 147 483 647 byte
varbinary(max) Tillåter binär data med variabel längd 2E + 31 byte
variabel Tillåter binär data med variabel längd 8 000 byte
binär Tillåter binär data med fast längd 8 000 byte

Låt oss sedan i den här artikeln titta på datatyperna för datum och tid som används i SQL.

SQL-datatyper: Datum och tid Datatyper

Det här avsnittet i artikeln kommer att prata om datatyperna för datum och tid. Dessa datatyper tillåter olika format för datum och tid. Se tabellen nedan.

Datatyp Beskrivning/intervall
Lagring
Beskrivning FRÅN TO
datum Lagrar datum i formatet År, Månad och Dagar. 1 januari 0001 31 december 9999 3 byte
tid Lagrar tid i formatet timmar, minuter och sekunder. 3-5 byte
datumtid Lagrar både datum och tid (med en noggrannhet på 3,33 millisekunder) 1 januari 1753 31 december 9999 8 byte
datetime2 Lagrar både datum och tid (med en noggrannhet på 100 nanosekunder) 1 januari 0001 31 december 9999 6-8 byte
smalldatetime Lagrar både datum och tid (med en noggrannhet på 1 minut) 1 januari 1900 6 juni 2079 4 byte
datumtidsförskjutning Samma som datetime2 med tillägg av en tidszonförskjutning 8-10 byte
tidsstämpel Lagrar ett unikt nummer som uppdateras varje gång en rad skapas eller ändras.

Låt oss sedan i den här artikeln titta på de olika datatyperna som är tillgängliga i SQL.

SQL-datatyper:Annat Datatyper

Det här avsnittet i artikeln kommer att tala om de datatyper som inte kan kategoriseras i ovanstående kategorier. Se tabellen nedan.

Datatyp Beskrivning
tabell Denna datatyp lagrar en resultatuppsättning för senare bearbetning.
xml Denna datatyp lagrar XML-formaterad data.
markör Denna datatyp ger en referens till ett markörobjekt.
uniqueidentifier Denna datatyp lagrar en globalt unik identifierare (GUID).
sql_variant
Denna datatyp lagrar värden för olika SQL-stödda datatyper förutom text, ntext och tidsstämpel.

Nu när du känner till datatyperna i SQL är jag säker på att du är nyfiken på att lära dig mer SQL. Här är en lista över artiklar som du kommer igång med:

  1. Vad är MySQL?
  2. MySQL-datatyper
  3. MySQL Workbench
  4. Spark SQL
  5. SQL-intervjufrågor

Så, gott folk, det är slutet på den här artikeln. Jag hoppas att du tyckte om att läsa den här artikeln. Vi har sett de olika datatyperna som hjälper dig att skriva frågor och leka med dina databaser. Om du vill lära dig mer om MySQL och lära känna denna relationsdatabas med öppen källkod, kolla in vår MySQL DBA Certifieringsutbildning som kommer med instruktörsledd liveutbildning och verklig projektupplevelse. Den här utbildningen hjälper dig att förstå MySQL på djupet och hjälper dig att bemästra ämnet.

Har du en fråga till oss? Nämn det i kommentarsfältet i den här artikeln så återkommer jag till dig.


  1. Hur skapar man dummyvariabelkolumner för tusentals kategorier i Google BigQuery?

  2. Docker-behållare för Postgres 9.1 exponerar inte port 5432 för värd

  3. Dela en kolumn i flera rader

  4. BESTÄLL EFTER datum och tid FÖRE GRUPP EFTER namn i mysql