Bei der täglichen Entwicklung geht es im Allgemeinen um das Hinzufügen, Löschen, Ändern und Abfragen von Datenbanken. Daher ist das Auftreten von NULL- und Leerzeichen in MySQL unvermeidlich. Definition:
Für Laien ausgedrückt: Eine leere Zeichenfolge ('') ist wie ein Vakuumsauger, der nichts enthält. Der Unterschied:
Beispiele:
Tabelle erstellen test_ab (ID int, col_a varchar(128), col_b varchar(128) nicht null ); füge test_ab(id,col_a,col_b) Werte(1,1,1) ein; füge test_ab(id,col_a,col_b) Werte(2,'','') ein; füge test_ab(id,col_a,col_b) Werte(3,null,'') ein; füge test_ab(id,col_a,col_b) Werte(4,null,1) ein; mysql> wähle * aus test_ab; +------+-------+---------+ | ID | Spalte_a | Spalte_b | +------+-------+---------+ | 1 | 1 | 1 | | 2 | | | | 3 | NULL | | | 4 | NULL | 1 | +------+-------+---------+ 4 Zeilen im Satz (0,00 Sek.)
mysql> wähle * aus test_ab, wobei col_a = ''; +------+-------+---------+ | ID | Spalte_a | Spalte_b | +------+-------+---------+ | 2 | | | +------+-------+---------+ 1 Zeile im Satz (0,00 Sek.) mysql> select * from test_ab, wobei col_a null ist; +------+-------+---------+ | ID | Spalte_a | Spalte_b | +------+-------+---------+ | 3 | NULL | | | 4 | NULL | 1 | +------+-------+---------+ 2 Zeilen im Satz (0,00 Sek.) Es ist ersichtlich, dass die Abfragemethoden für
mysql> wähle col_a+1 aus test_ab, wobei ID = 4; +---------+ | Spalte_a+1 | +---------+ | NULL | +---------+ 1 Zeile im Satz (0,00 Sek.) mysql> wähle col_b+1 aus test_ab, wobei ID = 4; +---------+ | Spalte_b+1 | +---------+ | 2 | +---------+ 1 Zeile im Satz (0,00 Sek.) Daraus ist ersichtlich, dass Nullwerte an keinen Berechnungen teilnehmen können, da Nullwerte bei der Teilnahme an beliebigen Berechnungen leer sind.
mysql> wähle Anzahl(Spalte_a) aus Test_ab; +--------------+ | Anzahl(Spalte_a) | +--------------+ | 2 | +--------------+ 1 Zeile im Satz (0,00 Sek.) mysql> wähle Anzahl(Spalte_b) aus Test_ab; +--------------+ | Anzahl(Spalte_b) | +--------------+ | 4 | +--------------+ 1 Zeile im Satz (0,00 Sek.) Daraus ist ersichtlich, dass beim Zählen die Anzahl. Nullwerte werden nicht als gültige Werte gezählt. abschließend: Versuchen Sie daher, beim Festlegen des Standardwerts nicht null als Standardwert zu verwenden. Wenn das Feld vom Typ int ist, ist der Standardwert 0; wenn es vom Typ varchar ist, wäre eine leere Zeichenfolge ('') als Standardwert besser geeignet. Standardwerte mit Null können weiterhin indiziert werden, die Effizienz wird jedoch beeinträchtigt. Wenn Sie sicher sind, dass das Feld nicht indiziert wird, können Sie es natürlich auf null setzen. Wenn Sie ein Feld festlegen, können Sie es auf „ungleich null“ setzen, da das Konzept „ungleich null“ nicht mit dem Standardwert in Konflikt steht. Wenn wir den Standardwert auf ('') setzen, vermeiden wir zwar die Nullsituation, es ist jedoch möglich, dass dem Feld direkt ein Nullwert zugewiesen wird, sodass in der Datenbank trotzdem noch Null erscheint. Es wird daher dringend empfohlen, dem Feld nicht Null hinzuzufügen. Etwa so: mysql> alter table test_ab modify `col_b` varchar(128) NOT NULL DEFAULT ''; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Datensätze: 0 Duplikate: 0 Warnungen: 0 mysql> desc test_ab; +-------+--------------+------+-----+---------+---------+----------+ | Feld | Typ | Null | Schlüssel | Standard | Extra | +-------+--------------+------+-----+---------+---------+----------+ | Ich würde | int | JA | | NULL | | | col_a | varchar(128) | JA | | NULL | | | col_b | varchar(128) | NEIN | | | | +-------+--------------+------+-----+---------+---------+----------+ 3 Zeilen im Satz (0,00 Sek.) Obwohl es in Bezug auf Speicherplatz und Indexleistung möglicherweise nicht schlechter als das Nullzeichen ist, wird empfohlen, NULL nicht als Standardwert zu verwenden, um seine Besonderheiten zu vermeiden und Unsicherheit in das Projekt zu bringen. Oben sind die Einzelheiten zur Unterscheidung zwischen Nullwerten und leeren Zeichen ('') in MySQL aufgeführt. Weitere Informationen zu MySQL-Nullwerten und leeren Zeichen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Analyse des GTK-Treeview-Prinzips und der Verwendung
>>: Einführung in die reaktive Funktion toRef-Funktion ref-Funktion in Vue3
Als nützlicher Terminalemulator wird Xshell häufi...
Inhaltsverzeichnis 1.parseInt(Zeichenfolge, Basis...
Keil Da auf dem Computer eine relativ alte MySQL-...
Inhaltsverzeichnis Vorwort HTTP HTTP-Server Datei...
Inhaltsverzeichnis CentOS RPM-Installation und Ko...
Es gibt zwei Möglichkeiten, nodejs unter Linux zu...
Vorwort Jeder weiß, dass das Partitionsfeld Teil ...
Inhaltsverzeichnis 1. Objektänderungserkennung 2....
In diesem Artikel wird der spezifische Code für d...
Inhaltsverzeichnis 1. Gegenstand 1.1 Was ist ein ...
Vorbereitung 1. Überprüfen Sie, ob die GPU CUDA u...
Die Warnhinweise in diesem Artikel haben nichts m...
Installieren Sie zunächst PHP5 ganz einfach yum i...
Es gibt zwei gängige Möglichkeiten, den Div-Hinte...
In diesem Artikelbeispiel wird der spezifische Co...