Med den mængde data, der findes i verden, er det næsten umuligt at administrere data uden ordentlige databaser. SQL er kernen i relationelle databaser, som giver dig forskellige muligheder for at håndtere data, derfor er SQL-færdigheder uundværlige i de fleste jobroller. I denne artikel om SQL-datatyper vil vi diskutere de forskellige datatyper, der bruges i SQL.
Følgende er dækket i denne artikel:
- Numeriske datatyper
- Nøjagtige numeriske datatyper
- Omtrentlig numeriske datatyper
- Tegnstrengdatatyper
- Unicode-tegnstrenge-datatyper
- Binære datatyper
- Datatyper for dato og klokkeslæt
- Andre datatyper
Så lad os komme i gang med hver enkelt af dem.
SQL-datatyper:Numeriske typer
Dette afsnit af artiklen vil tale om de numeriske datatyper. Disse datatyper tillader både signerede og usignerede heltal. Jeg har opdelt de numeriske datatyper i følgende to sektioner:
- Nøjagtige numeriske datatyper
- Omtrentlig numeriske datatyper
Nøjagtige numeriske datatyper
Datatype | Beskrivelse/interval | Opbevaring | ||
Beskrivelse | FRA | TO | ||
bit | Et heltal, der enten kan være 0, 1 eller NULL. | – | ||
tinyint | Tillader hele tal | 0 | 255 | 1 byte |
smallint | Tillader hele tal | -32.768 | 32.767 | 2 bytes |
int | Tillader hele tal | -2.147.483.648 | 2.147.483.647 | 4 bytes |
bigint | Tillader hele tal | -9.223.372.036.854.775.808 | 9.223.372.036.854.775.807 | 8 bytes |
numeric(p,s) | Tillader en numerisk værdi. Hvor 'p ' er præcisionsværdi og 's ' er skalaværdi | -10^38 +1 | 10^38 -1 | 5-17 bytes |
decimal(p,s) | Tillader en decimalværdi. Hvor 'p ' er præcisionsværdi og 's ' er skalaværdi | -10^38 +1 | 10^38 -1 | 5-17 bytes |
småpenge | Tillader data som valuta | -214.748.3648 | +214.748.3647 | 4 bytes |
penge | Tillader data som valuta | -922.337.203.685.477.5808 | 922.337.203.685.477.5807 | 8 bytes |
Lad os nu se nærmere på omtrentlige numeriske datatyper.
Omtrentlig numeriske datatyper
Datatype | Beskrivelse/interval | Opbevaring | ||
Beskrivelse | FRA | TO | ||
float(n) | Tillader flydende præcisionsdata | -1.79E + 308 | 1.79E + 308 | 4 eller 8 bytes |
rigtig | Tillader flydende præcisionsdata | -3.40E + 38 | 3.40E + 38 | 4 bytes |
Lad os dernæst i denne artikel se nærmere på de tegnstrengsdatatyper, der bruges i SQL.
SQL-datatyper: Tegnstrengdatatyper
Dette afsnit af artiklen vil tale om karakterdatatyperne. Disse datatyper tillader tegn med fast og variabel længde. Se nedenstående tabel.
Datatype | Beskrivelse / Maksimal størrelse | Opbevaring | |
Beskrivelse | Maksimal størrelse | ||
tekst | Tillader en tegnstreng med variabel længde | 2 GB tekstdata | 4 bytes + antal tegn |
varchar(max) | Tillader en tegnstreng med variabel længde | 2E + 31 tegn | 2 bytes + antal tegn |
varchar | Tillader en tegnstreng med variabel længde | 8.000 tegn | 2 bytes + antal tegn |
char | Tillader en tegnstreng med fast længde | 8.000 tegn | Defineret bredde |
BEMÆRK:
Spørgsmål:Hvorfor kan vi ikke erklære en værdi større end VARCHAR(8000)? Svar:VARCHAR(n) er ansvarlig for at gemme dataene på en rækkeside. Da sidehovedet på hver side optager de første 96 bytes og kun 8096 bytes data (8192 -96) er tilgængelige for rækkeoverhead og forskydninger, kan du ikke erklære en værdi større end VARCHAR(8000).
Jeg har også udvidet datatypeafsnittene for tegnstrenge til Unicode-datatyper, da vores branche bruger Unicode til ensartet repræsentation og håndtering af tekst i de fleste af verdens skrivesystemer.
Datatyper for Unicode-tegnstrenge
Datatype | Beskrivelse / Maksimal størrelse | Opbevaring | |
Beskrivelse | Maksimal størrelse | ||
ntext | Tillader en Unicode-streng med variabel længde | 2 GB tekstdata | 4 bytes + antal tegn |
nvarchar(max) | Tillader en Unicode-streng med variabel længde | 2E + 31 tegn | 2 bytes + antal tegn |
nvarchar | Tillader en Unicode-streng med variabel længde | 4.000 tegn | 2 bytes + antal tegn |
nchar | Tillader en Unicode-streng med fast længde | 4.000 tegn | Defineret bredde * 2 |
Lad os dernæst i denne artikel se nærmere på de binære datatyper, der bruges i SQL.
SQL-datatyper: Binære datatyper
Dette afsnit af artiklen vil tale om binære datatyper. Disse datatyper tillader binære værdier af fast og variabel længde. Se nedenstående tabel.
Datatype | Beskrivelse / Maksimal størrelse | |
Beskrivelse | Maksimal størrelse | |
billede | Tillader binære data med variabel længde | 2.147.483.647 bytes |
varbinary(max) | Tillader binære data med variabel længde | 2E + 31 bytes |
variabel | Tillader binære data med variabel længde | 8.000 bytes |
binær | Tillader binære data med fast længde | 8.000 bytes |
Lad os dernæst i denne artikel se nærmere på de datatyper for dato og klokkeslæt, der bruges i SQL.
SQL-datatyper: Dato og tid Datatyper
Dette afsnit af artiklen vil tale om datatyperne for dato og klokkeslæt. Disse datatyper tillader forskellige formater af dato og klokkeslæt. Se nedenstående tabel.
Datatype | Beskrivelse/interval | Opbevaring | ||
Beskrivelse | FRA | TO | ||
dato | Gemmer dato i formatet År, Måned og Dage. | 1. januar 0001 | 31. december 9999 | 3 bytes |
tid | Gemmer tid i formatet timer, minutter og sekunder. | 3-5 bytes | ||
datotid | Gemmer både dato og klokkeslæt (med en nøjagtighed på 3,33 millisekunder) | 1. januar 1753 | 31. december 9999 | 8 bytes |
datetime2 | Gemmer både dato og klokkeslæt (med en nøjagtighed på 100 nanosekunder) | 1. januar 0001 | 31. december 9999 | 6-8 bytes |
smalldatetime | Gemmer både dato og klokkeslæt (med en nøjagtighed på 1 minut) | 1. januar 1900 | 6. juni 2079 | 4 bytes |
datotidsforskydning | Det samme som datetime2 med tilføjelse af en tidszoneforskydning | 8-10 bytes | ||
tidsstempel | Gemmer et unikt nummer, som bliver opdateret, hver gang en række oprettes eller ændres. |
Lad os dernæst i denne artikel se nærmere på de forskellige datatyper, der er tilgængelige i SQL.
SQL-datatyper:Andet Datatyper
Dette afsnit af artiklen vil tale om de datatyper, der ikke kan kategoriseres i ovenstående kategorier. Se nedenstående tabel.
Datatype | Beskrivelse |
tabel | Denne datatype gemmer et resultatsæt til senere behandling. |
xml | Denne datatype gemmer XML-formaterede data. |
markør | Denne datatype giver en reference til et markørobjekt. |
uniqueidentifier | Denne datatype gemmer en globalt unik identifikator (GUID). |
sql_variant | Denne datatype gemmer værdier af forskellige SQL-understøttede datatyper undtagen tekst, ntext og tidsstempel. |
Nu hvor du kender datatyperne i SQL, er jeg sikker på, at du er nysgerrig efter at lære mere SQL. Her er en liste over artikler, som du kommer i gang med:
- Hvad er MySQL?
- MySQL-datatyper
- MySQL Workbench
- Spark SQL
- SQL-interviewspørgsmål
Så folkens, det er en ende på denne artikel. Jeg håber, du nød at læse denne artikel. Vi har set de forskellige datatyper, der vil hjælpe dig med at skrive forespørgsler og lege med dine databaser. Hvis du ønsker at lære mere om MySQL og lære denne open source relationsdatabase at kende, så tjek vores MySQL DBA Certificeringstræning som kommer med instruktørledet livetræning og projekterfaring i det virkelige liv. Denne træning vil hjælpe dig med at forstå MySQL i dybden og hjælpe dig med at opnå beherskelse over emnet.
Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne artikel, så vender jeg tilbage til dig.