SQLite INSERTAR un nuevo registro o ACTUALIZAR uno si ya existe

Bilal Shahid 21 junio 2023
  1. Comando SQLite INSERTAR
  2. Comando SQLite ACTUALIZAR
  3. SQLite INSERTAR un nuevo registro o ACTUALIZAR uno si ya existe
SQLite INSERTAR un nuevo registro o ACTUALIZAR uno si ya existe

Este artículo explica cómo utilizar los comandos INSERTAR, ACTUALIZAR y INSERTAR O ACTUALIZAR. Esto también explica cómo INSERTAR un nuevo registro o ACTUALIZAR un registro si ya existe.

Comando SQLite INSERTAR

En SQLite, insertar datos en la tabla es bastante simple. Puede usar la instrucción INSERT para realizar la tarea.

En SQLite, varias formas de la instrucción INSERT le permiten insertar múltiples filas, filas individuales y valores predeterminados en la tabla. Puede insertar una fila de datos en la tabla utilizando la instrucción SELECT.

Para insertar una sola fila en una tabla de base de datos, puede usar la siguiente forma de la declaración INSERT:

INSERT  INTO  table (c1,c2, c3..) VALUES( val1, val2,val3..);

Antes de agregar, debe especificar el nombre de la tabla en la que desea insertar los datos después de la instrucción INSERT INTO.

Para las columnas de la tabla, debe agregar una lista separada por comas. La lista es opcional, pero escribirla es una buena práctica.

Agregue una lista separada de valores con comas después de la palabra clave VALOR en el mismo orden de columnas. Si elige omitir la lista de columnas, deberá especificar valores para todas las columnas en la lista de valores.

Tenga en cuenta que el número de columnas y valores en la lista debe ser el mismo.

Puede usar un formato similar para insertar varias filas en una tabla. Puede hacer esto de la siguiente manera con la instrucción INSERT:

INSERT  INTO table1 (c1,c2,c3..) VALUES (val1,val2,val3...), (val1,val2,val3...), ... (val1,val2,val3...), ;

Cada lista de valores escrita después de la cláusula VALUES se insertará en la tabla como una fila.

En el ejemplo anterior, agregue tres filas a la tabla. Una vez hecho esto, SQLite emite un mensaje "Row Affected: 3".

Esto significa que se han modificado los datos de tres filas. Puede usar la declaración seleccionar para ver el contenido de la tabla y asegurarse de que su inserción prevista esté en la base de datos.

También puede especificar e ingresar valores predeterminados en una tabla. Esto inserta una nueva fila en la tabla usando los valores predeterminados previamente especificados por usted.

Se asigna NULL si no hay ningún valor predeterminado disponible y no se especifica la restricción NOT NULL.

Comando SQLite ACTUALIZAR

Si necesita modificar datos en SQLite, use la consulta ACTUALIZAR. Para actualizar las filas seleccionadas, puede utilizar la consulta DÓNDE con la consulta ACTUALIZAR; de lo contrario, se actualizarán todas las filas de la tabla.

La sintaxis para actualizar datos en SQLite es la siguiente:

UPDATE table_name
SET c1 = val1, c2 = val2...., cName = valName
WHERE [your condition];

Puede combinar los operadores Y o O si necesita que se cumplan varias condiciones. No tiene que usar la cláusula WHERE para actualizar todas las filas de la tabla.

SQLite INSERTAR un nuevo registro o ACTUALIZAR uno si ya existe

El comando INSERTAR O ACTUALIZAR es esencialmente una extensión del comando INSERTAR. La principal diferencia es que si la fila que se está insertando no existe, INSERTAR O ACTUALIZAR realiza una operación de INSERTAR.

Sin embargo, si la fila insertada ya existe, INSERTAR O ACTUALIZAR realiza una operación de ACTUALIZAR. Esta operación actualiza la fila con valores de columna específicos.

Esta actualización se produce cuando los valores de datos especificados son idénticos a los datos existentes. INSERTAR O ACTUALIZAR utiliza la misma sintaxis, características y restricciones empleadas por la instrucción INSERTAR.

Si necesita agregar un registro con un valor único, el campo se modifica si el valor, por ejemplo, nombre, ya existe. Para hacer esto, puede usar el siguiente código:

insert or replace into Employee (ID, Name, Type, Age, Salary) values
((select ID from Employee where Name = "SearchName"), "SearchName", ...);

Cualquier campo que no exista en la lista insertar se le asignará NULL si la fila de la tabla ya existe. Por lo tanto, usamos la subselección para la columna ID aquí.

En el caso de reemplazo, esta declaración establecería el valor en NULL, y luego se asignaría una nueva ID.

Se puede usar un enfoque similar si desea dejar valores de campo específicos solos en la fila en el caso de reemplazo y establecer el valor de campo en NULL en el caso de inserción.

Supongamos que queremos dejar la columna Salario del ejemplo anterior. Esto se puede lograr de la siguiente manera:

insert or replace into Employee (ID, Name, Type, Age, Salary) values (
   (select ID from Employee where Name = "SearchName"),
   "SearchName",
    5,
    6,
    (select Salary from Book where Name = "SearchName"));

Otro enfoque para esto puede ser usar INSERTAR O IGNORAR seguido de ACTUALIZAR.

Por ejemplo: (Aquí, nombre es la clave principal).

INSERT OR IGNORE INTO Employee (name, age) VALUES ('Janet,' 23)
UPDATE Employee SET age = 23 WHERE name='Janet'

Aquí, el primer comando insertará el registro. Si el registro existe, ignorará el error causado por el conflicto con la clave principal existente.

El segundo comando aquí actualizará el registro, que en este caso, ahora existe.

SQLite emplea varios comandos que permiten a los usuarios insertar, modificar y extraer datos según sea necesario. Los comandos INSERTAR y ACTUALIZAR son cruciales para realizar el trabajo.

Hay varias alteraciones, así como enfoques involucrados en el uso de estos comandos. En este artículo, describimos la sintaxis y la funcionalidad de estos comandos para asegurarnos de que sepa cómo usarlos.

Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub

Artículo relacionado - SQLite Insert