Agregar una nueva columna entre dos columnas en SQLite
- Agregar una nueva columna a la base de datos SQLite existente
- Crear una nueva tabla con columnas actualizadas
-
Enfoques
ALTER TABLE ADD COLUMN
en diferentes bases de datos
En la base de datos SQLite, almacenamos datos dentro de las tablas. Cada tabla contiene filas y columnas para mantener los datos.
La columna representa los atributos de la base de datos, mientras que las filas representan el registro en cada línea. Durante el ciclo de vida de una base de datos, si queremos insertar o agregar una nueva columna a la base de datos existente, tenemos múltiples opciones para adoptar y trabajar en ella.
Una de las opciones es insertar una nueva columna en la base de datos existente o crear una nueva tabla con columnas actualizadas, copiar los datos dentro de las filas y eliminar la tabla anterior.
Agregar una nueva columna a la base de datos SQLite existente
Para insertar una nueva columna en la base de datos, usamos la siguiente sintaxis del comando ALTER TABLE
para obtener el resultado deseado. Aquí, debemos mencionar el nombre de la tabla y que queremos agregar una nueva columna.
En la siguiente línea, debemos especificar la definición de la columna después del comando AÑADIR COLUMNA
.
ALTER TABLE name_of_the_table
ADD COLUMN new_column type_of_column;
La definición de columna se define de la siguiente manera.
name_of_the_column type_of_data constraint;
Mirando la declaración SQL anterior, agregamos una sola columna a la base de datos. Sin embargo, usamos los siguientes comandos SQL si queremos agregar varias columnas nuevas a la tabla SQL.
ALTER TABLE name_of_the_table
ADD COLUMN new_column1_definition,
ADD COLUMN new_column2_definition;
Tome un ejemplo de la tabla de un cliente, que tiene 4 columnas: customer_id
como clave principal, c_first_name
, c_last_name
y c_email
del cliente. La descripción de la mesa del cliente es la siguiente.
CREATE TABLE customers (
customers_id INT PRIMARY KEY,
c_first_name VARCHAR(40) NOT NULL,
c_last_name VARCHAR(40) NOT NULL,
c_email VARCHAR(100) NOT NULL UNIQUE
);
Un nuevo requisito es agregar una nueva columna, phone_number
, a la tabla clientes
. Para realizar esta tarea, necesitamos usar el comando ALTER TABLE
para proporcionar el nombre de la tabla para agregar la nueva columna.
En la siguiente línea, se necesita el comando AGREGAR COLUMNA
para agregar una nueva definición de columna que contenga el nombre de la columna y su tipo.
ALTER TABLE customers
ADD COLUMN phone_number VARCHAR(35);
De manera similar, si queremos insertar varias columnas nuevas en la base de datos SQL, debemos usar explícitamente el comando AÑADIR COLUMNA
para cada columna nueva. Aquí, hemos agregado tres nuevas columnas a la base de datos de clientes
: c_mailing_address
, c_dob,
y c_social_media_account
.
Este enfoque agrega las nuevas columnas al final de una tabla, no entre las columnas actuales.
Recuerde, hay diferentes sintaxis para usar el comando ALTER TABLE
en diferentes bases de datos, mientras que el enfoque es el mismo.
ALTER TABLE customers
ADD COLUMN c_mailing_address VARCHAR(155),
ADD COLUMN c_dob DATE,
ADD COLUMN c_social_media_account VARCHAR(255);
Crear una nueva tabla con columnas actualizadas
La segunda opción es crear una nueva tabla con la columna que falta y un nombre temporal. Este enfoque coloca la columna en la posición y secuencia correctas.
Luego, copie todos los registros de la tabla anterior a la nueva tabla y elimine la tabla anterior. Más tarde, cambie el nombre de la nueva tabla al nombre de la tabla eliminada.
Crear una tabla con un nombre temporal
El paso inicial es crear una nueva tabla con un nombre temporal con los mismos nombres de columna que las columnas de la tabla anterior. Los mismos nombres de columna son necesarios ya que debemos copiar todos los registros de la tabla anterior a la nueva.
CREATE TABLE {NewTableTemporaryName}
(n_name TEXT, COLNew {type} DEFAULT {defaultValue}, quantity INTEGER, n_rate REAL);
Copie los datos de la tabla anterior
En el segundo paso, necesitamos copiar los registros de la tabla anterior a la tabla recién creada con las mismas columnas. El comando INSERT INTO
nos ayuda a insertar todos los datos que proporciona la cláusula SELECT
.
INSERT INTO {NewTableTemporaryName}
(n_name, n_quantity, n_rate) SELECT n_name, n_quantity, n_rate FROM Old_Table;
Eliminar o soltar la tabla anterior
En el siguiente paso, una vez que copiamos todos los registros (filas) de la tabla anterior a la nueva, debemos eliminar o descartar la anterior. La razón es que ya no necesitamos los registros de la tabla anterior.
DROP TABLE Old_Table;
Cambiar el nombre de la nueva tabla con el nombre de la tabla anterior
El último paso es cambiar el nombre de la nueva tabla con el nombre de la tabla anterior. Este es un enfoque mucho mejor, ya que nos permite cambiar el nombre de todo según el requisito.
Después del último paso, tenemos una tabla con un nombre requerido, columnas actualizadas y todos los registros dentro de ella.
ALTER TABLE {NewTabletemporaryName} RENAME TO Old_Table;
Enfoques ALTER TABLE ADD COLUMN
en diferentes bases de datos
Ya hemos visto cómo utilizar el comando AÑADIR COLUMNA
para insertar columnas en las tablas existentes. Esta sección detalla cómo usar la sintaxis ALTER TABLE ADD COLUMN
en diferentes bases de datos.
Estas bases de datos incluyen PostgreSQL, MYSQL, Oracle, SQL Server, SQLite y BD2.
postgresql
ALTER TABLE name_of_the_table
ADD COLUMN column_definition;
mysql
ALTER TABLE name_of_the_table
ADD [COLUMN] column_definition;
Oráculo
ALTER TABLE name_of_the_table
ADD column_definition;
servidor SQL
ALTER TABLE name_of_the_table
ADD column_definition;
SQLite
ALTER TABLE name_of_the_table
ADD COLUMN column_definition;
DB2
ALTER TABLE name_of_the_table
ADD column_definition;
Hi, I'm Junaid. I am a freelance software developer and a content writer. For the last 3 years, I have been working and coding with Python. Additionally, I have a huge interest in developing native and hybrid mobile applications.
LinkedIn