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 FROMpalabras clave. - Segundo, agregue una condición de búsqueda en
WHEREcláusula para identificar las filas a eliminar. ElWHEREcláusula es una parte opcional deDELETEdeclaración. Si omite elWHEREcláusula, elDELETEdeclaració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.