sql >> Database teknologi >  >> RDS >> Mysql

Sådan tilføjes standardbegrænsning i MySQL

Nogle gange skal du muligvis tilføje standardværdi til kolonne eller tilføje kolonne med standardværdi i MySQL. Du kan nemt gøre dette ved at bruge standardbegrænsning i MySQL. Sådan tilføjer du standardbegrænsninger i MySQL.

Sådan tilføjer du standardbegrænsning i MySQL

Her er trinene til at tilføje standardbegrænsninger i MySQL. Du kan tilføje standardbegrænsninger, mens du opretter tabel ved hjælp af CREATE TABLE-sætning, eller efter tabeloprettelse ved hjælp af ALTER TABLE-sætning. Vi vil se på begge disse tilgange.

Sådan tilføjer du standardbegrænsning ved hjælp af CREATE TABLE

Her er syntaksen til at tilføje standardbegrænsninger ved hjælp af CREATE tabelsætning.

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

I ovenstående SQL-forespørgsel skal du angive tabelnavnet tabelnavn . Du skal også nævne DEFAULT efter kolonnedefinitionen for det felt, som du vil tilføje standardværdi for. Du skal også angive standardværdien for din kolonne.

Bonus Læs:MySQL Vælg Top N rækker pr. gruppe

Her er et eksempel på at tilføje standardbegrænsninger i 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 |
+------+------------+--------+

I ovenstående SQL-forespørgsel opretter vi sample_data tabel med DEFAULT værdi 0 for kolonne beløb. Som du kan se, når vi indsætter værdier i sample_data , vi nævner ikke værdien for beløb kolonne. Alligevel tildeler MySQL automatisk standardværdien 0 til denne kolonne.

Bonus Læs:Sådan får du sidste uges data i MySQL

ALTER TABLE tilføje kolonne med standardværdi i MySQL

På samme måde kan du tilføje standardbegrænsninger ved hjælp af ALTER TABLE-sætningen for eksisterende tabeller. Her er syntaksen for det

mysql> ALTER TABLE table_name
          ALTER column_name SET DEFAULT default_value;

I ovenstående ALTER TABLE-sætning skal du nævne tabelnavn, kolonnenavn og default_value

Her er et eksempel på at tilføje standardbegrænsninger ved hjælp af  ALTER TABLE. Lad os sige, at du vil indstille standardværdien for ordre_date kolonne i ovenstående tabel 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 |
+------+------------+--------+

I ovenstående SQL-forespørgsel har vi tilføjet standardbegrænsning til ordre_date kolonne. Derefter giver vi kun id kolonnens værdi i vores INSERT-sætning. Alligevel udfylder MySQL automatisk ordre_date og beløb kolonner baseret på deres standardværdier.

Bonus Læs:MySQL Copy Database

Sådan fjerner du standardværdien til kolonnen

Hvis du har brug for at fjerne standardværdien for kolonnen, skal du bruge DROP DEFAULT-sætningen. Her er syntaksen for DROP DEFAULT-forespørgslen.

mysql> ALTER TABLE table_name
          ALTER column_name DROP DEFAULT;

I ovenstående forespørgsel skal du angive tabelnavn og kolonnenavn som du vil slette STANDARD-begrænsningen for.

Her er et eksempel på DROP DEFAULT-begrænsning i SQL.

mysql> ALTER TABLE sample_data
       ALTER order_date DROP DEFAULT;

I ovenstående erklæring har vi fjernet standardbegrænsningen fra order_date kolonne.

Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!

  1. Hvad er en database? Og en DBMS?

  2. Hvordan deaktiverer jeg midlertidigt triggere i PostgreSQL?

  3. WIDTH_BUCKET() Funktion i Oracle

  4. SQL Server (localdb)\v11.0 forklaret