Was bedeuten die feldtypen in mysql

mysql data types what are different data types mysql

Erfahren Sie mehr über verschiedene MySQL-Datentypen, d. H. Numerisch, Zeichenfolge, Datumsdatentyp, JSON, Boolean usw., mit Beispielen:

In diesem Tutorial lernen wir verschiedene Datentypen kennen, die von MySQL unterstützt werden. Datentypen werden für jede Spalte beim Erstellen einer Tabelle sowie beim Aktualisieren / Ändern der Tabelle angegeben, um der vorhandenen Tabelle eine neue Spalte hinzuzufügen

Wir werden die Datentypen in drei verschiedenen Kategorien kennenlernen, d. H. Numerische Datentypen, String-Datentypen und Datetime-Datentypen.

Was du lernen wirst:

  • MySQL-Datentypen
    • Numerische Datentypen
      • Ganzzahlige Datentypen
      • Gleitkommatypen
      • Festpunkttypen
    • DateTime-Datentypen
      • TERMINZEIT
      • TIMESTAMP
    • String-Datentypen
      • CHAR und VARCHAR
      • BINARY und VARBINARY
      • BLOB und TEXT
      • ENUM
      • EINSTELLEN
    • Spezielle Datentypen
      • BOOLEAN
      • JSON
    • Häufig gestellte Fragen
  • Fazit
    • Literatur-Empfehlungen

MySQL-Datentypen

Voraussetzungen

Wir werden alle Datentypen anhand von Arbeitsbeispielen in MySQL lernen. Daher wird empfohlen, MySQL zu installieren, um die Abfragen zusammen mit Details auszuführen, um das Konzept besser zu verstehen.

Sie können auch eine Beispieldatenbank mit dem Namen sql_data_types erstellen, die alle Tabellen enthält, die wir für Beispiele verwenden würden.

create database sql_data_types; use sql_data_types;

Numerische Datentypen

Numerische Datentypen können in drei Typen unterteilt werden:

  • Ganzzahlige Datentypen
  • Festpunkttypen
  • Gleitkommatypen

Lassen Sie uns jedes dieser Themen diskutieren:

Ganzzahlige Datentypen

Diese Datentypen unterstützen ganze Zahlen ohne Dezimaldarstellung. Es gibt verschiedene Untertypen wie - INT, TINYINT, MEDIUMINT, SMALLINT, BIGINT

INT:

Syntax:

INT[(width)] [UNSIGNED] [ZEROFILL]

Fakten:

BeschreibungReichweiteErinnerungOptionen
MEDIUMBLOB 0-16,777,215 (16 MB) CREATE TABLE mediumblob_example(mediumblob_col MEDIUMBLOB);
Am häufigsten verwendeter numerischer Typ. Speichert ganze Zahlen

DEFAULT - Vorzeichenlose Werte

–2.147.483.648 bis 2.147.483.647 4 Bytes Bei Verwendung mit der Option UNSIGNED - Bereich ändert sich zu
0 bis 4,294,967,295

Die Option Breite kann mit ZEROFILL verwendet werden, um die Einträge für Werte unter der Breite mit Null aufzufüllen

Beispiele:

Wir werden eine Tabelle mit 1 Spalte mit dem Datentyp INT und verschiedenen Optionen erstellen.

CREATE TABLE numbers_int(int_col INT) INSERT into numbers_int values(100),(-324),(2456),(-100000); select * from numbers_int

Ausgabe des Befehls SELECT:

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;

Ausgabe des obigen Befehls:

Andere Variationen von INT:

Abhängig von den spezifischen Anforderungen stehen für INT mehrere Optionen zur Verfügung. Diese werden normalerweise verwendet, wenn Speicher oder Speicherplatz ein Problem darstellen, aber für alle praktischen Zwecke wird INT am häufigsten verwendet.

Die verschiedenen verfügbaren Variationen des INT-Datentyps sind nachstehend aufgeführt:

DatentypReichweiteBeispielSpeicher / Bytes verwendet
Winzig -128 - 127 CREATE TABLE numbers_tinyint(tinyint_col TINYINT); 1
SMALLINT -32768 - 32767 CREATE TABLE numbers_smallint(smallint_col SMALLINT); zwei
MITTEL -8388608 - 8388607 CREATE TABLE numbers_mediumint(mediumint_col MEDIUMINT); 3
BIGINT -2 ^ 63 - (2 ^ 63-1) CREATE TABLE numbers_bigint(bigint_col BIGINT); 8

Gleitkommatypen

Gleitkommatypen sind ungefähre Werttypen und dies hängt von der Nr. der Dezimalpunktgenauigkeit, die während der Deklaration des Spaltentyps angegeben wurde.

Es gibt zwei Arten von Gleitkomma-Datentypen: FLOAT und DOUBLE, die unterschiedliche Bereiche unterstützen und Speicher verbrauchen.

FLOAT & DOUBLE

Gemäß der neuen empfohlenen Syntax können sowohl die FLOAT- als auch die DOUBLE-Genauigkeit nur mit FLOAT-Datentypen angegeben werden.

Syntax:

FLOAT(p)

Hier, p -> Präzision

Fakten:

BeschreibungErinnerungOptionenBeispiele
FLOAT / DOUBLE repräsentiert Gleitkommazahlen mit ungefähren Werten
Das heißt, Wenn MySQL diese Werte speichert, werden diese Werte gemäß dem deklarierten Typ auf die nächste Genauigkeit angenähert.
Die Genauigkeit zwischen 0 und 23 repräsentiert den FLOAT-Typ, während 24 bis 53 einen doppelten Typ erzeugen würden, der 8 Bytes verbraucht
-Präzision - 0-23 => 4 Bytes
-Präzision -24-53 => 8 Bytes
-Floating Point-Nummern können sowohl UNTERZEICHNET als auch UNSIGNIERT sein
-FLOAT ist im Allgemeinen bis zu 7 Dezimalstellen genau, während DOUBLE bis zu 14 Dezimalstellen genau ist
-Es gibt auch eine andere nicht standardmäßige Methode, FLOAT und DOUBLE mit der Angabe von Präzisionspunkten zu deklarieren
FLOAT (n, d) - wobei n die Gesamtzahl der Stellen und d die Anzahl der Dezimalstellen ist
-Erstellen Sie eine Tabelle mit einem Spalten-DOUBLE-Datentyp
CREATE TABLE numbers_double (double_col FLOAT (30));

-Erstellen Sie eine Tabelle mit einer Spalte DOUBLE-Datentyp und Genauigkeitsziffern als 5
CREATE TABLE numbers_double (double_col DOUBLE (20,5));

Sehen wir uns einige Beispiele zum Abrufen der Werte von Doppeltypen an:

CREATE TABLE numbers_double(double_col DOUBLE(20,5)); insert into numbers_double VALUES(123.45),(-145),(12.3456788); select * from numbers_double;

Ausgabe der SELECT-Anweisung:

Wir können hier sehen, dass die Werte bis zu 5 Dezimalstellen gespeichert werden, wie in der Datentypdeklaration angegeben.

Festpunkttypen

Diese Datentypen werden verwendet, um einen genauen Wert mit bestimmter Genauigkeit zu speichern. Diese Datentypen werden normalerweise verwendet, wenn eine genaue Speicherung erforderlich ist. Zum Beispiel, Für Bankkonten ist es erforderlich, Guthaben mit 2 Dezimalstellen zu führen. Daten müssen mit exakter Genauigkeit gespeichert werden.

DEZIMAL / NUMERISCH

Syntax:

DECIMAL[(width[,decimals])] [UNSIGNED] [ZEROFILL]

Fakten:

BeschreibungReichweiteErinnerungOptionen
DECIMAL ist ein numerischer Datentyp in MySQL und speichert genaue Werte mit der angegebenen Genauigkeit.
Der Standardmaßstab oder die Standardbreite für den Datentyp DECIMAL beträgt 10 und 0.

Bitte beachten Sie, dass die Typen DECIMAL und NUMERIC austauschbar sind.

Hängt vom angegebenen Bereich ab
Zum Beispiel DECIMAL (5,2) hätte einen Bereich von -999,99 bis 999,99
MySQL-Benutzer Binärformat zum Speichern des DECIMAL-Datentyps - Es benötigt vier Bytes pro 9 Ziffern - Also zum Beispiel, Wenn wir DECIMAL (14,2) haben, würden insgesamt - 9 (4) + 2 (1) => 7 Bytes benötigt - Der maximale Breitenwert kann 265 betragen
-Die Anzahl der Dezimalstellen ist optional und der Standardwert ist 0

Beispiel:

CREATE TABLE numbers_decimal(dec_col DECIMAL(4,2)) INSERT INTO numbers_decimal values(-99),(50.50);

DateTime-Datentypen

DateTime-Datentypen in MySQL werden, wie der Name schon sagt, zum Speichern von Datums- und Zeitwerten in der MySQL-Datenbank verwendet.

Es gibt 2 zeitliche Typen, die von MySQL unterstützt werden - DATETIME und TIMESTAMP

Lassen Sie uns beide in den folgenden Abschnitten diskutieren.

TERMINZEIT

Syntax:

DATETIME(n)

Hier n -> Präzision / Bruchteil des Sekunden-Teils (Die maximal unterstützte Präzision beträgt 6).

Fakten:

BeschreibungReichweiteErinnerungBeispiele
Dient zum Speichern von Datum und Uhrzeit in der MySQL-Spalte
Wenn abgefragt, Die Spaltendaten zeigen datetime im folgenden Format an:
JJJJ-MM-TT HH: MM: SS
1000-01-01 00:00:00 - 9999-12-31 23:59:59 5 Bytes
Wenn ein Bruchteil enthalten ist, wird für jeweils 2 Bruchstellen ein zusätzliches Byte verbraucht.
CREATE table datetime_example(date_col DATETIME);
INSERT INTO datetime_example values(NOW());
SELECT * from datetime_example;
// AUSGABE
date_col 2020-08-08 22:22:53

TIMESTAMP

Syntax:

TIMESTAMP(n)

Hier n -> Präzision / Bruchteil des Sekunden-Teils (Die maximal unterstützte Genauigkeit beträgt 6).

Fakten:

BeschreibungReichweiteErinnerungBeispiele
Ein weiterer zeitlicher Datentyp zum Speichern von Datum / Uhrzeit.
Hier wird das Datum und die Uhrzeit als UTC auch mit einem begrenzten Bereich zwischen 1970 und 2038 gespeichert
1970-01-01 00:00:01 UTC - 2038-01-19 03:14:07 UTC 4 Bytes CREATE table timestamp_example(ts_col TIMESTAMP);
INSERT INTO timestamp_example values(NOW());
SELECT * from timestamp_example;
AUSGABE
ts_col
2020-08-08 22:19:11

String-Datentypen

String-Datentypen werden, wie der Name schon sagt, zum Speichern von Strings / Texten oder Blobs von Textinformationen in der Datenbank verwendet. Je nach Anwendungsfall stehen verschiedene solche Datentypen zur Verfügung: CHAR, VARCHAR, BINARY, VARBINARY, TEXT, ENUM, SET & BLOB

Lassen Sie uns jeden dieser verschiedenen Datentypen anhand von Beispielen verstehen.

CHAR und VARCHAR

Beide Typen werden zum Speichern von String-Werten in den Spalten in MySQL verwendet, unterscheiden sich jedoch darin, wie Werte gespeichert und abgerufen werden.

CHAR & VARCHAR werden mit der Länge deklariert, die die maximale Länge des Strings angibt, den Sie in der Spalte speichern möchten.

Syntax:

CHAR(n) VARCHAR(n)

Hier n -> max nr. von Zeichen, die von der Spalte gespeichert werden sollen

Fakten:

ArtBeschreibungReichweiteBeispiele
VERKOHLEN
Syntax - CHAR (n)
CHAR kann einen String mit der Länge 'n' speichern, wie er während der Deklaration definiert wurde.
Wenn der String weniger als n Zeichen enthält, wird er mit Leerzeichen aufgefüllt.
Die Länge des CHAR-Datentyps kann zwischen 0 und 255 variieren
Abhängig von der Länge würde der Speicherverbrauch zwischen 0 und 255 Byte liegen.
CREATE TABLE string_example(char_col CHAR(50));
VARCHAR
Syntax - VARCHAR (n)
Mit VARCHAR können Sie Strings mit variabler Länge speichern und Speicher gegen die tatsächliche Größe des gespeicherten Strings und nicht gegen den in der Spaltendefinition angegebenen Maximalwert verbrauchen. Die Länge des VARCHAR-Datentyps kann zwischen 0 und 65535 variieren
Abhängig von der Länge würde der Speicherverbrauch zwischen 0 und 65535 Byte liegen.
CREATE TABLE string_example(varchar_col VARCHAR(50));

BINARY und VARBINARY

Ähnlich wie bei CHAR und VARCHAR speichern diese Datentypen Strings, jedoch im Binärformat.

Die Länge der Datentypen BINARY und VARBINARY wird in Byte gemessen, im Gegensatz zur Anzahl der Zeichen in den Datentypen CHAR und VARCHAR.

Syntax:

BINARY(n) VARBINARY(n)

Hier n -> max nr. von Bytes, die von der Spalte gespeichert werden sollen.

Fakten:

ArtBeschreibungReichweiteBeispiele
BINÄR
Syntax - BINARY (n)
BINARY kann 'n' Binärbytes speichern.
Für Werte kleiner als n werden sie mit 0 Byte rechts aufgefüllt und gespeichert
Die Länge des Datentyps BINARY kann zwischen 0 und 255 variieren
Abhängig von der Länge würde der Speicherverbrauch zwischen 0 und 255 Byte liegen.
CREATE TABLE binary_string(binary_col BINARY(50));
VARBINARY
Syntax - VARBINARY (n)
Mit VARBINARY können Sie Binärzeichenfolgen variabler Länge bis zu einer Länge von 'n' speichern (wie in der Spaltendefinition angegeben). Die Länge des Datentyps VARBINARY kann zwischen 0 und 65535 variieren
Abhängig von der Länge würde der Speicherverbrauch zwischen 0 und 65535 Byte liegen.
CREATE TABLE variable_binary_string(varbinary_col VARBINARY(50));

Lassen Sie uns den Datentyp BINARY genauer verstehen. Wir werden eine Tabelle mit jeweils einer Spalte vom binären und varbinären Datentyp erstellen und den Inhalt untersuchen.

CREATE TABLE binary_strings(binary_col BINARY(50), varbinary_col VARBINARY(50)); INSERT into binary_strings values('hello', 'hello'); SELECT * from binary_strings;

Jetzt haben wir die Ausgabe als BLOB gesehen, was bedeutet - B. inary L. arge OB ject - und dies ist nichts anderes als eine binäre / hexadezimale Darstellung der String-Werte, die wir in die Spalten eingefügt haben.

Jetzt werden wir die Werte dieser Binärzeichenfolgen untersuchen und sehen, wie sie gespeichert werden.

Lassen Sie uns zunächst den Wert in 'binary_col' sehen, der vom Datentyp BINARY ist.

Lassen Sie uns verstehen, welche Werte gespeichert werden - Wenn Sie die Werte für die ersten 5 Einträge bemerken - d. H. Die erste Zeile und die ersten 5 Spalten (0-4)

Dies sind nur die HEX-Darstellungen für die Zeichen der Zeichenfolge 'Hallo', die wir gespeichert haben.

Da es sich nun um einen BINARY-Datentyp mit einer Länge von 50 handelt, können wir sehen, dass die restlichen Bytes mit '00'-Werten aufgefüllt sind, was nichts anderes als eine Byte-Darstellung für die Ziffer' 0 'ist.

Siehe den Wert in 'varbinary_col', der vom Datentyp VARBINARY ist.

Hier für VARBINARY können Sie sehen, dass die Werte nur für eine Länge von 5 ausgefüllt werden, was der von uns gespeicherten String-Länge entspricht. Es gibt keine Null-Auffüllung, obwohl wir eine VARBINARY-Spalte mit der Länge 50 deklariert haben.

BLOB und TEXT

Die Datentypen BLOB und TEXT ähneln den Datentypen BINARY und CHAR, mit dem Unterschied, dass sie im Vergleich zu ihren grundlegenden Gegenstücken größere Größen unterstützen können.

Es ist wichtig zu beachten, dass BLOB Daten als binäre Zeichenfolgen speichert, während der TEXT-Datentyp als nicht-binäre Zeichenfolgen gespeichert wird. Für alle diese Datentypen muss die Länge nicht angegeben werden, während der Datentyp angegeben wird. Sie haben von Natur aus eine variable Länge und verbrauchen nur Speicher, der als tatsächlicher Spaltenwert gespeichert ist.

BLOB-Datentypen werden im Allgemeinen verwendet, um Dateien wie Bilder, PDF-Dokumente usw. auf sichere und effiziente Weise als Binärzeichenfolgen zu speichern.

Details zu verschiedenen Varianten der BLOB- und TEXT-Datentypen sind unten aufgeführt:

ArtReichweiteBeschreibungBeispiele
TINYTEXT 0-255 (255 Bytes) Der Bereich entspricht dem von VARCHAR - Wird zum Speichern kleiner Informationen wie Titel, Autorennamen usw. verwendet. CREATE TABLE tinytext_example(tinytext_col TINYTEXT);
TEXT 0-65535 (64 KB) Dieser Datentyp reicht aus, um Text für einen kleinen bis mittelgroßen Artikel zu speichern. CREATE TABLE text_example(text_col TEXT);
MEDIUMTEXT 0-16,777,215 (16 MB) Dieser Datentyp kann ausreichen, um Text für ein gesamtes Lehrbuch zu speichern CREATE TABLE mediumtext_example(mediumtext_col MEDIUMTEXT);
LONGTEXT 0 - 4,294,967,295 (4 GB) LONGTEXT wird selten speziell in Fällen verwendet, in denen MEDIUMTEXT nicht ausreicht. CREATE TABLE longtext_example(longtext_col LONGTEXT);
TINYBLOB 0-255 (255 Bytes) Alle BLOB-Datentypen werden zum Speichern von Binärzeichenfolgen verwendet und werden im Allgemeinen zum Speichern von Dateien wie Bildern, PDF-Dokumenten oder kleinen Anwendungen selbst bevorzugt.
Abhängig von den Größenanforderungen können die verschiedenen BLOB-Datentypen ausgewählt und verwendet werden.
CREATE TABLE tinyblob_example(tinyblob_col TINYBLOB);
KLECKS 0-65535 (64 KB) CREATE TABLE blob_example(blob_col BLOB);
LONGBLOB 0 - 4,294,967,295 (4 GB) CREATE TABLE longblob_example(longblob_col LONGBLOB);

ENUM

ENUM ist ein String-Datentyp, der die zulässigen Werte einer Spalte vordefiniert. Es ähnelt ENUM-Datentypen, die in verschiedenen Programmiersprachen wie JAVA, C # usw. vorhanden sind.

Wenn ENUM-Werte gespeichert werden, werden sie für jeden Spaltenwert in Zahlen umgewandelt, was zu einer erheblichen Speicherersparnis für Tabellen mit einer großen Anzahl von Datensätzen führt. Angenommen, wir haben eine ENUM mit den Werten - Wert1, Wert2 und Wert3. Dann wäre der tatsächliche Speicher numerisch Indizes 1,2,3 hinter den Kulissen.

Syntax:

ENUM({comma separated enum values})

Beispielabfragen:

Erstellen Sie eine Tabelle mit 2 Spalten zum Speichern mobiler Modelle als Zeichenfolge und Firmennamen als ENUM-Datentypen mit Werten - APPLE, SAMSUNG und NOKIA. Es werden auch Abfragen zum Abrufen von Daten für einen bestimmten ENUM-Wert angezeigt.

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) ;

In der obigen Abfrage können Sie sehen, dass wir beim Einfügen sowohl Enum-Namen als auch numerische Indizes verwendet haben.

Lassen Sie uns versuchen, alle Mobilgeräte mit dem Markennamen 'SAMSUNG' sowie den numerischen Index von SAMSUNG abzufragen, der '1' ist.

SELECT * FROM mobile_details where brand='SAMSUNG' SELECT * FROM mobile_details where brand=1

Die Ausgabe der beiden oben genannten Abfragen erfolgt wie unten angegeben:

EINSTELLEN

Der MySQL SET-Datentyp ist ein String-Objekt, das einen oder mehrere Werte aus einem zulässigen Bereich haben kann, wie bei der Spaltendefinition beschrieben. Es ähnelt ENUM, ermöglicht jedoch die Zuordnung mehrerer Werte aus der definierten Liste als Spaltenwerte.

Außerdem werden SET-Datentypen als Zahlenindizes ab 2 ^ 0 gespeichert - d. H. 1,2,4,8 usw.

Syntax:

SET({comma separated list of allowed values})

Beispiel:

Versuchen wir, den SET-Datentyp anhand von Beispielen zu verstehen. Wir erstellen eine Tabelle mit dem Namen mobile_details mit einem Spaltenmodell vom Typ String und einer Spalte mit dem Namen support OS, einem festgelegten Datentyp, der eine Liste der unterstützten Betriebssystemversionen enthält.

CREATE TABLE mobile_details(model VARCHAR(100), supported_os SET('ios9', 'ios10', 'android8', 'android9','android10'));

Wir können sehen, dass wir Betriebssystemwerte als Teil einer Spalte mit dem Datentyp SET aufgelistet haben. Die entsprechenden DECIMAL-Werte, die diesen zugewiesen sind, sind unten aufgeführt:

Wenn wir nun den SET-Wert zuweisen möchten, zum Beispiel, 'Android8, android9' zu einer Zeile können wir einfach die Addition der zugewiesenen Dezimalwerte zuweisen, d. H. 12, um den gleichen Effekt zu erzielen.

Informationen zur Zuordnung zu einer Zeile mit dem Modellnamen 'GALAXYM1' finden Sie in der obigen INSERT-Abfrage.

INSERT INTO mobile_details values ('IPHONE X', ('ios9,ios10')),('GALAXY M1', (12)), ('GALAXY M2', ('android9,android10')) ; SELECT * from mobile_details;

Ausgabe des obigen Befehls:

Wir können die SET-Spalte auch anhand ihrer Dezimaldarstellung abfragen. Angenommen, wir möchten nach 'ios9, ios10' fragen. Die Summe der Dezimaldarstellung beträgt 3, sodass wir Folgendes abfragen können:

SELECT * from mobile_details where supported_os=3

Ausgabe:

Spezielle Datentypen

BOOLEAN

Der boolesche Datentyp MySQL speichert einen Spaltenwert als TRUE oder FALSE. Dieser Datentyp eignet sich im Allgemeinen zum Speichern von Flag-Werten in den MySQL-Tabellen. Zum Beispiel - In einer Bankkontotabelle mit der Spalte is_savings_account kann entweder true oder false gespeichert werden.

Der BOOLEAN-Wert wird in MySQL als 1 oder 0 für TRUE bzw. FALSE gespeichert.

Syntax:

columnName BOOLEAN

Beispiel:

CREATE TABLE account_details(accNo BIGINT, is_savings BOOLEAN); INSERT into account_details values (123456,true), (110002, false), (234567, 1);

Beim Einfügen oder Abrufen von Werten für den BOOLEAN-Datentyp können wir entweder TRUE oder FALSE oder deren numerische Darstellungen verwenden - d. H. 1 oder 0.

select * from account_details where is_savings=1;

Ausgabe des obigen Befehls:

JSON

MySQL unterstützt natives JSON als Datentyp für Objekte in JSON-Notation. Es erleichtert das Speichern, Abfragen und Abrufen von Dokumenten vom Typ JSON, anstatt sie als Textzeichenfolgen oder binäre Blobs zu speichern.

Syntax:

columnName JSON

Fakten:

DefinitionReichweiteBeispiele
Der JSON-Datentyp wird zum Speichern von Dokumenten im JSON-Format verwendet.

Jede als JSON definierte Spalte würde einen Fehler auslösen, wenn ein ungültiger JSON von einer INSERT-Abfrage gespeichert wird.

Der Bereich oder die Größe des JSON-Datentyps ähnelt LONGTEXT oder LONGBLOB CREATE TABLE json_example(json_col JSON);

Beispiel:

MySQL bietet verschiedene Funktionen zum Abfragen von JSON-Daten. Versuchen wir, unter JSON einzufügen, und dann werden die abzufragenden MySQL-Funktionen angezeigt.

{ 'data': { 'id': 1, 'email': '', 'first_name': 'Steve', 'last_name': 'Wilson', } } { 'data': { 'id': 2, 'email': '', 'first_name': 'Alex', 'last_name': 'Johson', } }

Sehen wir uns Befehle zum Erstellen einer Tabelle und zum Einfügen der JSON-Daten an.

create table json_example(json_col JSON); insert into json_example values( '{'data': { 'id': 1, 'email': '', 'first_name': 'Steve', 'last_name': 'Wilson' }}'); insert into json_example values( '{'data': { 'id': 2, 'email': '', 'first_name': 'Alex', 'last_name': 'Johnson' }}');

Fragen Sie die Tabelle ab und drucken Sie die Felder für Vorname und E-Mail aus den JSON-Daten, die in den Tabellenzeilen gespeichert sind.

select json_col->'$.data.first_name' as firstname, json_col->'$.data.email' as email from json_example

Ausgabe:

Häufig gestellte Fragen

F # 1) Wie können wir den Datentyp für eine einmal zugewiesene MySQL-Spalte ändern?

Antworten: Der Datentyp der Spalte kann mit geändert werden Befehl ALTER TABLE .
Stellen Sie sich eine Tabelle student_info mit 2 Spaltennamen und Alter der Typen VARCHAR bzw. INT vor. Dies kann mit dem folgenden Befehl CREATE TABLE erreicht werden:

CREATE TABLE student_info(name CHAR(20), age INT);

Es gibt einige Variationen in diesem Befehl

  • Wenn wir nur den Datentyp der Spalte ändern möchten - Wir können den Befehl MODIFY zusammen mit ALTER verwenden
    Angenommen, wir möchten in der obigen Tabelle den Datentyp der Altersspalte ändern. Wir können den folgenden Befehl verwenden
ALTER TABLE student_info MODIFY age TINYINT
  • Wenn wir den Spaltennamen sowie den Datentyp der Spalte ändern möchten - Wir können den Befehl CHANGE zusammen mit ALTER verwenden
    Nehmen wir in der obigen Tabelle an, wir möchten den Namen der Spalte von 'Name' in 'Sname' und den Datentyp von CHAR in VARCHAR (50) ändern. Wir können den folgenden Befehl verwenden:
ALTER TABLE student_info CHANGE name sname VARCHAR(50)

F # 2) Was ist der Datentyp für ein Bild in MySQL?

Antworten: Zum Speichern eines der Dateitypen in MySQL wie Bilder, PDF usw. BLOB oder binärer Datentyp ist der am besten geeignete Typ. Abhängig von der Größe der Zieldatei, die wir speichern möchten, stehen verschiedene Varianten des BLOB-Datentyps zur Verfügung. Wir können BLOB-Varianten wie TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB verwenden

F # 3) Welcher Datentyp eignet sich besser zum Speichern von Dokumenten in MySQL?

Antworten: Ähnlich wie bei BLOB für Bilder oder PDF-Dateien kann zum Speichern von Textdokumenten / Artikeln der Datentyp TEXT verwendet werden. Dies ist eine Erweiterung des CHAR-Datentyps mit Unterstützung für zusätzliche Zeichenspeicherung.

Die verschiedenen verfügbaren Varianten des TEXT-Datentyps sind - TEXT, TINYTEXT, MEDIUMTEXT & LONGTEXT

F # 4) Was ist der Datentyp für die Währung in MySQL?

Antworten: Zum Speichern von Daten für Währungswerte ist DECIMAL der am besten geeignete Datentyp. Es wird verwendet, um Datentypen mit exakter Genauigkeit zu speichern. Zum Beispiel, Ein Spaltenname vom Typ DECIMAL (4,2) würde Werte im Bereich von -99,99 bis 99,99 speichern und den Wert beim Abrufen mit der gleichen Genauigkeit zurückgeben, anders als im Abruf. Näherung für Gleitkommazahlen.

F # 5) Was passiert, wenn jemand versucht, negative Zahlen für UNSIGNED Integer-Spalten einzufügen?

Antworten: MySQL generiert einen Fehler für solche Einfügeanweisungen
Versuchen wir, eine Tabelle mit einer INT-Spalte mit der Option UNSIGNED zu erstellen.

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) Wie erhalte ich aktuelle Datumsdaten in MySQL?

Antworten: MySQL bietet 2 integrierte Datums- und Uhrzeitfunktionen zum Abrufen aktueller Werte

Die Funktion CURDATE () gibt das aktuelle Datum zurück

SELECT CURDATE();

Ausgabe

2020-08-10

Die Funktion NOW () gibt das aktuelle Datum mit dem Zeitstempel zurück.

SELECT NOW();

Ausgabe

2020-08-10 00:42:54

F # 7) Aus CHAR und VARCHAR - welches ist besser geeignet?

Antworten: VARCHAR steht für variablen Charakter und hat den wichtigen Vorteil, dass weniger Speicher benötigt wird als CHAR gleicher Länge. Zum Beispiel, Eine Spalte mit VARCHAR (50) würde beim Speichern von Zeichenfolgen der Länge 20 nur 20 Byte verbrauchen, im Gegensatz zu einem mit CHAR (50) deklarierten Datentyp.

F # 8) Wie aktualisiere ich den ENUM-Wert in MySQL?

Antworten: Um eine ENUM-Spalte in MySQL zu aktualisieren, müssen Sie die Erwähnung der vorhandenen Spaltenwerte ändern, damit die vorhandenen Einträge intakt bleiben.

Load Runner Tool für Leistungstests

Versuchen wir dies anhand eines Beispiels zu verstehen.

Angenommen, wir haben eine Tabelle mit dem Namen mobile_details mit einem Modellfeld als String (VARCHAR) und einer Markenspalte als ENUM mit Anfangswerten wie 'APPLE', SAMSUNG und 'NOKIA'.

Angenommen, wir möchten der vorhandenen Aufzählung einen weiteren Markennamen 'MOTOROLA' hinzufügen. Sehen wir uns die Abfragen an, die wir ausführen müssten.

CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA'));

Nach der Erstellung können Sie die Details der ursprünglichen ENUM-Werte mit dem Befehl DESCRIBE abrufen

DESCRIBE mobile_details;

Führen Sie nun den Befehl aus, um die ENUM zu aktualisieren

ALTER TABLE mobile_details MODIFY column brand ENUM('SAMSUNG', 'APPLE', 'NOKIA', 'MOTOROLA');

Wir können den Befehl DESCRIBE erneut ausführen, um festzustellen, ob die Aktualisierungen erfolgreich angewendet wurden.

DESCRIBE mobile_details

Hier ist die Ausgabe des obigen Befehls:

Fazit

In diesem Tutorial haben wir die verschiedenen Datentypen kennengelernt, die von MySQL unterstützt werden.

Wir haben die Datentypen Numerisch, Floating, String und Datum sowie die Syntax und verschiedene Beispiele kennengelernt.

MySQL-Datentypen sind die Grundbausteine ​​für den Einstieg und einer der wichtigsten Aspekte beim Entwurf des MySQL-Schemas.

Literatur-Empfehlungen

Welche Datentypen gibt es in MySQL?

SQL-Datentyp.
INTEGER, BIGINT oder SMALLINT für ganze Zahlen. ... .
NUMERIC, DECIMAL oder NUMBER (n,m) für Festkommazahlen. ... .
FLOAT und DOUBLE für Gleitkommazahlen..
CHARACTER(n) oder CHAR(n) für Zeichenketten der Länge n..
VARCHAR, CHARACTER VARYING oder (VARCHAR2 bei Oracle) für Zeichenketten variabler Länge..

Was bedeutet varchar 255?

In diesem Kurs wurde bisher »VARCHAR ( 255 )« als Typ verwendet, weil eine Spalte dieses Typs die meisten Arten von Informationen aufnehmen kann (also auch Numeralia für Zahlen) und einige Versionen von MySQL nur Werte bis »255« zuließen, diese Einschränkung besteht inzwischen aber wohl nicht mehr.

Für was steht Varchar?

varchar [ ( n max ) Zeichenfolgendaten mit variabler Größe. Verwenden Sie n, um die Größe der Zeichenfolge in Byte zu definieren. Der Wert muss zwischen 1 und 8.000 liegen.

Was bedeutet INT in SQL?

Mit Integer ([ˈɪnteɡɐ], englisch [ ˈɪntɪdʒə], für ganze Zahl; von lateinisch numerus integer) wird in der Informatik ein Datentyp bezeichnet, der ganzzahlige Werte speichert. Der Wertebereich ist endlich. Berechnungen mit Integern sind in der Regel exakt.

Toplist

Neuester Beitrag

Stichworte