In innoDB nimmt NULL weniger Platz ein als eine leere Zeichenfolge. Darüber hinaus beträgt die NULL-Länge null und die Länge einer leeren Zeichenfolge ist 0.
Um dies zu verstehen, erstellen Sie mit Hilfe des Befehls „create“ eine Tabelle, wie unten gezeigt Wie folgt -
mysql> CREATE table DemoEmptyAndNULL -> ( -> Message varchar(100) -> ); Query OK, 0 rows affected (0.49 sec)
Nachdem die Tabelle erfolgreich erstellt wurde, fügen Sie mit dem folgenden Befehl einen leeren Datensatz in die Tabelle ein insert-Befehl, der wie folgt lautet: -
mysql> INSERT into DemoEmptyAndNULL values(' '); Query OK, 1 row affected (0.17 sec)
Nach dem Einfügen von Datensätzen können wir den Select-Befehl verwenden, um alle Datensätze anzuzeigen Das ist wie folgt: -
mysql> SELECT * from DemoEmptyAndNULL;
Nach dem Ausführen der obigen Abfrage wird die folgende Ausgabe erhalten -
+---------+ | Message | +---------+ | | +---------+ 1 row in set (0.00 sec)
Die Syntax zum Überprüfen der Länge einer leeren Zeichenfolge mithilfe der integrierten Funktion count lautet wie folgt Follow-
select count(column_name) from yourTableName;
Die obige Syntax wird verwendet, um die Länge einer leeren Zeichenfolge abzurufen, die wie folgt angegeben ist:
mysql> select count(message) from DemoEmptyAndNULL;
Nach dem Ausführen der obigen Abfrage lautet die Ausgabe wie folgt:
+----------------+ | count(message) | +----------------+ | 1 | +----------------+ 1 row in set (0.06 sec)
Aus der obigen Ausgabe ist es Es ist klar, dass das leere Zeichen die Länge der Zeichenfolge 1 beträgt.
Jetzt prüfen wir die Länge von NULL. Zunächst werden die Datensätze in die Tabelle eingefügt Gelöscht mit dem Löschbefehl wie unten:
mysql> delete from DemoEmptyAndNULL where message=' '; Query OK, 1 row affected (0.19 sec)
Die folgende Abfrage wird verwendet, um zu prüfen, ob in der aktuellen Tabelle kein Datensatz vorhanden ist:
mysql> SELECT * from DemoEmptyAndNULL; Empty set (0.00 sec)
Jetzt wird der Datensatz mit dem Nullwert wie folgt in die Tabelle eingefügt:
mysql> INSERT into DemoEmptyAndNULL values(); Query OK, 1 row affected (0.18 sec)
Der Datensatz ist wird mit dem Befehl „select“ angezeigt und die erhaltene Ausgabe lautet wie folgt:
+---------+ | Message | +---------+ | NULL | +---------+ 1 row in set (0.00 sec)
Jetzt gibt es nur noch einen Datensatz mit einem Nullwert in der Tabelle. Um seine Länge zu ermitteln, führen Sie die folgende Abfrage aus: Verwenden von -
mysql> select count(message) from DemoEmptyAndNULL;
Das Folgende ist die Ausgabe der obigen Abfrage -
+----------------+ | count(message) | +----------------+ | 0 | +----------------+ 1 row in set (0.00 sec)
Die obige Ausgabe bedeutet, dass die Anzahl 0 (Nullwert) ist.
Lassen Sie uns die MySQL-Version überprüfen.
mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.06 sec)
Daher ist es für Datenbanken besser, leere Zeichenfolgen zu verwenden, da das Zulassen von NULL-Werten das System dazu zwingt Zusätzlicher Aufwand und Bereitstellung der gesuchten Daten. NULL löst jedoch nicht aus Bei der Ausführung der count()-Funktion tritt eine Ausnahme auf.
Das obige ist der detaillierte Inhalt vonWas ist besser, NULL oder eine leere Zeichenfolge in MySQL einzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!