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

MySQL změnit sloupec tabulky

Mnohokrát může být nutné upravit datový typ sloupce nebo přejmenovat sloupec v MySQL. Můžete snadno změnit datový typ sloupce nebo změnit sloupec v MySQL pomocí příkazu ALTER TABLE. Zde je návod, jak změnit sloupec tabulky v MySQL.

MySQL změnit sloupec tabulky v MySQL

Podíváme se na to, jak změnit sloupec tabulky v MySQL pomocí příkazu ALTER TABLE s klauzulí MODIFY.

Zde je syntaxe příkazu ALTER TABLE pro úpravu sloupce v MySQL.

ALTER TABLE table_name
MODIFY column_name column_definition
[ FIRST | AFTER column_name];

Ve výše uvedeném dotazu název_tabulky je název tabulky databáze MySQL, název_sloupce je název sloupce, který má být upraven, a definice_sloupce je nový datový typ vašeho sloupce.

Řekněme, že máte následující objednávky tabulka

mysql> create table orders(id int, order_date date);

mysql> describe orders;
+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| id         | int(11) | YES  |     | NULL    |       |
| order_date | date    | YES  |     | NULL    |       |
+------------+---------+------+-----+---------+-------+

Upravit typ dat sloupce

Řekněme, že chcete změnit datový typ sloupce order_date od data do datatime. Zde je dotaz SQL pro změnu datového typu sloupce.

mysql> alter table orders
       modify column order_date datetime;

mysql> describe orders;
+------------+----------+------+-----+---------+-------+
| Field      | Type     | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+-------+
| id         | int(11)  | YES  |     | NULL    |       |
| order_date | datetime | YES  |     | NULL    |       |
+------------+----------+------+-----+---------+-------+

Upravit více sloupců v MySQL

Pokud chcete upravit více sloupců v MySQL, musíte použít samostatné klauzule MODIFY s ALTER TABLE.

Zde je dotaz SQL pro úpravu obou sloupců (id a datum_objednávky ) z objednávek tabulka.

mysql> alter table orders
       modify column id float,
       modify order_date date;

mysql> describe orders;
+------------+-------+------+-----+---------+-------+
| Field      | Type  | Null | Key | Default | Extra |
+------------+-------+------+-----+---------+-------+
| id         | float | YES  |     | NULL    |       |
| order_date | date  | YES  |     | NULL    |       |
+------------+-------+------+-----+---------+-------+

Přejmenovat sloupec v MySQL

Zde je dotaz SQL pro změnu názvu sloupce v MySQL. V tomto případě používáme k přejmenování sloupců ALTER TABLE s klauzulí CHANGE COLUMN.

Zde je jeho syntaxe

ALTER TABLE table_name
    CHANGE COLUMN original_name new_name column_definition
    [FIRST | AFTER column_name];

Ve výše uvedeném dotazu název_tabulky je název tabulky, jejíž sloupec chceme změnit. originální_název is name je starý název vašeho sloupce a new_name je jeho nový název

Řekněme, že chcete přejmenovat order_date sloupec do new_order_date

mysql> alter table orders
       change column order_date new_order_date date;

mysql> describe orders;
+----------------+---------+------+-----+---------+-------+
| Field          | Type    | Null | Key | Default | Extra |
+----------------+---------+------+-----+---------+-------+
| id             | int(11) | YES  |     | NULL    |       |
| new_order_date | date    | YES  |     | NULL    |       |
+----------------+---------+------+-----+---------+-------+

Doufejme, že nyní můžete snadno změnit sloupec tabulky v MySQL.

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. OracleDataSource vs. Oracle UCP PoolDataSource

  2. Stále dostávám chybový vztah [TABLE] neexistuje

  3. SQL Server Nepoužitý index

  4. Jak provést UPSERT, abych mohl v části aktualizace použít nové i staré hodnoty