A volte potrebbe essere necessario modificare il nome della colonna in MySQL o rinominare il nome della colonna senza cambiarne il tipo. Ecco come rinominare la colonna nella query MySQL.
Come modificare il nome della colonna in MySQL
Di seguito sono riportati i passaggi per modificare il nome della colonna nella query MySQL utilizzando l'istruzione MySQL ALTER TABLE.
Rinomina colonna in MySQL 5.6.xe 5.7.x
Ecco la query SQL per rinominare la colonna in MySQL.
ALTER TABLE table_name CHANGE old_column_name new_column_name <column definition>;
Nella query precedente, devi menzionare nome_tabella dopo ALTER TABLE, old_column_name e new_column_name dopo la parola chiave CAMBIA. Devi anche menzionare l'intera definizione di colonna della tua colonna, anche se non ci sono modifiche. In caso contrario, MySQL modificherà gli attributi non dichiarati al valore predefinito.
Ad esempio, se hai un vincolo NOT NULL sulla tua colonna MySQL ma non lo menzioni durante la ridenominazione della colonna, MySQL eliminerà quel vincolo e consentirà valori nulli per quella colonna, dopo averla rinominata.
Bonus Lettura:MySQL Stored Procedure con Parametri
Ecco un esempio di colonna di ridenominazione. Supponiamo che tu abbia la seguente tabella ordini
mysql> describe orders; +--------------+--------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+-------------------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | product_name | varchar(255) | NO | | NULL | | | order_date | date | YES | | NULL | | | price | int(11) | NO | | NULL | | | description | text | YES | | NULL | | | created_at | timestamp | NO | | CURRENT_TIMESTAMP | | +--------------+--------------+------+-----+-------------------+----------------+ mysql> alter table orders change price item_price int(11); mysql> describe orders; +--------------+--------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+-------------------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | product_name | varchar(255) | NO | | NULL | | | order_date | date | YES | | NULL | | | item_price | int(11) | YES | | NULL | | | description | text | YES | | NULL | | | created_at | timestamp | NO | | CURRENT_TIMESTAMP | | +--------------+--------------+------+-----+-------------------+----------------+
Bonus Leggi:Come duplicare la tabella in MySQL
Rinomina colonna in MySQL 8.0
A partire da MySQL 8.0, esiste un altro modo più semplice per rinominare una colonna senza modificare il tipo (senza specificare l'intera definizione della colonna) utilizzando la clausola RENAME COLUMN.
ALTER TABLE products RENAME COLUMN product_name TO product_full_name;
Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!