Met de hoeveelheid data die in de wereld aanwezig is, is het bijna onmogelijk om data te beheren zonder de juiste databases. SQL is de kern van relationele databases die u verschillende opties biedt om met gegevens om te gaan, daarom zijn SQL-vaardigheden onmisbaar in de meeste functies. In dit artikel over SQL-gegevenstypen gaan we de verschillende gegevenstypen bespreken die in SQL worden gebruikt.
Het volgende wordt in dit artikel behandeld:
- Numerieke gegevenstypen
- Exacte numerieke gegevenstypen
- Geschatte numerieke gegevenstypen
- Typen tekenreeksgegevens
- Unicode-tekenreeksen gegevenstypen
- Binaire gegevenstypen
- Datum- en tijdgegevenstypen
- Andere gegevenstypen
Laten we dus met elk van hen aan de slag gaan.
SQL-gegevenstypen:numerieke typen
Dit gedeelte van het artikel gaat over de numerieke gegevenstypen. Deze gegevenstypen staan zowel ondertekende als niet-ondertekende gehele getallen toe. Ik heb de numerieke gegevenstypen onderverdeeld in de volgende twee secties:
- Exacte numerieke gegevenstypen
- Geschatte numerieke gegevenstypen
Exacte numerieke gegevenstypen
Gegevenstype | Beschrijving / Bereik | Opslag | ||
Beschrijving | FROM | TO | ||
bit | Een geheel getal dat 0, 1 of NULL kan zijn. | – | ||
tinyint | Staat hele getallen toe | 0 | 255 | 1 byte |
smallint | Staat hele getallen toe | -32.768 | 32,767 | 2 bytes |
int | Gehele getallen toestaan | -2.147.483.648 | 2.147.483.647 | 4 bytes |
bigint | Gehele getallen toestaan | -9.223.372.036.854.775.808 | 9.223.372.036.854.775.807 | 8 bytes |
numeric(p,s) | Staat een numerieke waarde toe. Waar 'p ' is precisiewaarde en 's ' is schaalwaarde | -10^38 +1 | 10^38 -1 | 5-17 bytes |
decimaal(p,s) | Staat een decimale waarde toe. Waar 'p ' is precisiewaarde en 's ' is schaalwaarde | -10^38 +1 | 10^38 -1 | 5-17 bytes |
smallmoney | Sta gegevens toe als valuta | -214,748.3648 | +214.748.3647 | 4 bytes |
geld | Sta gegevens toe als valuta | -922.337.203.685.477.5808 | 922.337.203.685.477.5807 | 8 bytes |
Laten we nu eens kijken naar geschatte numerieke gegevenstypen.
Geschatte numerieke gegevenstypen
Gegevenstype | Beschrijving / Bereik | Opslag | ||
Beschrijving | FROM | TO | ||
float(n) | Maakt zwevende precisiegetalgegevens mogelijk | -1.79E + 308 | 1.79E + 308 | 4 of 8 bytes |
echt | Maakt zwevende precisiegetalgegevens mogelijk | -3.40E + 38 | 3.40E + 38 | 4 bytes |
Laten we vervolgens in dit artikel kijken naar de gegevenstypen voor tekenreeksen die in SQL worden gebruikt.
SQL-gegevenstypen: Typen tekenreeksgegevens
Dit gedeelte van het artikel gaat over de gegevenstypen voor tekens. Deze datatypes laten karakters van vaste en variabele lengte toe. Raadpleeg de onderstaande tabel.
Gegevenstype | Beschrijving / Maximale grootte | Opslag | |
Beschrijving | Maximale grootte | ||
tekst | Laat een tekenreeks met variabele lengte toe | 2 GB aan tekstgegevens | 4 bytes + aantal tekens |
varchar(max) | Laat een tekenreeks met variabele lengte toe | 2E + 31 tekens | 2 bytes + aantal tekens |
varchar | Laat een tekenreeks met variabele lengte toe | 8.000 tekens | 2 bytes + aantal tekens |
char | Staat een tekenreeks met vaste lengte toe | 8.000 tekens | Gedefinieerde breedte |
OPMERKING:
Vraag:Waarom kunnen we geen waarde declareren die groter is dan VARCHAR(8000)? Ans:VARCHAR(n) is verantwoordelijk voor het opslaan van de gegevens in een rijpagina. Aangezien op elke pagina de paginakop de eerste 96 bytes in beslag neemt en er slechts 8096 bytes aan gegevens (8192 -96) beschikbaar zijn voor de rijoverhead en offsets, kunt u geen waarde declareren die groter is dan VARCHAR(8000).
Ook heb ik de secties voor het gegevenstype van tekenreeksen uitgebreid naar Unicode-gegevenstypen, aangezien onze branche Unicode gebruikt voor consistente weergave en verwerking van tekst in de meeste schrijfsystemen van de wereld.
Unicode-tekenreeksen gegevenstypen
Gegevenstype | Beschrijving / Maximale grootte | Opslag | |
Beschrijving | Maximale grootte | ||
ntext | Staat een Unicode-tekenreeks met variabele lengte toe | 2 GB aan tekstgegevens | 4 bytes + aantal tekens |
nvarchar(max) | Staat een Unicode-tekenreeks met variabele lengte toe | 2E + 31 tekens | 2 bytes + aantal tekens |
nvarchar | Staat een Unicode-tekenreeks met variabele lengte toe | 4.000 tekens | 2 bytes + aantal tekens |
nchar | Staat een Unicode-tekenreeks met vaste lengte toe | 4.000 tekens | Gedefinieerde breedte * 2 |
Laten we vervolgens in dit artikel kijken naar de binaire gegevenstypen die in SQL worden gebruikt.
SQL-gegevenstypen: Binaire gegevenstypen
Dit gedeelte van het artikel gaat over binaire gegevenstypen. Deze gegevenstypen maken binaire waarden van vaste en variabele lengte mogelijk. Raadpleeg de onderstaande tabel.
Gegevenstype | Beschrijving / Maximale grootte | |
Beschrijving | Maximale grootte | |
afbeelding | Staat binaire gegevens met variabele lengte toe | 2.147.483.647 bytes |
varbinary(max) | Staat binaire gegevens met variabele lengte toe | 2E + 31 bytes |
varbinary | Staat binaire gegevens met variabele lengte toe | 8.000 bytes |
binair | Staat binaire gegevens met een vaste lengte toe | 8.000 bytes |
Laten we vervolgens in dit artikel kijken naar de datum- en tijdgegevenstypen die in SQL worden gebruikt.
SQL-gegevenstypen: Datum en tijd Gegevenstypen
Dit gedeelte van het artikel gaat over de gegevenstypen voor datum en tijd. Deze datatypes laten verschillende formaten van datum en tijd toe. Raadpleeg de onderstaande tabel.
Gegevenstype | Beschrijving / Bereik | Opslag | ||
Beschrijving | FROM | TO | ||
datum | Slaat datum op in de notatie Jaar, Maand &Dagen. | 1 januari 0001 | 31 december 9999 | 3 bytes |
tijd | Slaat tijd op in uren, minuten en seconden. | 3-5 bytes | ||
datetime | Slaat zowel datum als tijd op (met een nauwkeurigheid van 3,33 milliseconden) | 1 januari 1753 | 31 december 9999 | 8 bytes |
datetime2 | Slaat zowel datum als tijd op (met een nauwkeurigheid van 100 nanoseconden) | 1 januari 0001 | 31 december 9999 | 6-8 bytes |
smalldatetime | Slaat zowel datum als tijd op (met een nauwkeurigheid van 1 minuut) | 1 januari 1900 | 6 juni 2079 | 4 bytes |
datetimeoffset | Hetzelfde als datetime2 met de toevoeging van een tijdzoneverschuiving | 8-10 bytes | ||
tijdstempel | Slaat een uniek nummer op dat wordt bijgewerkt telkens wanneer een rij wordt gemaakt of gewijzigd. |
Laten we vervolgens in dit artikel kijken naar de diverse gegevenstypen die beschikbaar zijn in SQL.
SQL-gegevenstypen:overige Gegevenstypen
Dit gedeelte van het artikel gaat over de gegevenstypen die niet in de bovenstaande categorieën kunnen worden ingedeeld. Raadpleeg de onderstaande tabel.
Gegevenstype | Beschrijving |
tabel | Dit gegevenstype slaat een resultatenset op voor latere verwerking. |
xml | Dit gegevenstype slaat gegevens in XML-indeling op. |
cursor | Dit gegevenstype geeft een verwijzing naar een cursorobject. |
unieke identificatie | Dit gegevenstype slaat een Globally Unique Identifier (GUID) op. |
sql_variant | Dit gegevenstype slaat waarden op van verschillende door SQL ondersteunde gegevenstypen, behalve tekst, ntext en tijdstempel. |
Nu je de gegevenstypen in SQL kent, ben je vast benieuwd naar meer SQL. Hier is een lijst met artikelen waarmee u aan de slag gaat:
- Wat is MySQL?
- MySQL-gegevenstypen
- MySQL-werkbank
- Spark SQL
- SQL-sollicitatievragen
Zo, mensen, dat is een einde aan dit artikel. Ik hoop dat je dit artikel met plezier hebt gelezen. We hebben de verschillende gegevenstypen gezien die u zullen helpen bij het schrijven van query's en spelen met uw databases. Als u meer wilt weten over MySQL en deze open source relationele database wilt leren kennen, bekijk dan onze MySQL DBA Certificeringstraining die wordt geleverd met een door een instructeur geleide live training en real-life projectervaring. Deze training zal u helpen MySQL diepgaand te begrijpen en u te helpen het onderwerp onder de knie te krijgen.
Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van dit artikel en ik neem contact met je op.