Heim > Datenbank > MySQL-Tutorial > Was ist besser, NULL oder eine leere Zeichenfolge in MySQL einzufügen?

Was ist besser, NULL oder eine leere Zeichenfolge in MySQL einzufügen?

PHPz
Freigeben: 2023-08-25 23:17:13
nach vorne
1558 Leute haben es durchsucht

Was ist besser, NULL oder eine leere Zeichenfolge in MySQL einzufügen?

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)
Nach dem Login kopieren

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 Login kopieren

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 Login kopieren

Nach dem Ausführen der obigen Abfrage wird die folgende Ausgabe erhalten -

+---------+
| Message |
+---------+
|         |
+---------+
1 row in set (0.00 sec)
Nach dem Login kopieren

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;
Nach dem Login kopieren

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 Login kopieren

Nach dem Ausführen der obigen Abfrage lautet die Ausgabe wie folgt:

+----------------+
| count(message) |
+----------------+
| 1              |
+----------------+
1 row in set (0.06 sec)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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;
Nach dem Login kopieren

Das Folgende ist die Ausgabe der obigen Abfrage -

+----------------+
| count(message) |
+----------------+
| 0              |
+----------------+
1 row in set (0.00 sec)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage