Ibland kan du behöva lägga till standardvärde till kolumn eller lägga till kolumn med standardvärde i MySQL. Du kan enkelt göra detta med standardbegränsning i MySQL. Så här lägger du till standardbegränsning i MySQL.
Hur man lägger till standardbegränsning i MySQL
Här är stegen för att lägga till standardbegränsning i MySQL. Du kan lägga till standardbegränsning när du skapar en tabell med CREATE TABLE-satsen eller efter tabellskapandet med ALTER TABLE-satsen. Vi kommer att titta på båda dessa tillvägagångssätt.
Hur man lägger till standardbegränsning med CREATE TABLE
Här är syntaxen för att lägga till standardbegränsning med CREATE-tabellsatsen.
mysql> create table table_name(
column1 column1_definition DEFAULT default_value,
column2 column2_definition,
...
);
I SQL-frågan ovan måste du ange tabellnamnet tabellnamn . Du måste också nämna DEFAULT efter kolumndefinitionen för det fält som du vill lägga till standardvärde för. Du måste också ange standardvärdet för din kolumn.
Bonusläsning:MySQL Välj Top N rader per grupp
Här är ett exempel för att lägga till standardbegränsning 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 ovanstående SQL-fråga skapar vi sample_data tabell med DEFAULT värde 0 för kolumn belopp. Som du kan se, när vi infogar värden i sample_data , vi nämner inte värdet för belopp kolumn. Ändå tilldelar MySQL automatiskt standardvärdet 0 till denna kolumn.
Bonusläs:Hur man får förra veckans data i MySQL
ALTER TABLE lägg till kolumn med standardvärde i MySQL
På samma sätt kan du lägga till standardbegränsning med ALTER TABLE-satsen för befintliga tabeller. Här är syntaxen för det
mysql> ALTER TABLE table_name
ALTER column_name SET DEFAULT default_value;
I ovanstående ALTER TABLE-sats måste du nämna tabellnamn, kolumnnamn och default_value
Här är ett exempel för att lägga till standardbegränsningar med ALTER TABLE. Låt oss säga att du vill ställa in standardvärde för order_date kolumnen i ovanstående tabell 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 ovanstående SQL-fråga har vi lagt till standardbegränsning till order_date kolumn. Efter det tillhandahåller vi endast id kolumns värde i vår INSERT-sats. Ändå fyller MySQL automatiskt i order_date och belopp kolumner baserat på deras standardvärden.
Bonus Läs:MySQL Copy Database
Hur man tar bort standardvärde till kolumn
Om du behöver ta bort standardvärdet för kolumn, använd sedan DROP DEFAULT-satsen. Här är syntaxen för DROP DEFAULT-frågan.
mysql> ALTER TABLE table_name
ALTER column_name DROP DEFAULT;
I ovanstående fråga måste du ange tabellnamn och kolumnnamn som du vill ta bort DEFAULT-begränsning för.
Här är ett exempel på DROP DEFAULT-begränsning i SQL.
mysql> ALTER TABLE sample_data
ALTER order_date DROP DEFAULT;
I ovanstående uttalande har vi tagit bort standardbegränsningen från order_date kolumn.
Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!