sql >> Databáze >  >> RDS >> Mysql

Jak přidat výchozí omezení v MySQL

Někdy může být nutné přidat výchozí hodnotu do sloupce nebo přidat sloupec s výchozí hodnotou v MySQL. Můžete to snadno provést pomocí výchozího omezení v MySQL. Zde je návod, jak přidat výchozí omezení v MySQL.

Jak přidat výchozí omezení v MySQL

Zde jsou kroky k přidání výchozího omezení v MySQL. Výchozí omezení můžete přidat při vytváření tabulky pomocí příkazu CREATE TABLE nebo po vytvoření tabulky pomocí příkazu ALTER TABLE. Podíváme se na oba tyto přístupy.

Jak přidat výchozí omezení pomocí CREATE TABLE

Zde je syntaxe pro přidání výchozího omezení pomocí příkazu CREATE tabulky.

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

Ve výše uvedeném SQL dotazu musíte zadat název tabulky table_name . Také musíte uvést DEFAULT za definici sloupce pole, pro které chcete přidat výchozí hodnotu. Musíte také zadat výchozí hodnotu vašeho sloupce.

Bonusové čtení:MySQL Vyberte prvních N řádků na skupinu

Zde je příklad přidání výchozího omezení v 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 |
+------+------------+--------+

Ve výše uvedeném SQL dotazu vytvoříme ukázková_data tabulka s DEFAULT hodnotou 0 pro sloupec částka. Jak vidíte, když vkládáme hodnoty do sample_data , neuvádíme hodnotu pro částku sloupec. MySQL však tomuto sloupci automaticky přiřadí výchozí hodnotu 0.

Bonusové čtení:Jak získat data z minulého týdne v MySQL

ALTER TABLE přidat sloupec s výchozí hodnotou v MySQL

Podobně můžete přidat výchozí omezení pomocí příkazu ALTER TABLE pro existující tabulky. Zde je jeho syntaxe

mysql> ALTER TABLE table_name
          ALTER column_name SET DEFAULT default_value;

Ve výše uvedeném příkazu ALTER TABLE musíte zmínit název_tabulky, název_sloupce a default_value

Zde je příklad přidání výchozího omezení pomocí  ALTER TABLE. Řekněme, že chcete nastavit výchozí hodnotu pro order_date ve výše uvedené tabulce 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 |
+------+------------+--------+

Ve výše uvedeném SQL dotazu jsme přidali výchozí omezení k datum_objednávky sloupec. Poté poskytujeme pouze id hodnotu sloupce v našem příkazu INSERT. Přesto MySQL automaticky vyplní order_date a částka sloupců na základě jejich výchozích hodnot.

Bonusové čtení:Kopírovací databáze MySQL

Jak odebrat výchozí hodnotu ze sloupce

Pokud potřebujete odstranit výchozí hodnotu pro sloupec, použijte příkaz DROP DEFAULT. Zde je syntaxe dotazu DROP DEFAULT.

mysql> ALTER TABLE table_name
          ALTER column_name DROP DEFAULT;

Ve výše uvedeném dotazu musíte zadat název_tabulky a název_sloupce pro které chcete zrušit výchozí omezení.

Zde je příklad omezení DROP DEFAULT v SQL.

mysql> ALTER TABLE sample_data
       ALTER order_date DROP DEFAULT;

Ve výše uvedeném prohlášení jsme odstranili výchozí omezení z order_date sloupec.

Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!

  1. Jak zkontrolovat, které zámky drží na stole

  2. Jak mohu VYBRAT více sloupců v CASE WHEN na SQL Server?

  3. MySQL – Oprava – Chyba – Vaše heslo nesplňuje aktuální požadavky zásad

  4. SQL Server Změna názvu databáze