sql >> Database >  >> RDS >> Database

SQL-gegevenstypen begrijpen - Alles wat u moet weten over SQL-gegevenstypen

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:

  1. Wat is MySQL?
  2. MySQL-gegevenstypen
  3. MySQL-werkbank
  4. Spark SQL
  5. 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.


  1. PostgreSQL:Query heeft geen bestemming voor resultaatgegevens

  2. Kan een refererende sleutel verwijzen naar een niet-unieke index?

  3. Mijn MySQL-trigger werkt niet, eenvoudige syntaxis, niet ingewikkeld

  4. Voorwaardelijke lead/lag-functie PostgreSQL?