mysql data types what are different data types mysql
Lär dig om olika MySQL-datatyper, dvs Numerisk, Sträng, Datumdatatyp, JSON, Boolean, etc. med exempel:
I denna handledning lär vi oss om olika datatyper som stöds av MySQL. Datatyper anges mot varje kolumn när en tabell skapas och även när du uppdaterar / ändrar tabellen för att lägga till en ny kolumn i den befintliga tabellen
Vi lär oss om datatyperna i tre olika kategorier, dvs Numerisk datatyp, Strängdatatyper och Datetime-datatyper.
Vad du kommer att lära dig:
MySQL-datatyper
Förutsättningar
Vi kommer att lära oss alla datatyper med fungerande exempel i MySQL. Därför rekommenderas att MySQL installeras för att utföra frågorna tillsammans med detaljer för en bättre förståelse av konceptet.
Du kan också skapa en exempeldatabas med namnet sql_data_types som innehåller alla tabeller som vi skulle använda för exempel.
create database sql_data_types; use sql_data_types;
Numeriska datatyper
Numeriska datatyper kan delas in i tre typer:
- Heltalsdatatyper
- Fasta punkttyper
- Flytpunkttyper
Låt oss diskutera var och en av dessa:
Heltalsdatatyper
Dessa datatyper stöder heltal utan någon decimalrepresentation. Det finns olika undertyper som - INT, TINYINT, MEDIUMINT, SMALLINT, BIGINT
INT:
Syntax:
INT((width)) (UNSIGNED) (ZEROFILL)
Fakta:
Beskrivning | Räckvidd | Minne | alternativ |
---|---|---|---|
MEDIUMBLOB | 0-16 777 215 (16 MB) | CREATE TABLE mediumblob_example(mediumblob_col MEDIUMBLOB); | |
Mest använda numerisk typ. Lagrar hela siffror STANDARD - Osignerade värden | –2,147,483,648 till 2,147,483,647 | 4 bytes | Om det används med alternativet UNSIGNED - Området ändras till 0 till 4 294 967 295 Breddalternativet kan användas med ZEROFILL för att lägga in posterna med noll för värden som är mindre än bredden |
Exempel:
Vi skapar en tabell med en kolumn med INT-datatyp och olika alternativ.
CREATE TABLE numbers_int(int_col INT) INSERT into numbers_int values(100),(-324),(2456),(-100000); select * from numbers_int
Utdata från SELECT-kommandot:
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;
Output av ovanstående kommando:
Andra varianter av INT:
Det finns flera alternativ tillgängliga för INT beroende på de specifika kraven. Dessa används vanligtvis när minne eller utrymme är ett problem, men för alla praktiska ändamål är INT den mest använda.
De olika variationerna av INT-datatypen som är tillgängliga listas nedan:
Data typ | Räckvidd | Exempel | Minne / byte som används |
---|---|---|---|
TINYINT | -128 - 127 | CREATE TABLE numbers_tinyint(tinyint_col TINYINT); | 1 |
SMALLINT | -32768 - 32767 | CREATE TABLE numbers_smallint(smallint_col SMALLINT); | två |
MEDIUMINT | -8388608 - 8388607 | CREATE TABLE numbers_mediumint(mediumint_col MEDIUMINT); | 3 |
STORA | -2 ^ 63 - (2 ^ 63-1) | CREATE TABLE numbers_bigint(bigint_col BIGINT); | 8 |
Flytpunkttyper
Flytpunkttyper är ungefärliga värdetyper och detta beror på nej. med decimalpunktens precision som anges under kolumntypdeklarationen.
Det finns två typer av flytpunktsdatatyper: FLOAT och DOUBLE som stöder olika intervall och förbrukar minne / lagring.
FLOTT OCH DUBBELT
Enligt den nya rekommenderade syntaxen kan både FLOAT och DOUBLE precision anges med bara FLOAT-datatyper.
Syntax:
FLOAT(p)
Här, sid -> precision
Fakta:
Beskrivning | Minne | alternativ | Exempel |
---|---|---|---|
FLOAT / DOUBLE representerar flytpunkter med ungefärliga värden Dvs när MySQL lagrar dessa värden approximeras värdena till närmaste precision enligt den deklarerade typen. Precision mellan 0-23 representerar FLOAT-typ medan 24 till 53 skulle generera en dubbel typ som konsumerar 8 byte | -Precision - 0-23 => 4 byte -Precision -24-53 => 8 byte | - Flytpunktsnummer kan SIGNERAS såväl som UNSIGNED -FLOTT är i allmänhet korrekt upp till 7 decimaler medan DOUBLE är korrekt upp till 14 decimaler -Det finns också ett annat icke-standardiserat sätt att deklarera FLOAT och DOUBLE med specifikation av precisionspunkter FLOAT (n, d) - där n är totala siffror och d är decimaltecken | -Skapa tabell med en kolumn DOUBLE datatyp SKAPA TABELL numbers_double (dubbel_col FLOAT (30)); -Skapa tabell med en kolumn DOUBLE datatyp och precisionssiffror som 5 CREATE TABLE numbers_double (double_col DOUBLE (20,5)); |
Låt oss se några exempel på att hämta värdena för dubbla 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-uttalandet:
Vi kan här se att värdena lagras med upp till 5 decimaler som anges under datatypsdeklarationen.
Fasta punkttyper
Dessa datatyper används för att lagra ett exakt värde med bestämd precision. Dessa datatyper används vanligtvis när exakt lagring krävs. Till exempel, bankkonton är det ett krav att hålla saldon med två decimaler, vi behöver data för att lagras med exakt precision.
DECIMAL / NUMERISK
Syntax:
DECIMAL((width(,decimals))) (UNSIGNED) (ZEROFILL)
Fakta:
Beskrivning | Räckvidd | Minne | alternativ |
---|---|---|---|
DECIMAL är en numerisk datatyp i MySQL och lagrar exakta värden med den specificerade precisionen. Standardskalan eller -bredden för datatypen DECIMAL är precision 10 och 0. Observera att typerna DECIMAL och NUMERIC kan användas omväxlande. | Beror på det angivna intervallet Till exempel DECIMAL (5,2) skulle ha ett intervall från -999,99 till 999,99 | MySQL-användare binärt format för att lagra DECIMAL datatyp - Det kräver fyra byte för varje nio siffror - Så till exempel, om vi har DECIMAL (14,2) - skulle kräva totalt - 9 (4) + 2 (1) => 7 byte | -Maxvärdet på bredden kan vara 265 -Antal decimaler är valfritt och standardvärdet är 0 |
Exempel:
CREATE TABLE numbers_decimal(dec_col DECIMAL(4,2)) INSERT INTO numbers_decimal values(-99),(50.50);
DateTime-datatyper
DateTime-datatyper i MySQL används, som namnet antyder, för att lagra datum- och tidsvärden i MySQL-databasen.
Det finns två temporala typer som stöds av MySQL - DATETIME och TIMESTAMP
Låt oss diskutera båda dessa i nedanstående avsnitt.
DATUM TID
Syntax:
DATETIME(n)
Här, n -> precision / bråkdel av sekunder del (Max precision som stöds är 6).
Fakta:
Beskrivning | Räckvidd | Minne | Exempel |
---|---|---|---|
Används för att lagra datum och tid i MySQL-kolumnen När du frågas, kolumndata visar datumtid i formatet nedan: ÅÅÅÅ-MM-DD HH: MM: SS | 1000-01-01 00:00:00 - 9999-12-31 23:59:59 | 5 byte När en bråkdel ingår, konsumeras en extra byte för varje 2 bråkdel. | CREATE table datetime_example(date_col DATETIME); // UTGÅNG date_col 2020-08-08 22:22:53 |
TIDSSTÄMPEL
Syntax:
TIMESTAMP(n)
Här, n -> precision / bråkdel av sekunder del (Max precision stöds är 6)
Fakta:
Beskrivning | Räckvidd | Minne | Exempel |
---|---|---|---|
En annan temporär datatyp som används för att lagra datatid. Detta lagrar datumtid som UTC också med ett begränsat intervall mellan 1970 och 2038 | 1970-01-01 00:00:01 UTC - 2038-01-19 03:14:07 UTC | 4 bytes | CREATE table timestamp_example(ts_col TIMESTAMP); PRODUKTION ts_col 2020-08-08 22:19:11 |
Strängdatatyper
Strängdatatyper, som namnet antyder, används för att lagra strängar / texter eller klumpar av textinformation i databasen. Beroende på användningsfall finns det olika sådana datatyper tillgängliga - CHAR, VARCHAR, BINARY, VARBINARY, TEXT, ENUM, SET & BLOB
Låt oss förstå var och en av dessa olika datatyper med exempel.
CHAR och VARCHAR
Båda dessa typer används för att lagra strängvärden i kolumnerna i MySQL, men de skiljer sig åt i hur värden lagras och hämtas.
CHAR & VARCHAR deklareras med längd, vilket anger den maximala längden på strängen som du vill lagra i kolumnen.
Syntax:
CHAR(n) VARCHAR(n)
Här, n -> max nr. tecken som ska lagras i kolumnen
Fakta:
Typ | Beskrivning | Räckvidd | Exempel |
---|---|---|---|
RÖDING Syntax - CHAR (n) | CHAR kan lagra n-längdsträng enligt definitionen under deklarationen. Om strängen är mindre än n karaktär, är den vadderad med mellanslag. | Längden på CHAR-datatypen kan variera från 0 - 255 Beroende på längd varierar minnesförbrukningen från 0 - 255 byte. | CREATE TABLE string_example(char_col CHAR(50)); |
VARCHAR Syntax - VARCHAR (n) | VARCHAR låter dig lagra strängar med variabel längd och konsumera minne mot den faktiska storleken på den lagrade strängen snarare än det maximala värdet som anges under kolumndefinitionen. | Längden på VARCHAR-datatypen kan variera från 0 - 65535 Beroende på längd kan minnesförbrukningen variera från 0 - 65535 byte. | CREATE TABLE string_example(varchar_col VARCHAR(50)); |
BINÄRT OCH VARBINärt
Liknar CHAR och VARCHAR - dessa datatyper lagrar strängar men i binärt format.
Längden på datatyperna BINÄRA och VARBINÄRA mäts i byte i motsats till antalet tecken i datatyperna CHAR och VARCHAR.
Syntax:
BINARY(n) VARBINARY(n)
Här, n -> max nr. av byte som ska lagras i kolumnen.
Fakta:
Typ | Beskrivning | Räckvidd | Exempel |
---|---|---|---|
BINÄR Syntax - BINÄR (n) | BINARY kan lagra 'n' binära byte. För värden mindre än n är de rätt stoppade med 0 byte och lagras | Längden på BINÄR datatyp kan variera från 0 - 255 Beroende på längd varierar minnesförbrukningen från 0 - 255 byte. | CREATE TABLE binary_string(binary_col BINARY(50)); |
VARBINÄR Syntax - VARBINÄR (n) | VARBINÄR kan du lagra binära strängar med variabel längd upp till en längd (som anges i kolumndefinition) | Längden på VARBINÄR datatyp kan variera från 0 - 65535 Beroende på längd kan minnesförbrukningen variera från 0 - 65535 byte. | CREATE TABLE variable_binary_string(varbinary_col VARBINARY(50)); |
Låt oss förstå den BINÄRA datatypen mer detaljerat. Vi skapar en tabell med en kolumn av binär och varbinär datatyp och inspekterar innehållet.
CREATE TABLE binary_strings(binary_col BINARY(50), varbinary_col VARBINARY(50)); INSERT into binary_strings values('hello', 'hello'); SELECT * from binary_strings;
Nu har vi sett utdata som BLOB vilket betyder - B inary L dålig OB ject - och dessa är inget annat än binär / hex-representation av de strängvärden som vi har infogat i kolumnerna.
Nu kommer vi att inspektera värdena för dessa binära strängar och se hur de lagras.
Låt oss först se det värde som finns i 'binary_col' som är av BINÄR datatyp.
Låt oss förstå vilka värden som lagras - Om du märker värdena mot de fem första posterna - dvs. första raden och de fem första kolumnerna (0-4)
Det här är bara HEX-representationerna för karaktärerna i strängen 'hej' som vi har lagrat.
Nu eftersom det är en BINÄR datatyp av längd 50 kan vi se att resten av byten är vadderade med '00' -värden som inte är något annat än byterepresentation för siffran '0'.
Se värdet närvarande i ”varbinary_col” som är av VARBINÄR datatyp.
Här, för VARBINÄR, kan du se att värdena bara fylls med en längd på 5, vilket motsvarar stränglängden som vi lagrade. Det finns ingen nollpolstring även om vi förklarade en VARBINÄR kolumn med längd 50.
BLOB OCH TEXT
BLOB- och TEXT-datatyper liknar BINARY- och CHAR-datatyper med den skillnaden att de kan stödja större storlekar jämfört med sina grundläggande motsvarigheter.
Det är viktigt att notera att BLOB lagrar data som binära strängar medan TEXT-datatyp lagras som icke-binära strängar. Alla dessa datatyper kräver inte att specificera längden medan datatypen nämns. De har i sig variabel längd i naturen och förbrukar minne mot endast det som lagras som det faktiska kolumnvärdet.
BLOB-datatyper används vanligtvis för att lagra filer som bilder, pdf-dokument etc. som binära strängar på ett säkert och effektivt sätt.
Detaljer om olika varianter av BLOB- och TEXT-datatyper listas nedan:
Typ | Räckvidd | Beskrivning | Exempel |
---|---|---|---|
TINYTEXT | 0-255 (255 byte) | Området är detsamma som VARCHAR - Används för att lagra liten info som titlar, författarnamn etc. | CREATE TABLE tinytext_example(tinytext_col TINYTEXT); |
TEXT | 0-65535 (64KB) | Denna datatyp är tillräcklig för att lagra text för en liten till medelstor artikel. | CREATE TABLE text_example(text_col TEXT); |
MEDIUMTEXT | 0-16 777 215 (16 MB) | Denna datatyp kan vara tillräcklig för att lagra text för en hel lärobok | CREATE TABLE mediumtext_example(mediumtext_col MEDIUMTEXT); |
LONGTEXT | 0 - 4 294 967 295 (4 GB) | LONGTEXT används sällan specifikt i fall där MEDIUMTEXT inte räcker. | CREATE TABLE longtext_example(longtext_col LONGTEXT); |
TINYBLOB | 0-255 (255 byte) | Alla BLOB-datatyper används för att lagra binära strängar och föredras i allmänhet för lagring av filer som bilder, pdf-dokument eller små applikationer. Beroende på storlekskraven kan de olika BLOB-datatyperna väljas och användas. | CREATE TABLE tinyblob_example(tinyblob_col TINYBLOB); |
KLICK | 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 är en strängdatatyp som fördefinierar de tillåtna värdena som en kolumn kan ha. Det liknar ENUM-datatyper som finns på olika programmeringsspråk som JAVA, C #, etc.
ENUM-värden, när de lagras, konverteras till siffror mot varje kolumnvärde vilket resulterar i en avsevärd minnesbesparing för tabeller som har ett stort antal poster, antag att vi har en ENUM med värden - värde1, värde2 och värde3, då skulle det faktiska minneslagret vara numeriskt indexerar 1,2,3 bakom kulisserna.
Syntax:
ENUM({comma separated enum values})
Exempel på frågor:
Skapa en tabell med två kolumner för att lagra mobila modeller som sträng- och företagsnamn som ENUM-datatyper med värden - APPLE, SAMSUNG och NOKIA. Låt oss också se frågor för att hämta data mot ett visst ENUM-värde.
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 ovanstående fråga kan du se att vi har använt Enum-namn samt numeriska index både under infogningen.
Låt oss försöka fråga alla mobila enheter med varumärket 'SAMSUNG' samt fråga mot det numeriska indexet för SAMSUNG som är '1'.
SELECT * FROM mobile_details where brand='SAMSUNG' SELECT * FROM mobile_details where brand=1
Output för båda ovanstående frågor kommer att vara densamma som nämns nedan:
UPPSÄTTNING
MySQL SET-datatyp är ett strängobjekt som kan ha ett eller flera värden från ett tillåtet intervall som beskrivs under kolumndefinitionen. Det liknar ENUM men det tillåter att flera värden från den definierade listan associeras som kolumnvärden.
SET-datatyper lagras också som nummerindex som börjar 2 ^ 0 - dvs. 1,2,4,8 etc.
Syntax:
SET({comma separated list of allowed values})
Exempel:
Låt oss försöka förstå SET-datatypen med exempel. Vi skapar en tabell med namnet mobile_details med en kolumnmodell av strängtyp och en kolumn som heter OS som stöds som är en uppsättning datatyp och innehåller en lista över operativsystemversioner som stöds.
CREATE TABLE mobile_details(model VARCHAR(100), supported_os SET('ios9', 'ios10', 'android8', 'android9','android10'));
Vi kan se att vi har listat operativsystemvärden som en del av en kolumn med SET-datatyp. Motsvarande DECIMAL-värden som tilldelas dessa listas nedan:
Om vi nu vill tilldela SET-värde, till exempel, 'Android8, android9' till en rad kan vi helt enkelt tilldela tillägget av de tilldelade decimalvärdena, dvs. 12 för att ha samma effekt.
Se INSERT-frågan ovan för tilldelning till rad med modellnamn 'GALAXYM1'
INSERT INTO mobile_details values ('IPHONE X', ('ios9,ios10')),('GALAXY M1', (12)), ('GALAXY M2', ('android9,android10')) ; SELECT * from mobile_details;
Output av ovanstående kommando:
Vi kan också fråga SET-kolumnen mot deras decimalrepresentation - antar att vi vill fråga efter 'ios9, ios10' - summan av decimalrepresentation är 3, så vi kan fråga som:
SELECT * from mobile_details where supported_os=3
Produktion:
Särskilda datatyper
BOOLEAN
MySQL Boolean datatyp lagrar ett kolumnvärde som SANT eller FALSKT. Denna datatyp är i allmänhet lämplig för lagring av flaggvärden i MySQL-tabellerna. Till exempel - En bankkontotabell med en kolumn med namnet is_savings_account kan lagra antingen true eller false.
BOOLEAN-värdet lagras i MySQL som 1 respektive 0 för SANT respektive FALSE.
Syntax:
columnName BOOLEAN
Exempel:
CREATE TABLE account_details(accNo BIGINT, is_savings BOOLEAN); INSERT into account_details values (123456,true), (110002, false), (234567, 1);
När vi infogar eller hämtar värden för BOOLEAN-datatyp kan vi antingen använda SANT eller FALSKA eller deras numeriska representationer - dvs. 1 eller 0.
select * from account_details where is_savings=1;
Resultat av ovanstående kommando:
JSON
MySQL stöder native JSON som datatyp för objekt i JSON-notation. Det gör det enkelt att lagra, fråga och hämta för JSON-dokument i stället för att lagra som textsträngar eller binära blobbar.
Syntax:
columnName JSON
Fakta:
Definition | Räckvidd | Exempel |
---|---|---|
JSON-datatyp används för att lagra dokument som är i JSON-format. Alla kolumner som definieras som JSON skulle orsaka ett fel om en ogiltig JSON lagras av en INSERT-fråga. | Området eller storleken på JSON-datatypen liknar LONGTEXT eller LONGBLOB | CREATE TABLE json_example(json_col JSON); |
Exempel:
MySQL erbjuder olika funktioner för att fråga JSON-data. Låt oss försöka infoga nedan JSON och då kommer vi att se MySQL-funktioner att fråga.
{ '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', } }
Låt oss se kommandon för att skapa tabell och infoga 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' }}');
Fråga tabellen och skriv ut förnamn och e-postfält från JSON-data som lagras i tabellraderna.
select json_col->'$.data.first_name' as firstname, json_col->'$.data.email' as email from json_example
Produktion:
Vanliga frågor
F # 1) Hur kan vi ändra datatypen för en MySQL-kolumn en gång tilldelad?
Svar: Datatypen för kolumnen kan ändras med ALTER TABLE Kommando .
Tänk på en tabell student_info med två kolumner namn och ålder för typerna VARCHAR respektive INT. Detta kan uppnås med följande CREATE TABLE-kommando:
CREATE TABLE student_info(name CHAR(20), age INT);
Det finns några variationer i detta kommando
den bästa videokonverteraren för Mac
- Om vi bara vill ändra kolumnens datatyp - Vi kan använda MODIFY-kommandot tillsammans med ALTER
Antag att vi i tabellen ovan vill ändra datatypen för ålderskolumn, vi kan använda följande kommando
ALTER TABLE student_info MODIFY age TINYINT
- Om vi vill ändra kolumnnamnet samt datatypen för kolumnen - Vi kan använda kommandot CHANGE tillsammans med ALTER
Anta i ovanstående tabell att vi vill ändra kolumnnamnet från 'namn' till 'snam' och datatyp från CHAR till VARCHAR (50), vi kan använda följande kommando:
ALTER TABLE student_info CHANGE name sname VARCHAR(50)
F # 2) Vad är datatypen för en bild i mysql?
Svar: För att lagra någon av filtyperna i MySQL som bilder, pdf etc. BLOB eller binär datatyp är den lämpligaste typen. Det finns olika varianter av BLOB-datatyp tillgängliga beroende på storleken på målfilen som vi vill lagra. Vi kan använda varianter av BLOB som - TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB
F # 3) Vilken datatyp är mer lämplig för lagring av dokument i mysql?
Svar: På samma sätt som BLOB för bilder eller pdf-filer, för lagring av textdokument / artiklar kan TEXT-datatyp användas. Detta är en utvidgning av CHAR-datatyp med stöd för extra teckenlagring.
De olika varianterna av TEXT-datatyp som är tillgängliga är - TEXT, TINYTEXT, MEDIUMTEXT & LONGTEXT
F # 4) Vad är datatypen för valuta i MySQL?
Svar: För lagring av data för valutavärden är den mest lämpliga datatypen DECIMAL. Den används för att lagra datatyper med exakt precision. Till exempel, ett kolumnnamn med typen DECIMAL (4,2), skulle lagra värden i intervallet -99,99 till 99,99 och returnera värdet med samma precision vid hämtning till skillnad från. approximation för flytande punktnummer.
F # 5) Vad händer om någon försöker infoga negativa siffror för UNSIGNED heltalskolumner?
Svar: MySQL genererar ett fel för sådana infoga uttalanden
Låt oss försöka skapa en tabell med en INT-kolumn med alternativet 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
F # 6) Hur får jag aktuella datumdata i mysql?
Svar: MySQL tillhandahåller två inbyggda tidsfunktioner för att hämta aktuella värden
CURDATE () -funktionen returnerar det aktuella datumet
SELECT CURDATE();
Produktion
2020-08-10
NU () -funktionen returnerar det aktuella datumet med tidsstämpel.
SELECT NOW();
Produktion
2020-08-10 00:42:54
F # 7) Av CHAR och VARCHAR - vilken är mer lämplig?
Svar: VARCHAR står för variabel karaktär och har en viktig fördel att konsumera mindre minne jämfört med CHAR av samma längd. Till exempel, En kolumn med VARCHAR (50) om lagrar strängar med längd 20 skulle resultera i att bara 20 byte konsumeras i motsats till en datatyp som deklareras med CHAR (50)
F # 8) Hur uppdaterar jag ENUM-värdet i MySQL?
Svar: För att uppdatera en ENUM-kolumn i MySQL måste du ändra nämna befintliga kolumnvärden så att de befintliga posterna förblir intakta.
Låt oss försöka förstå detta med ett exempel.
Anta att vi har en tabell med namnet mobile_details med ett modellfält som String (VARCHAR) och varumärkeskolumn som ENUM med initialvärden som 'APPLE', SAMSUNG 'och' NOKIA '
Antag nu att vi vill lägga till ett annat varumärke 'MOTOROLA' i det befintliga numret. Låt oss se de frågor som vi skulle behöva utföra.
CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA'));
När du väl har skapat kan du få information om ursprungliga ENUM-värden med kommandot DESCRIBE
DESCRIBE mobile_details;
Låt oss nu köra kommandot för att uppdatera ENUM
ALTER TABLE mobile_details MODIFY column brand ENUM('SAMSUNG', 'APPLE', 'NOKIA', 'MOTOROLA');
Vi kan igen köra kommandot DESCRIBE för att se om uppdateringarna har tillämpats.
DESCRIBE mobile_details
Här är resultatet av ovanstående kommando:
Slutsats
I denna handledning lärde vi oss om de olika datatyperna som stöds av MySQL.
Vi lärde oss om datatyper för numerisk, flytande, sträng och datum samt syntax och olika exempel.
MySQL-datatyper är grundstenarna för att komma igång och en av de viktigaste aspekterna under MySQL Schema Design.
Rekommenderad läsning
- C ++ datatyper
- Python-datatyper
- C # Datatyper och variabler med exempel
- PL SQL-datatyper, variabler, konstanter och bokstäver
- Array Data Typer - int Array, Double array, Array of Strings Etc.
- MySQL Delete Statement - Radera kommandosyntax och exempel
- MySQL Insert In Table - Insert Statement Syntax & Exempel
- MySQL JOIN Handledning: Inre, yttre, kors, vänster, höger och själv