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. ElWHERE
cláusula es una parte opcional deDELETE
declaración. Si omite elWHERE
cláusula, elDELETE
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.