SQLite
 sql >> база данни >  >> RDS >> SQLite

Изтриване на SQLite

Резюме :този урок ви показва как да използвате SQLite DELETE оператор за премахване на редове от таблица.

Въведение в SQLite DELETE изявление

Научихте как да вмъкнете нов ред в таблица и да актуализирате съществуващите данни от таблица. Понякога трябва да премахнете редове от таблица. В този случай използвате SQLite DELETE изявление.

SQLite DELETE оператор ви позволява да изтриете един ред, няколко реда и всички редове в таблица. Синтаксисът на SQLite DELETE изявлението е както следва:

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

В този синтаксис:

  • Първо посочете името на таблицата, от която искате да премахнете редове след DELETE FROM ключови думи.
  • Второ, добавете условие за търсене в WHERE клауза за идентифициране на редовете за премахване. WHERE Клаузата е незадължителна част от DELETE изявление. Ако пропуснете WHERE клауза, DELETE оператор ще изтрие всички редове в таблицата.

SQLite също така предоставя разширение за DELETE изявление чрез добавяне на ORDER BY и LIMIT клаузи. Ако компилирате SQLite с опцията за време на компилиране SQLITE_ENABLE_UPDATE_DELETE_LIMIT, можете да използвате ORDER BY и LIMIT клауза в DELETE изявление като следния формуляр:

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

ORDER BY клаузата сортира редовете, филтрирани от предходното search_condition в WHERE клауза и LIMIT клаузата определя броя на редовете, които да бъдат изтрити.

Забележете, че когато използвате DELETE изявление без WHERE клауза в таблица, която няма тригери. SQLite ще изтрие всички редове наведнъж, вместо да посещава и изтрива всеки отделен ред. Тази функция е известна като оптимизация за съкращаване.

SQLite DELETE примери за изрази

Ще използваме artists_backup таблица, създадена в урока как да вмъкнете редове в таблицата.

Ако не сте следвали този урок, можете да създадете artists_backup таблица и вмъкнете данни в нея, като използвате следния скрипт:

-- 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)

Следното изявление връща всички редове от artists_backup таблица:

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

Опитайте го

Имаме 280 реда в artists_backup таблица.

За да премахнете изпълнител с идентификатор 1, използвате следното изявление:

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

Опитайте го

Защото използваме artistid за да идентифицира изпълнителя, изявлението премахна точно 1 ред.

Да предположим, че искате да изтриете изпълнители, чиито имена съдържат думата Santana :

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

Опитайте го

Има 9 реда, чиито стойности са в name колона съдържа думата Santana следователно тези 9 реда бяха изтрити.

За да премахнете всички редове в artists_backup таблица, просто трябва да пропуснете WHERE клауза като следното изявление:

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

Опитайте го

В този урок научихте как да използвате SQLite DELETE оператор за премахване на редове в таблица.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не може да се предотврати изтичането на обект на SQLiteConnection

  2. Как да зададете произволно текст на бутони от SQLite без повторение?

  3. Как да създадете изчислена колона в SQLite

  4. SQLite JSON_QUOTE()

  5. Препоръчителен начин / поръчка за четене на данни от уеб услуга, анализирайте тези данни и ги вмъкнете в SQLite db