sql >> Base de Datos >  >> RDS >> SQLite

Eliminar SQLite

Resumen :este tutorial le muestra cómo usar SQLite DELETE instrucción para eliminar filas de una tabla.

Introducción a SQLite DELETE declaración

Ha aprendido cómo insertar una nueva fila en una tabla y actualizar los datos existentes de una tabla. A veces, necesita eliminar filas de una tabla. En este caso, usa SQLite DELETE declaración.

El DELETE de SQLite le permite eliminar una fila, varias filas y todas las filas de una tabla. La sintaxis de SQLite DELETE declaración es la siguiente:

DELETE FROM table
WHERE search_condition;Code language: SQL (Structured Query Language) (sql)

En esta sintaxis:

  • Primero, especifique el nombre de la tabla de la que desea eliminar filas después de DELETE FROM palabras clave.
  • Segundo, agregue una condición de búsqueda en WHERE cláusula para identificar las filas a eliminar. El WHERE cláusula es una parte opcional de DELETE declaración. Si omite el WHERE cláusula, el DELETE declaración eliminará todas las filas de la tabla.

SQLite también proporciona una extensión para DELETE declaración agregando ORDER BY y LIMIT cláusulas. Si compila SQLite con la opción de tiempo de compilación SQLITE_ENABLE_UPDATE_DELETE_LIMIT, puede usar ORDER BY y LIMIT cláusula en el DELETE declaración como la siguiente forma:

DELETE FROM table
WHERE search_condition
ORDER BY criteria
LIMIT row_count OFFSET offset;Code language: SQL (Structured Query Language) (sql)

El ORDER BY La cláusula ordena las filas filtradas por la anterior search_condition en el WHERE cláusula y el LIMIT cláusula especifica el número de filas que se eliminarán.

Tenga en cuenta que cuando usa el DELETE declaración sin WHERE cláusula en una tabla que no tiene disparadores. SQLite eliminará todas las filas de una sola vez en lugar de visitar y eliminar cada fila individual. Esta función se conoce como optimización truncada.

SQLite DELETE ejemplos de declaraciones

Usaremos el artists_backup tabla creada en el tutorial de cómo insertar filas en la tabla.

Si no siguió ese tutorial, puede crear el artists_backup tabla e inserte datos en ella usando el siguiente script:

-- create artists backup table
CREATE TABLE artists_backup(
   artistid INTEGER PRIMARY KEY AUTOINCREMENT,
   name NVARCHAR
);
-- populate data from the artists table
INSERT INTO artists_backup 
SELECT artistid,name
FROM artists;Code language: SQL (Structured Query Language) (sql)

La siguiente declaración devuelve todas las filas de artists_backup tabla:

SELECT
	artistid,
	name
FROM
	artists_backup;Code language: SQL (Structured Query Language) (sql)

Pruébalo

Tenemos 280 filas en artists_backup mesa.

Para eliminar a un artista con id 1, utilice la siguiente declaración:

DELETE FROM artists_backup
WHERE artistid = 1;Code language: SQL (Structured Query Language) (sql)

Pruébalo

Porque usamos artistid para identificar al artista, la declaración eliminó exactamente 1 fila.

Suponga que desea eliminar artistas cuyos nombres contienen la palabra Santana :

DELETE FROM artists_backup
WHERE name LIKE '%Santana%';Code language: SQL (Structured Query Language) (sql)

Pruébalo

Hay 9 filas cuyos valores en el name columna contiene la palabra Santana por lo tanto, estas 9 filas fueron eliminadas.

Para eliminar todas las filas en artists_backup tabla, solo necesita omitir WHERE cláusula como la siguiente declaración:

DELETE FROM artists_backup;Code language: SQL (Structured Query Language) (sql)

Pruébalo

En este tutorial, ha aprendido a usar SQLite DELETE instrucción para eliminar filas en una tabla.