MariaDB - Alter Command

Il comando ALTER fornisce un modo per modificare la struttura di una tabella esistente, ovvero modifiche come la rimozione o l'aggiunta di colonne, la modifica degli indici, la modifica dei tipi di dati o la modifica dei nomi. ALTER attende inoltre di applicare le modifiche quando è attivo un blocco dei metadati.

Utilizzo di ALTER per modificare le colonne

ALTER abbinato a DROP rimuove una colonna esistente. Tuttavia, non riesce se la colonna è l'unica colonna rimanente.

Rivedi l'esempio fornito di seguito:

mysql> ALTER TABLE products_tbl DROP version_num;

Usa un'istruzione ALTER ... ADD per aggiungere colonne -

mysql> ALTER TABLE products_tbl ADD discontinued CHAR(1);

Utilizza le parole chiave PRIMA e DOPO per specificare il posizionamento della colonna -

ALTER TABLE products_tbl ADD discontinued CHAR(1) FIRST;
ALTER TABLE products_tbl ADD discontinued CHAR(1) AFTER quantity;

Nota che le parole chiave FIRST e AFTER si applicano solo alle istruzioni ALTER ... ADD. Inoltre, è necessario rilasciare una tabella e quindi aggiungerla per riposizionarla.

Modificare una definizione o un nome di colonna utilizzando la clausola MODIFY o CHANGE in un'istruzione ALTER. Le clausole hanno effetti simili, ma utilizzano una sintassi sostanzialmente diversa.

Rivedi un esempio di MODIFICA fornito di seguito:

mysql> ALTER TABLE products_tbl CHANGE discontinued status CHAR(4);

In un'istruzione che utilizza CHANGE, specificare la colonna originale e quindi la nuova colonna che la sostituirà. Rivedi un esempio di MODIFICA di seguito:

mysql> ALTER TABLE products_tbl MODIFY discontinued CHAR(4);

Il comando ALTER consente anche di modificare i valori predefiniti. Rivedi un esempio:

mysql> ALTER TABLE products_tbl ALTER discontinued SET DEFAULT N;

Puoi anche usarlo per rimuovere i vincoli predefiniti associandolo a una clausola DROP -

mysql> ALTER TABLE products_tbl ALTER discontinued DROP DEFAULT;

Utilizzo di ALTER per modificare le tabelle

Cambia il tipo di tabella con la clausola TYPE -

mysql> ALTER TABLE products_tbl TYPE = INNODB;

Rinomina una tabella con la parola chiave RENAME -

mysql> ALTER TABLE products_tbl RENAME TO products2016_tbl;