Una pequeña entrada sobre SQL básico, porque me lo han preguntado hace un rato, así que aprovecho para contestar por aquí.
Muy bien, tienes una tabla y quieres añadir una columna o campo que se te olvidó al crearla, o que por cambios en la aplicación necesitas añadir. Si te vas a la guía de referencia de MySQL puedes leer todas las posibilidades que tienes, pero como se puede hacer largo y pesado mejor unos ejemplillos de código rápidos aquí:
La sintaxis básica es ALTER TABLE nombreDeLaTabla add nombreDeLaColumna tipodedatos(longitud)
ALTER TABLE tabla1 add colNueva varchar(2);
Vamos con más ejemplos. Por ejemplo, queremos que la columna nueva no permita valores nulos (ojo, esto puede dar problemas si la tabla ya tiene valores añadidos):
ALTER TABLE tabla1 add colNueva varchar(2) NOT NULL;
O por ejemplo queremos colocarlo específicamente después de una columna que ya existe (si no especificamos nada, añadirá la nueva al final):
ALTER TABLE tabla1 add colNueva varchar(2) NOT NULL AFTER col1;
O al revés, queremos insertarla antes de una columna concreta:
ALTER TABLE tabla1 add colNueva varchar(2) NOT NULL BEFORE col2;
También puede venir con un valor por defecto:
ALTER TABLE tabla1 add colNueva varchar(35) DEFAULT 'Ni de ajo';
¿Y si en vez de una quieres insertar varias? Sin problema:
ALTER TABLE tabla1 add ( colNueva varchar(2) NOT NULL, colMásNueva tinyint(1) default 0 )
Como ves, es sencillo. SQL básico. Como siempre, todo lo aplicable en MySQL lo es también en MariaDB.
Gracias :v me sirvió de verdad :3
No me funciona “BEFORE col2” para añadir una columna de primera, en su lugar tuve que usar “FIRST”. Estoy usando MySQL 5.7.18
Igual a mi, gracias por tu aporte.