MySQL Standard

MySQL Standard

„In diesem Beitrag werden wir diskutieren, wie die Standardbeschränkung in der MySQL -Spalte verwendet wird. Wir lernen, wie Sie diesen Einschränkungsart in der Tabellenschema -Definition für eine bestimmte Spalte verwenden.”

Wenn das interessant klingt, lassen Sie uns tauchen und mehr lernen.

MySQL Standardbeschränkungssyntax

Der folgende Ausschnitt zeigt die Syntax der Standardbeschränkung:

col_name data_type default default_value;


Lassen Sie uns die obige Syntax untersuchen.

Wir beginnen mit dem Column_Name, der den Namen der Spalte angibt, auf dem Sie eine Standardbeschränkung festlegen möchten. Wir definieren dann den Datentyp für die Spalte.

Das Standard -Schlüsselwort folgt vom Standardwert, der einen wörtlichen Wert definiert. Wenn Sie also eine Zeile einfügen oder aktualisieren, die keinen Wert für diese Spalte enthält, verwendet MySQL den definierten Standardwert anstelle eines Null -Typs.

Es ist gut zu beachten, dass der Standardwert kein Ausdruck oder eine Funktion sein kann.

Es ist eine gute Praxis, die Standardbeschränkung während der Tabellendefinition zu definieren. Dies hilft, die Daten in der Tabelle zu erhalten, und es werden keine vorherigen Daten auf NULL gesetzt.

Praktisches Beispiel

Das folgende Beispiel zeigt, wie die Standardbeschränkung während der Erstellung von Tabellen festgelegt wird.

MySQL> Datenbank erstellen null_day;
Abfrage OK, 1 Zeile betroffen (0.00 Sek.)


Verwenden Sie die Zieldatenbank:

MySQL> Verwenden Sie Zero_Day;
Datenbank geändert


Erstellen Sie eine Tabelle mit dem unten angegebenen Schema:

MySQL> Tabellenaufzeichnungen erstellen (
-> ID int nicht null auto_increment Primärschlüssel,
-> report_name varchar (255) nicht null,
-> report_date Datum nicht null,
-> report_author varchar (100) Standard 'Anonymous',
-> Schweregrad nicht null,
-> Überprüfen Sie (Schweregrad> 0)
->);


Die obige Abfrage erstellt eine Tabelle namens_records mit verschiedenen Spalten. Achten Sie auf die Spalte Report_author. Wir definieren eine Standardbeschränkung und setzen den Standardwert auf "Anonymous".

Wenn wir den Wert für diese Spalte nicht angeben, verwendet MySQL diesen Wert anstelle von Null.

Sie können das Tabellenschema nach der Tatsache mit dem Befehl des DESC bestätigen:

Desc Records;


Dies sollte die Tabellendefinition als Tabelle zurückgeben.


Wie Sie sehen können, enthält der Report_author einen Standardwert, während der Rest der Spalten Null als Standardwert verwendet.

Um dies zu testen, können wir die Datensätze wie gezeigt einfügen:

In Datensätze einfügen (Report_Name, Report_date, Schweregrad)
Werte ('Desc-100', '2022-01-20', 6);


Die obige Einfügeanweisung fügt der Tabelle einen Datensatz hinzu, ohne den Wert für das Reports_Table bereitzustellen.

Dies sollte MySQL dazu zwingen, den Standardwert wie gezeigt zu verwenden:

MySQL> Ausgewählte * Aus Datensätzen;


Die Ausgangstabelle:

+----+-------------+-------------+---------------+----------+
| id | report_name | report_date | Report_author | Schwere |
+----+-------------+-------------+---------------+----------+
| 1 | Desc-100 | 2022-01-20 | anonym | 6 |
+----+-------------+-------------+---------------+----------+
1 Zeile in Set (0.00 Sek.)


Wie wir sehen können, enthält die Tabelle den Wert „anonym“ anstelle von Null.

Fügen Sie die Standardeinschränkung in der vorhandenen Tabelle hinzu

Wir können einer vorhandenen Tabelle auch eine Standardbeschränkung mit dem Befehl alter table wie gezeigt hinzufügen:

Die Befehlssyntax ist wie gezeigt:

TABLE TABLE TABLE_NAME
ALTER -Spaltenspalten -Spalte_Name Setzen Sie default default_value;


Zum Beispiel eine Standardbeschränkung in die Schweregradspalte hinzufügen:

MySQL> ALTER -TABELLE -Datensätze Alter Spalten Schweregrad Setzen Sie Standard 5;


Dies sollte die Schweregradspalte aktualisieren, um die Standardbeschränkung mit einem Wert von 5 zu enthalten.

Abschluss

In diesem Beitrag haben wir besprochen, wie die SET verwendet wird, und die Standardeinschränkung in einer Tabellenspalte verwenden.