1. Numerischer Typ1.1 Klassifizierung numerischer Typen
Numerische Typen in MySQL:
1.1.1 Gleitkommazahlen Wenn bei Gleitkommazahlen die Genauigkeit und die Skalierung nicht angegeben werden, werden sie entsprechend dem tatsächlichen Genauigkeitswert angezeigt. Wenn die Genauigkeit und die Skalierung angegeben werden, wird das gerundete Ergebnis automatisch eingefügt und das System meldet keinen Fehler. Wenn bei Festkommazahlen die Genauigkeit und die Skalierung nicht angegeben werden, wird die Operation entsprechend dem Standardwert 1.1.2 Bit-TypBIT-Typ (Bit): reicht von 1 bis 64. Wenn nicht festgelegt, ist der Standardwert 1 Bit. Für dieses Feld wird das Ergebnis nicht angezeigt, wenn Sie den Befehl select direkt verwenden. Sie können die Funktion bin() (Anzeige im Binärformat) oder hex() (Anzeige im Hexadezimalformat) verwenden, um es zu lesen. Beispiel: mysql> Beschreibung t2; +-------+--------+------+-----+---------+---------+----------+ | Feld | Typ | Null | Schlüssel | Standard | Extra | +-------+--------+------+-----+---------+---------+----------+ | Ich würde | Bit(1) | JA | | NULL | | +-------+--------+------+-----+---------+---------+----------+ 1 Zeile im Satz (0,00 Sek.) mysql> in t2-Werte einfügen (1); Abfrage OK, 1 Zeile betroffen (0,05 Sek.) mysql> wähle * aus t2; +------+ |Ich würde| +------+ | | +------+ 1 Zeile im Satz (0,00 Sek.) mysql> wähle bin(id),hex(id) aus t2; +---------+---------+ | bin(id) | hex(id) | +---------+---------+ | 1 | 1 | +---------+---------+ 1 Zeile im Satz (0,03 Sek.) Beim Einfügen von Wenn Sie beispielsweise gerade 2 in die Tabelle einfügen, ist der tatsächliche Binärwert 10, was die tatsächlich definierte Anzahl von mysql> in t2-Werte einfügen (2); FEHLER 1406 (22001): Daten zu lang für Spalte „id“ in Zeile 1 mysql> Tabelle ändern t2 ID-Bit ändern (2); Abfrage OK, 1 Zeile betroffen (0,67 Sek.) Datensätze: 1 Duplikate: 0 Warnungen: 0 mysql> in t2-Werte einfügen (2); Abfrage OK, 1 Zeile betroffen (0,03 Sek.) mysql> wähle bin(id),hex(id) aus t2; +---------+---------+ | bin(id) | hex(id) | +---------+---------+ | 1 | 1 | | 10 | 2 | +---------+---------+ 2 Zeilen im Satz (0,00 Sek.) 1.1.3 Uhrzeit- und Datumstyp1.1.3 Uhrzeit- und Datumstyp
Beispiel 1: Erstellen Sie einen Zeitplan (dt) mit drei Datumstypen in den Feldern: Datum, Uhrzeit und Datum/Uhrzeit und geben Sie Werte ein, um die angezeigten Ergebnisse anzuzeigen mysql> Tabelle erstellen dt(d Datum, t Uhrzeit, dt Datum/Uhrzeit); Abfrage OK, 0 Zeilen betroffen (0,23 Sek.) mysql> in dt-Werte einfügen (jetzt(), jetzt(), jetzt()); Abfrage OK, 1 Zeile betroffen, 1 Warnung (0,05 Sek.) mysql> wähle * aus dt; +------------+----------+---------------------+ | d | t | dt | +------------+----------+---------------------+ | 13.05.2021 | 10:14:07 | 13.05.2021 10:14:07 | +------------+----------+---------------------+ 1 Zeile im Satz (0,00 Sek.) Beispiel 2: Erstellen Sie eine Testtabelle t, setzen Sie das Feld id1 auf den Typ TIMESTAMP, fügen Sie einen Nullwert ein und zeigen Sie an mysql> Tabelle erstellen t(id1 Zeitstempel); Abfrage OK, 0 Zeilen betroffen (0,22 Sek.) mysql> in t-Werte einfügen (null); Abfrage OK, 1 Zeile betroffen (0,05 Sek.) mysql> wähle * aus t; +---------------------+ | +---------------------+ | 13.05.2021 10:18:05 | +---------------------+ 1 Zeile im Satz (0,00 Sek.) Es kann festgestellt werden, dass das System automatisch einen Standardwert von Beispiel 3: Erklärung wie oben mysql> Tabelle ändern t, Spalte ID2-Zeitstempel hinzufügen; Abfrage OK, 0 Zeilen betroffen (0,48 Sek.) Datensätze: 0 Duplikate: 0 Warnungen: 0 mysql> anzeigen, Tabelle erstellen t \G; *************************** 1. Reihe *************************** Tabelle: t Tabelle erstellen: CREATE TABLE `t` ( `id1` Zeitstempel NICHT NULL STANDARD CURRENT_TIMESTAMP BEI UPDATE CURRENT_TIMESTAMP, `id2` Zeitstempel NICHT NULL STANDARD '0000-00-00 00:00:00' ) ENGINE=InnoDB STANDARD CHARSET=latin1 1 Zeile im Satz (0,00 Sek.) FEHLER: Keine Abfrage angegeben 1.1.4 String-Typ
Beispiel: mysql> Tabelle erstellen varc(v varchar(4),c char(4)); Abfrage OK, 0 Zeilen betroffen (0,20 Sek.) mysql> einfügen in varc-Werte('abc ','abc '); Abfrage OK, 1 Zeile betroffen (0,03 Sek.) mysql> wähle Länge(v), Länge(c) aus varc; +--------------+--------------+ | Länge(v) | Länge(c) | +--------------+--------------+ | 4 | 3 | +--------------+--------------+ 1 Zeile im Satz (0,01 Sek.) mysql> wähle concat(v,'+'),concat(c,'+') aus varc; +---------------+---------------+ | concat(v,'+') | concat(c,'+') | +---------------+---------------+ | abc + | abc+ | +---------------+---------------+ 1 Zeile im Satz (0,00 Sek.)
Beispiel: mysql> Tabelle erstellen bina(c binary(3)); Abfrage OK, 0 Zeilen betroffen (0,22 Sek.) mysql> in t einfügen, setze c='a'; FEHLER 1054 (42S22): Unbekannte Spalte „c“ in „Feldliste“ mysql> in Bina-Set c='a' einfügen; Abfrage OK, 1 Zeile betroffen (0,05 Sek.) mysql> wähle *,hex(c),c='a',c='a\0',c='a\0\0' aus bina; +------+--------+-------+---------+-----------+ | c | hex(c) | c='a' | c='a\0' | c='a\0\0' | +------+--------+-------+---------+-----------+ | ein | 610000 | 0 | 0 | 1 | +------+--------+-------+---------+-----------+ 1 Zeile im Satz (0,00 Sek.) Es zeigt sich, dass beim Speichern eines 1.1.5 ENUM-Typ Beispiel: mysql> Tabelle erstellen Gend (Geschlecht Enumeration ('M', 'F')); Abfrage OK, 0 Zeilen betroffen (0,20 Sek.) mysql> einfügen in Gend-Werte('M'),('F'),('1'),(null); Abfrage OK, 4 Zeilen betroffen (0,03 Sek.) Datensätze: 4 Duplikate: 0 Warnungen: 0 mysql> wähle * von Geschlecht; +--------+ |Geschlecht| +--------+ | M | | F | | M | | NULL | +--------+ 4 Zeilen im Satz (0,00 Sek.) Daraus können wir ersehen, dass beim Einfügen von Werten vom Aufzählungstyp die Groß-/Kleinschreibung ignoriert wird und der anfängliche Index bei 1 beginnt; bei der Abfrage wird er in Großbuchstaben umgewandelt und es können auch Nullen eingefügt werden. 1.1.6 SET-Typ Ein Satz von 1 bis 8 Mitgliedern, der 1 Byte belegt. Beispiel: mysql> Tabelle erstellen st(Spaltensatz('a','b','c','d')); Abfrage OK, 0 Zeilen betroffen (0,20 Sek.) mysql> in st-Werte einfügen('a,b'),('a,d,a'),('a,c'),('a'); Abfrage OK, 4 Zeilen betroffen (0,03 Sek.) Datensätze: 4 Duplikate: 0 Warnungen: 0 mysql> in st-Werte einfügen ('f'); FEHLER 1265 (01000): Daten für Spalte „col“ in Zeile 1 abgeschnitten mysql> in st-Werte einfügen (null); Abfrage OK, 1 Zeile betroffen (0,03 Sek.) mysql> wähle * von st; +------+ | Spalte | +------+ | a,b | | ein, d | | a,c | | ein | | NULL | +------+ 5 Zeilen im Satz (0,00 Sek.) Daraus können wir ersehen, dass das Set mehrere Mitglieder und auch Null einfügen kann. Beim Einfügen einer nicht vorhandenen Definitionsspalte wird eine Ausnahme gemeldet und das Einfügen schlägt fehl. Das könnte Sie auch interessieren:
|
<<: Detaillierte Schritte zum manuellen Konfigurieren der IP-Adresse in Linux
>>: 33 Eis- und Schnee-Schriftarten zum Download empfohlen (privat und kommerziell)
Wenn Sie nicht unbedingt Künstler werden möchten,...
Inhaltsverzeichnis Was ist LocalStorage Was ist S...
1. Einführung in Docker Docker wurde in der Progr...
1. Installieren Sie Docker. Referenz-URL: Docker-...
Inhaltsverzeichnis 1. Anwendungslebenszyklus 2. S...
Beim Produktdesign legen Designer Wert darauf, das...
Beim Entwickeln einer Website müssen Sie häufig e...
Installationseinführung unter Windows: Schauen Si...
Es gibt viele Tags in XHTML, aber nur wenige werd...
In diesem Artikelbeispiel wird der spezifische Co...
Da die Kosten für die Erstellung von HTTPS-Websit...
Problembeschreibung Auf der Anmeldeseite des Proj...
eins. Warum einen privaten Nexus-Server erstellen...
In diesem Artikel erfahren Sie, wie Sie Excel-Dat...
Es gibt zwei Lösungen: Eine Möglichkeit ist CSS, b...