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:
- Vad är MySQL?
- MySQL-datatyper
- MySQL Workbench
- Spark SQL
- 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.