mysql data types what are different data types mysql
Lær om forskjellige MySQL-datatyper, dvs. numerisk, streng, datatype, JSON, boolsk, etc. med eksempler:
I denne opplæringen vil vi lære om forskjellige datatyper som støttes av MySQL. Datatyper er spesifisert mot hver kolonne når en tabell opprettes, og også mens du oppdaterer / endrer tabellen for å legge til en ny kolonne i den eksisterende tabellen
Vi vil lære om datatypene i tre forskjellige kategorier, dvs. numeriske datatyper, strengdatatyper og datatypetyper.
Hva du vil lære:
MySQL datatyper
Forutsetninger
Vi vil lære alle datatyper med arbeidseksempler i MySQL. Derfor anbefales det å ha MySQL installert for å utføre spørsmålene sammen med detaljer for en bedre forståelse av konseptet.
Du kan også opprette en eksempeldatabase som heter sql_data_types som inneholder alle tabellene som vi vil bruke til eksempler.
create database sql_data_types; use sql_data_types;
Numeriske datatyper
Numeriske datatyper kan deles inn i tre typer:
- Heltall datatyper
- Faste punkttyper
- Flytpunkttyper
La oss diskutere hver av disse:
Heltall datatyper
Disse datatypene støtter hele tall uten noen desimalrepresentasjon. Det er forskjellige undertyper som - INT, TINYINT, MEDIUMINT, SMALLINT, BIGINT
INT:
Syntaks:
INT((width)) (UNSIGNED) (ZEROFILL)
Fakta:
Beskrivelse | Område | Hukommelse | Alternativer |
---|---|---|---|
MEDIUMBLOB | 0-16 777 215 (16 MB) | CREATE TABLE mediumblob_example(mediumblob_col MEDIUMBLOB); | |
Mest brukte numeriske type. Lagrer hele tall STANDARD - Usignerte verdier | –2,147,483,648 til 2,147,483,647 | 4 byte | Hvis det brukes med UNSIGNED-alternativet - Området endres til 0 til 4 294 967 295 Bredde-alternativet kan brukes med ZEROFILL for å legge inn oppføringene med null for verdier mindre enn bredden |
Eksempler:
Vi vil lage en tabell med 1 kolonne som har INT-datatype og forskjellige alternativer.
CREATE TABLE numbers_int(int_col INT) INSERT into numbers_int values(100),(-324),(2456),(-100000); select * from numbers_int
Utdata fra SELECT-kommandoen:
CREATE TABLE numbers_int_options(int_col_with_options INT(4) ZEROFILL ); INSERT into numbers_int_options values(1),(123),(1234),(12345); select * from numbers_int_options;
Resultat av kommandoen ovenfor:
Andre varianter av INT:
Det er flere alternativer tilgjengelig for INT, avhengig av de spesifikke kravene. Disse brukes vanligvis når minne eller plass er et problem, men for alle praktiske formål er INT den mest brukte.
De forskjellige variantene av INT-datatypen som er tilgjengelige er listet opp nedenfor:
Data-type | Område | Eksempel | Minne / Bytes brukt |
---|---|---|---|
TINYINT | -128 - 127 | CREATE TABLE numbers_tinyint(tinyint_col TINYINT); | 1 |
SMALLINT | -32768 - 32767 | CREATE TABLE numbers_smallint(smallint_col SMALLINT); | to |
MEDIUMINT | -8388608 - 8388607 | CREATE TABLE numbers_mediumint(mediumint_col MEDIUMINT); | 3 |
STOR | -2 ^ 63 - (2 ^ 63-1) | CREATE TABLE numbers_bigint(bigint_col BIGINT); | 8 |
Flytpunkttyper
Flytpunkttyper er omtrentlige verdityper, og dette avhenger av nei. med desimal presisjon spesifisert under kolonnetypedeklarasjonen.
Det er to typer datatyper med flytende punkt: FLOAT og DOUBLE som støtter forskjellige områder og bruker minne / lagring.
FLYT & DOBBELT
I henhold til den nye anbefalte syntaksen - både FLOAT og DOUBLE presisjon kan spesifiseres ved hjelp av bare FLOAT-datatyper.
Syntaks:
FLOAT(p)
Her, s -> presisjon
Fakta:
Beskrivelse | Hukommelse | Alternativer | Eksempler |
---|---|---|---|
FLOAT / DOUBLE representerer flytende tall med omtrentlige verdier Dvs. når MySQL lagrer disse verdiene, tilnærmes disse verdiene til nærmeste presisjon i henhold til den angitte typen. Presisjon mellom 0-23 representerer FLOAT-typen, mens 24 til 53 vil generere en dobbel type som bruker 8 byte | -Presisjon - 0-23 => 4 byte -Presisjon -24-53 => 8 byte | -Floating point numbers kan signeres så vel som UNSIGNED FLOAT er generelt nøyaktig opptil 7 desimaler, mens DOUBLE er nøyaktig opptil 14 desimaler -Det er også en annen ikke-standard måte å erklære FLOAT og DOUBLE med spesifikasjonen av presisjonspunkter FLOAT (n, d) - der n er totaltall og d er desimaltegn | -Lag tabell med en kolonne DOUBLE datatype CREATE TABLE numbers_double (double_col FLOAT (30)); -Lag tabell med en kolonne DOUBLE datatype og presisjonssifre som 5 CREATE TABLE numbers_double (double_col DOUBLE (20,5)); |
La oss se noen eksempler på å hente verdiene til doble typer:
CREATE TABLE numbers_double(double_col DOUBLE(20,5)); insert into numbers_double VALUES(123.45),(-145),(12.3456788); select * from numbers_double;
Resultat av SELECT-setningen:
Vi kan se her at verdiene er lagret med opptil 5 desimaler som spesifisert under datatypedeklarasjonen.
Faste punkttyper
Disse datatypene brukes til å lagre en nøyaktig verdi med bestemt presisjon. Disse datatypene brukes vanligvis når nøyaktig presisjonslagring er nødvendig. For eksempel, bankkontoer er det et krav å opprettholde saldoer med to desimaler, vi trenger data som skal lagres med nøyaktig presisjon.
DESIMAL / NUMERISK
Syntaks:
DECIMAL((width(,decimals))) (UNSIGNED) (ZEROFILL)
Fakta:
Beskrivelse | Område | Hukommelse | Alternativer |
---|---|---|---|
DECIMAL er en numerisk datatype i MySQL og lagrer eksakte verdier med presisjonen som er spesifisert. Standard skala eller bredde for DECIMAL-datatypen er presisjon 10 og 0. Vær oppmerksom på at typene DECIMAL og NUMERIC kan brukes om hverandre. | Avhenger av det angitte området For eksempel DECIMAL (5,2) vil ha en rekkevidde på -999,99 til 999,99 | MySQL-brukere binære format for å lagre DECIMAL datatype - Det krever fire byte for hver ni sifre - Så for eksempel, hvis vi har DECIMAL (14,2) - vil kreve totalt - 9 (4) + 2 (1) => 7 byte | -Maks. Verdi av bredde kan være 265 -Antallet desimaler er valgfritt og standardverdien er 0 |
Eksempel:
CREATE TABLE numbers_decimal(dec_col DECIMAL(4,2)) INSERT INTO numbers_decimal values(-99),(50.50);
DateTime datatyper
DateTime-datatyper i MySQL brukes, som navnet antyder, til å lagre dato- og tidsverdier i MySQL-databasen.
Det er to tidsmessige typer støttet av MySQL - DATETIME og TIMESTAMP
La oss diskutere begge disse i avsnittene nedenfor.
DATO TID
Syntaks:
DATETIME(n)
Her er n -> presisjon / brøkdel av sekunder del (Maks presisjon som støttes er 6).
Fakta:
Beskrivelse | Område | Hukommelse | Eksempler |
---|---|---|---|
Brukes til å lagre dato og tid i MySQL-kolonnen Når du blir spurt kolonnedataene viser datatid i formatet nedenfor: ÅÅÅÅ-MM-DD HH: MM: SS | 1000-01-01 00:00:00 - 9999-12-31 23:59:59 | 5 byte Når en brøkdel er inkludert, forbrukes en ekstra byte for hver 2 brøkdel. | CREATE table datetime_example(date_col DATETIME); // UTGANG date_col 2020-08-08 22:22:53 |
TIDSTEMPEL
Syntaks:
TIMESTAMP(n)
Her, n -> presisjon / brøkdel av sekunder del (Maks presisjon som støttes er 6)
Fakta:
Beskrivelse | Område | Hukommelse | Eksempler |
---|---|---|---|
En annen tidsmessig datatype som brukes til å lagre datetid. Denne lagrer datoen som UTC også med et begrenset område mellom 1970 og 2038 | 1970-01-01 00:00:01 UTC - 2038-01-19 03:14:07 UTC | 4 byte | CREATE table timestamp_example(ts_col TIMESTAMP); PRODUKSJON ts_col 2020-08-08 22:19:11 |
Strengdatatyper
Strengdatatyper, som navnet antyder, brukes til å lagre strenger / tekster eller klatter med tekstinformasjon i databasen. Avhengig av brukssaken er det forskjellige slike datatyper tilgjengelig - CHAR, VARCHAR, BINARY, VARBINARY, TEXT, ENUM, SET & BLOB
La oss forstå hver av disse forskjellige datatypene med eksempler.
CHAR Og VARCHAR
Begge disse typene brukes til å lagre strengverdier i kolonnene i MySQL, men de er forskjellige i hvordan verdier lagres og hentes.
CHAR & VARCHAR deklareres med lengde, som indikerer den maksimale lengden på strengen du vil lagre i kolonnen.
Syntaks:
CHAR(n) VARCHAR(n)
Her, n -> maks nr. av tegn som skal lagres av kolonnen
Fakta:
Type | Beskrivelse | Område | Eksempler |
---|---|---|---|
CHAR Syntaks - CHAR (n) | CHAR kan lagre 'n' lengde streng som definert under erklæringen. Hvis strengen er mindre enn n, er den polstret med mellomrom. | Lengden på datatypen CHAR kan variere fra 0 - 255 Avhengig av lengde vil minneforbruket variere fra 0 - 255 byte. | CREATE TABLE string_example(char_col CHAR(50)); |
VARCHAR Syntaks - VARCHAR (n) | VARCHAR lar deg lagre strenger med variabel lengde og forbruke minne mot den faktiske størrelsen på lagret streng i stedet for den maksimale verdien som er spesifisert under kolonnedefinisjonen. | Lengden på VARCHAR-datatypen kan variere fra 0 - 65535 Avhengig av lengde vil minneforbruket variere fra 0 - 65535 byte. | CREATE TABLE string_example(varchar_col VARCHAR(50)); |
BINÆR OG VARBINÆR
I likhet med CHAR og VARCHAR - disse datatypene lagrer strenger, men i binært format.
Lengden på BINARY og VARBINARY datatyper måles i byte i motsetning til antall tegn i CHAR og VARCHAR datatyper.
Syntaks:
BINARY(n) VARBINARY(n)
Her, n -> maks nr. av byte som skal lagres av kolonnen.
Fakta:
Type | Beskrivelse | Område | Eksempler |
---|---|---|---|
BINAR Syntaks - BINAR (n) | BINARY kan lagre ‘n’ binære byte. For verdier mindre enn n er de riktig polstret med 0 byte og lagret | Lengden på BINAR datatype kan variere fra 0 - 255 Avhengig av lengde vil minneforbruket variere fra 0 - 255 byte. | CREATE TABLE binary_string(binary_col BINARY(50)); |
VARBINÆR Syntaks - VARBINÆR (n) | VARBINÆR lar deg lagre binære strenger med variabel lengde opp til ’n lengde (som spesifisert i kolonnedefinisjon) | Lengden på VARBINÆR datatype kan variere fra 0 - 65535 Avhengig av lengde vil minneforbruket variere fra 0 - 65535 byte. | CREATE TABLE variable_binary_string(varbinary_col VARBINARY(50)); |
La oss forstå BINAR datatypen mer detaljert. Vi vil lage en tabell med en kolonne av binær og varbinær datatype og inspisere innholdet.
CREATE TABLE binary_strings(binary_col BINARY(50), varbinary_col VARBINARY(50)); INSERT into binary_strings values('hello', 'hello'); SELECT * from binary_strings;
Nå har vi sett utgangen som BLOB som betyr - B inary L dårlig OB ject - og dette er ingenting annet enn Binary / Hex-representasjon av strengverdiene som vi har satt inn i kolonnene.
Nå skal vi inspisere verdiene til disse binære strengene og se hvordan de lagres.
La oss først se verdien til stede i ‘binary_col’ som er av BINÆR datatype.
La oss forstå hva som er verdiene som lagres - Hvis du merker verdiene mot de første 5 oppføringene - dvs. første rad og første 5 kolonner (0-4)
Dette er bare HEX-representasjonene for tegnene i String ‘hallo’ som vi har lagret.
Nå som det er en BINÆR datatype med lengde 50, kan vi se at resten av byte er polstret med '00' verdier som ikke er annet enn byte-representasjon for siffer '0'.
Se verdien som er tilstede i ‘varbinary_col’ som er av VARBINÆR datatype.
Her, for VARBINÆR, kan du se at verdiene bare er fylt ut for en lengde på 5, som tilsvarer strenglengden til vi lagret. Det er ingen null polstring selv om vi erklærte en VARBINÆR kolonne med lengde 50.
BLOB OG TEKST
BLOB og TEXT datatyper ligner på BINARY og CHAR datatyper med det skillet at de kan støtte større størrelser i forhold til deres grunnleggende kolleger.
Det er viktig å merke seg at BLOB lagrer data som binære strenger mens TEXT-datatypen lagrer som ikke-binære strenger. Dessuten krever ikke alle disse datatypene å spesifisere lengden mens du nevner datatypen. De har iboende variabel lengde i naturen og bruker minne mot bare det som er lagret som den faktiske kolonneverdien.
BLOB-datatyper brukes vanligvis til å lagre filer som bilder, pdf-dokumenter osv. Som binære strenger på en sikker og effektiv måte.
Detaljer om forskjellige varianter av BLOB og TEXT datatyper er vervet nedenfor:
Type | Område | Beskrivelse | Eksempler |
---|---|---|---|
TINYTEXT | 0-255 (255 byte) | Området er det samme som VARCHAR - Brukes til å lagre liten info som titler, forfatternavn etc. | CREATE TABLE tinytext_example(tinytext_col TINYTEXT); |
TEKST | 0-65535 (64KB) | Denne datatypen er tilstrekkelig til å lagre tekst for en liten til mellomstor artikkel. | CREATE TABLE text_example(text_col TEXT); |
MEDIUMTEXT | 0-16 777 215 (16 MB) | Denne datatypen kan være tilstrekkelig til å lagre tekst for en hel lærebok | CREATE TABLE mediumtext_example(mediumtext_col MEDIUMTEXT); |
LONGTEXT | 0 - 4 294 967 295 (4 GB) | LONGTEXT brukes sjelden spesielt i tilfeller der MEDIUMTEXT ikke er tilstrekkelig. | CREATE TABLE longtext_example(longtext_col LONGTEXT); |
TINYBLOB | 0-255 (255 byte) | Alle BLOB-datatyper brukes til å lagre binære strenger og er vanligvis foretrukket for lagring av filer som bilder, pdf-dokumenter eller små applikasjoner i seg selv. Avhengig av størrelseskravene kan de forskjellige BLOB-datatypene velges og brukes. | CREATE TABLE tinyblob_example(tinyblob_col TINYBLOB); |
BLOB | 0-65535 (64KB) | CREATE TABLE blob_example(blob_col BLOB); | |
LONGBLOB | 0 - 4 294 967 295 (4 GB) | CREATE TABLE longblob_example(longblob_col LONGBLOB); |
ENUM
ENUM er en strengdatatype som forhåndsdefinerer de tillatte verdiene som en kolonne kan ha. Det ligner ENUM datatyper som finnes i forskjellige programmeringsspråk som JAVA, C #, etc.
Når lagrede ENUM-verdier blir konvertert til tall mot hver kolonneverdi, noe som resulterer i en betydelig lagring av minne for tabeller som har et stort antall poster, dvs. antar at vi har en ENUM med verdier - verdi 1, verdi 2 og verdi 3, da vil faktisk minnelagring være numerisk indekserer 1,2,3 bak kulissene.
Syntaks:
ENUM({comma separated enum values})
Eksempel på spørsmål:
Lag en tabell med to kolonner for lagring av mobile modeller som streng og firmanavn som ENUM-datatyper med verdier - APPLE, SAMSUNG og NOKIA. La oss også se spørsmål for å hente data mot en bestemt ENUM-verdi.
CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA')); INSERT INTO mobile_details values ('IPHONE X', 'APPLE'),('GALAXY M1', 'SAMSUNG'), ('GALAXY M2', 1) ;
I spørringen ovenfor kan du se at vi har brukt Enum-navn så vel som numeriske indekser både under innsetting.
La oss prøve å spørre alle mobile enheter med merkenavnet 'SAMSUNG', samt spørre mot den numeriske indeksen til SAMSUNG som er '1'.
SELECT * FROM mobile_details where brand='SAMSUNG' SELECT * FROM mobile_details where brand=1
Resultatet av begge ovennevnte spørsmål vil være det samme som nevnt nedenfor:
SETT
MySQL SET-datatype er et strengobjekt som kan ha en eller flere enn en verdi fra et tillatt område som beskrevet under kolonnedefinisjon. Det ligner på ENUM, men det tillater at flere verdier fra den definerte listen assosieres som kolonneverdier.
SET-datatyper lagres også som nummerindekser som starter 2 ^ 0 - dvs. 1,2,4,8 etc.
Syntaks:
SET({comma separated list of allowed values})
Eksempel:
La oss prøve å forstå SET-datatypen med eksempler. Vi lager en tabell med navnet mobile_details med en kolonnemodell av strengtype og en kolonne som heter støttet OS som er en angitt datatype og inneholder en liste over støttede operativsystemversjoner.
CREATE TABLE mobile_details(model VARCHAR(100), supported_os SET('ios9', 'ios10', 'android8', 'android9','android10'));
Vi kan se at vi har oppført operativsystemverdier som en del av en kolonne med SET-datatype. De tilsvarende DESIMAL-verdiene som er tilordnet disse er vervet nedenfor:
Nå, hvis vi vil tilordne SET-verdi, for eksempel, ‘Android8, android9’ til en rad kan vi ganske enkelt tildele tillegg av de tildelte desimalverdiene, dvs. 12 for å ha samme effekt.
Vennligst referer til INSERT-spørringen ovenfor for oppdrag til rad med modellnavn ‘GALAXYM1’
INSERT INTO mobile_details values ('IPHONE X', ('ios9,ios10')),('GALAXY M1', (12)), ('GALAXY M2', ('android9,android10')) ; SELECT * from mobile_details;
Resultat av kommandoen ovenfor:
Vi kan også spørre SET-kolonnen mot desimalrepresentasjonen - antar at vi vil spørre etter ‘ios9, ios10’ - summen av desimalrepresentasjonen er 3, så vi kan spørre som:
SELECT * from mobile_details where supported_os=3
Produksjon:
Spesielle datatyper
BOOLEAN
MySQL Boolean datatype lagrer en kolonneverdi som SANT eller FALSK. Denne datatypen er vanligvis egnet for lagring av flaggverdier i MySQL-tabellene. For eksempel - En bankkontotabell med en kolonne som heter is_savings_account kan lagre enten true eller false.
BOOLEAN-verdien lagres i MySQL som henholdsvis 1 eller 0 for henholdsvis SANT og FALSK.
Syntaks:
columnName BOOLEAN
Eksempel:
CREATE TABLE account_details(accNo BIGINT, is_savings BOOLEAN); INSERT into account_details values (123456,true), (110002, false), (234567, 1);
Når vi setter inn eller henter verdier for BOOLEAN-datatypen, kan vi enten bruke SANT eller FALSE eller deres numeriske representasjoner - dvs. 1 eller 0.
select * from account_details where is_savings=1;
Resultat av kommandoen ovenfor:
JSON
MySQL støtter native JSON som datatype for objekter i JSON-notasjon. Det gjør lagring, spørring og henting enkelt for JSON-dokumenter i stedet for lagring som tekststrenger eller binære blobs.
Syntaks:
columnName JSON
Fakta:
Definisjon | Område | Eksempler |
---|---|---|
JSON-datatypen brukes til å lagre dokumenter som er i JSON-format. Enhver kolonne definert som JSON vil føre til en feil hvis en ugyldig JSON er lagret av et INSERT-spørsmål. | Rekkevidden eller størrelsen på JSON-datatypen ligner på LONGTEXT eller LONGBLOB | CREATE TABLE json_example(json_col JSON); |
Eksempel:
MySQL gir forskjellige funksjoner for spørring av JSON-data. La oss prøve å sette inn nedenfor JSON, og så ser vi MySQL-funksjoner å spørre om.
{ 'data': { 'id': 1, 'email': 'test@abc.com', 'first_name': 'Steve', 'last_name': 'Wilson', } } { 'data': { 'id': 2, 'email': 'test@123.com', 'first_name': 'Alex', 'last_name': 'Johson', } }
La oss se kommandoer for å lage tabell og sette inn JSON-data.
create table json_example(json_col JSON); insert into json_example values( '{'data': { 'id': 1, 'email': 'test@abc.com', 'first_name': 'Steve', 'last_name': 'Wilson' }}'); insert into json_example values( '{'data': { 'id': 2, 'email': 'test@123.com', 'first_name': 'Alex', 'last_name': 'Johnson' }}');
Spørre bordet og skriv ut fornavn og e-postfelt fra JSON-dataene som er lagret i tabellradene.
select json_col->'$.data.first_name' as firstname, json_col->'$.data.email' as email from json_example
Produksjon:
ofte stilte spørsmål
Q # 1) Hvordan kan vi endre datatypen for en MySQL-kolonne når den er tildelt?
Svar: Datatypen til kolonnen kan endres ved hjelp av ALTER TABLE Kommando .
Tenk på en tabell student_info som har to kolonner navn og alder på typene VARCHAR og INT. Dette kan oppnås ved hjelp av følgende CREATE TABLE-kommando:
CREATE TABLE student_info(name CHAR(20), age INT);
Det er noen varianter i denne kommandoen
hvordan legge til svn-depot i formørkelse
- Hvis vi bare vil endre datatypen i kolonnen - Vi kan bruke MODIFY-kommandoen sammen med ALTER
I tabellen ovenfor antar vi at vi vil endre datatypen for alderskolonnen, vi kan bruke følgende kommando
ALTER TABLE student_info MODIFY age TINYINT
- Hvis vi vil endre kolonnenavnet så vel som datatypen til kolonnen - Vi kan bruke ENDRE-kommandoen sammen med ALTER
I tabellen ovenfor antar vi at vi vil endre navnet på kolonnen fra 'navn' til 'sname' og datatype fra CHAR til VARCHAR (50), vi kan bruke følgende kommando:
ALTER TABLE student_info CHANGE name sname VARCHAR(50)
Q # 2) Hva er datatypen for et bilde i mysql?
Svar: For å lagre noen av filtypene i MySQL som bilder, pdf osv. BLOB eller binær datatype er den mest egnede typen. Det er forskjellige varianter av BLOB-datatype tilgjengelig, avhengig av størrelsen på målfilen vi vil lagre. Vi kan bruke varianter av BLOB som - TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB
Q # 3) Hvilken datatype er mer egnet for lagring av dokumenter i mysql?
Svar: I likhet med BLOB for bilder eller pdf-filer, for lagring av tekstdokumenter / artikler, kan TEXT-datatypen brukes. Dette er en utvidelse av CHAR-datatypen med støtte for ekstra tegnlagring.
De forskjellige variantene av TEXT-datatypen som er tilgjengelige er - TEKST, TINYTEXT, MEDIUMTEXT & LONGTEXT
Q # 4) Hva er datatypen for valuta i MySQL?
Svar: For lagring av data for valutaverdier er den mest egnede datatypen DESIMAL. Den brukes til å lagre datatyper med nøyaktig presisjon. For eksempel, et kolonnenavn med typen DECIMAL (4,2), lagrer verdier i området -99,99 til 99,99 og returnerer verdien med samme presisjon ved henting i motsetning til. tilnærming for flytende punktum.
Q # 5) Hva skjer hvis noen prøver å sette inn negative tall for UNSIGNED heltalskolonner?
Svar: MySQL genererer en feil for slike innleggssetninger
La oss prøve å lage en tabell med en INT-kolonne som har UNSIGNED.
CREATE TABLE int_unsigned(age INT UNSIGNED); INSERT into int_unsigned values(-350);
Error Code: 1264. Out of range value for column 'int_col_with_options' at row 1
Sp # 6) Hvordan får jeg gjeldende datadata i mysql?
Svar: MySQL tilbyr 2 innebygde datofunksjoner for å hente nåværende verdier
CURDATE () -funksjonen returnerer gjeldende dato
SELECT CURDATE();
Produksjon
2020-08-10
NOW () -funksjonen returnerer gjeldende dato med tidsstempel.
SELECT NOW();
Produksjon
2020-08-10 00:42:54
Sp # 7) Uten for CHAR og VARCHAR - hvilken er mer egnet?
Svar: VARCHAR står for variabel karakter og har en viktig fordel ved å forbruke mindre minne i forhold til CHAR av samme lengde. For eksempel, En kolonne med VARCHAR (50) hvis lagrer strenger med lengde 20 vil resultere i å forbruke bare 20 byte i motsetning til en datatype erklært med CHAR (50)
Sp # 8) Hvordan oppdaterer jeg ENUM-verdien i MySQL?
Svar: For å oppdatere en ENUM-kolonne i MySQL, må du endre med å nevne de eksisterende kolonneverdiene slik at de eksisterende oppføringene forblir intakte.
La oss prøve å forstå dette med et eksempel.
Anta at vi har en tabell som heter mobile_details med et modellfelt som String (VARCHAR) og merkevarekolonne som ENUM med innledende verdier som 'APPLE', SAMSUNG 'og' NOKIA '
Anta at vi ønsker å legge til et annet merkenavn ‘MOTOROLA’ i det eksisterende enumet. La oss se spørsmålene vi trenger å utføre.
CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA'));
Når du er opprettet, kan du få detaljer om originale ENUM-verdier ved hjelp av DESCRIBE-kommandoen
DESCRIBE mobile_details;
La oss nå kjøre kommandoen for å oppdatere ENUM
ALTER TABLE mobile_details MODIFY column brand ENUM('SAMSUNG', 'APPLE', 'NOKIA', 'MOTOROLA');
Vi kan igjen kjøre DESCRIBE-kommandoen for å se om oppdateringene blir brukt.
DESCRIBE mobile_details
Her er utdataene fra kommandoen ovenfor:
Konklusjon
I denne opplæringen lærte vi om de forskjellige datatypene som støttes av MySQL.
Vi lærte om datatyper for numerisk, flytende, streng og dato samt syntaks og forskjellige eksempler.
MySQL datatyper er grunnleggende byggesteiner for å komme i gang, og en av de mest avgjørende aspektene under MySQL Schema Design.
Anbefalt lesing
- C ++ datatyper
- Python datatyper
- C # Datatyper og variabler med eksempler
- PL SQL-datatyper, variabler, konstanter og bokstaver
- Array Data Typer - int Array, Double array, Array of Strings Etc.
- MySQL Slett uttalelse - Slett kommandasyntaks og eksempler
- MySQL Sett inn i tabellen - Sett inn uttalelsessyntaks og eksempler
- MySQL JOIN Opplæring: indre, ytre, kryss, venstre, høyre og selv