Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So fügen Sie eine Standardeinschränkung in MySQL hinzu

Manchmal müssen Sie möglicherweise der Spalte einen Standardwert hinzufügen oder eine Spalte mit dem Standardwert in MySQL hinzufügen. Sie können dies ganz einfach mit der Standardeinschränkung in MySQL tun. So fügen Sie eine Standardbeschränkung in MySQL hinzu.

So fügen Sie Standardeinschränkungen in MySQL hinzu

Hier sind die Schritte zum Hinzufügen von Standardeinschränkungen in MySQL. Sie können eine Standardeinschränkung während der Tabellenerstellung mit der CREATE TABLE-Anweisung oder nach der Tabellenerstellung mit der ALTER TABLE-Anweisung hinzufügen. Wir werden uns diese beiden Ansätze ansehen.

So fügen Sie eine Standardeinschränkung mit CREATE TABLE hinzu

Hier ist die Syntax zum Hinzufügen einer Standardbeschränkung mit der CREATE-Tabellenanweisung.

mysql> create table table_name(
    column1 column1_definition DEFAULT default_value,
    column2 column2_definition,
    ...
  );

In der obigen SQL-Abfrage müssen Sie den Tabellennamen table_name angeben . Außerdem müssen Sie DEFAULT nach der Spaltendefinition des Felds erwähnen, für das Sie einen Standardwert hinzufügen möchten. Sie müssen auch den Standardwert Ihrer Spalte angeben.

Bonus-Lesetext:MySQL wählt die obersten N Zeilen pro Gruppe aus

Hier ist ein Beispiel zum Hinzufügen einer Standardbeschränkung in MySQL.

mysql> create table sample_data(
       id int,
       order_date date,
       amount int DEFAULT 0
     );

mysql> insert into sample_data(id, order_date)
       values(1,'2020-08-01');

mysql> select * from sample_data;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2020-08-01 |      0 |
+------+------------+--------+

In der obigen SQL-Abfrage erstellen wir sample_data Tabelle mit DEFAULT-Wert 0 für Spalte Betrag. Wie Sie sehen können, wenn wir Werte in sample_data einfügen , erwähnen wir den Wert für Betrag nicht Säule. MySQL weist dieser Spalte jedoch automatisch den Standardwert 0 zu.

Bonuslektüre:So erhalten Sie Daten der letzten Woche in MySQL

ALTER TABLE Spalte mit Standardwert in MySQL hinzufügen

In ähnlicher Weise können Sie mit der ALTER TABLE-Anweisung für vorhandene Tabellen eine Standardeinschränkung hinzufügen. Hier ist die Syntax dafür

mysql> ALTER TABLE table_name
          ALTER column_name SET DEFAULT default_value;

In der obigen ALTER TABLE-Anweisung müssen Sie table_name, column_name erwähnen und default_value

Hier ist ein Beispiel zum Hinzufügen einer Standardbeschränkung mit ALTER TABLE. Angenommen, Sie möchten den Standardwert für order_date festlegen Spalte in der obigen Tabelle sample_data

mysql> ALTER TABLE sample_data
       ALTER order_date SET DEFAULT '2020-08-03';

mysql> insert into sample_data(id)
       values(2);

mysql>select * from sample_data;

mysql> select * from sample_data;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2020-08-01 |      0 |
|    2 | 2020-08-03 |      0 |
+------+------------+--------+

In der obigen SQL-Abfrage haben wir order_date eine Standardeinschränkung hinzugefügt Säule. Danach geben wir nur id an Spaltenwert in unserer INSERT-Anweisung. Dennoch füllt MySQL automatisch order_date und Betrag Spalten basierend auf ihren Standardwerten.

Bonus-Lesetext:MySQL-Kopierdatenbank

So entfernen Sie den Standardwert aus der Spalte

Wenn Sie den Standardwert für die Spalte entfernen müssen, verwenden Sie die Anweisung DROP DEFAULT. Hier ist die Syntax für die DROP DEFAULT-Abfrage.

mysql> ALTER TABLE table_name
          ALTER column_name DROP DEFAULT;

In der obigen Abfrage müssen Sie den table_name angeben und Spaltenname für die Sie die DEFAULT-Einschränkung löschen möchten.

Hier ist ein Beispiel für die Einschränkung DROP DEFAULT in SQL.

mysql> ALTER TABLE sample_data
       ALTER order_date DROP DEFAULT;

In der obigen Anweisung haben wir die Standardeinschränkung von order_date entfernt Spalte.

Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!