Podsumowanie: w tym samouczku dowiesz się, jak używać polecenia SQL Server DELETE
w celu usunięcia jednego lub więcej wierszy z tabeli.
Wprowadzenie do instrukcji SQL Server DELETE
aby całkowicie usunąć jeden lub więcej wierszy z tabeli, należy użyć instrukcjiDELETE
. Poniżej przedstawiono jej składnię:
Code language: SQL (Structured Query Language) (sql)
najpierw należy podać nazwę tabeli, z której wiersze mają zostać usunięte w klauzuli FROM
.,
na przykład następujące polecenie usunie wszystkie wiersze z target_table
:
Code language: SQL (Structured Query Language) (sql)
Po drugie, aby określić liczbę lub procent losowych wierszy, które zostaną usunięte, użyj klauzuli TOP
.
na przykład, polecenie DELETE
usuwa 10 losowych wierszy z target_table
:
Code language: SQL (Structured Query Language) (sql)
ponieważ tabela przechowuje swoje wiersze w nieokreślonej kolejności, nie wiemy, które wiersze zostaną usunięte, ale wiemy na pewno, że liczba wierszy będzie zostanie usunięty jest 10.,
podobnie, możesz usunąć 10 procent losowych wierszy, używając następującego DELETE
oświadczenie:
Code language: SQL (Structured Query Language) (sql)
Po Trzecie, praktycznie rzecz biorąc, rzadko usuniesz wszystkie wiersze z tabeli, ale tylko jeden lub kilka wierszy. W takim przypadku musisz określićsearch_condition
wWHERE
klauzula, aby ograniczyć liczbę wierszy, które są usuwane.
wiersze, które powodują, żesearch_condition
ocenia na true, zostaną usunięte.
klauzulaWHERE
jest opcjonalna., Jeśli go pominiesz, polecenie DELETE
usunie wszystkie wiersze z tabeli.
przykłady instrukcji SQL Server DELETE
utwórzmy nową tabelę do demonstracji.
poniższe polecenie tworzy tabelę o nazwie production.product_history
z danymi skopiowanymi z production.products
tabela:
Code language: SQL (Structured Query Language) (sql)
następujące zapytanie zwraca wszystkie wiersze z product_history
table:
Code language: SQL (Structured Query Language) (sql)
jak widać wyraźnie na wyjściu, mamy w sumie 321 wierszy.,
1) Usuń liczbę losowych wierszy przykład
następująca DELETE
Instrukcja usuwa 21 losowych wierszy z product_history
tabela:
Code language: SQL (Structured Query Language) (sql)
oto wiadomość wydana przez serwer SQL:
Code language: SQL (Structured Query Language) (sql)
oznacza to, że 21 wierszy zostało usuniętych.,
2) Usuń procent losowych wierszy przykład
następującaDELETE
Instrukcja usuwa 5 procent losowych wierszy zproduct_history
tabela:
Code language: SQL (Structured Query Language) (sql)
SQL Server wydał następujący komunikat wskazujący, że 15 wierszy (15 wierszy) 300 x 5% = 15) zostały usunięte.,h3>3) Usuń niektóre wiersze z przykładem warunku
następująca DELETE
Instrukcja usuwa wszystkie produkty, których rok modelowy to 2017:
Code language: SQL (Structured Query Language) (sql)
oto komunikat wyjściowy:
Code language: SQL (Structured Query Language) (sql)
4) Usuń wszystkie wiersze z tabeli przykład
poniższa DELETE
instrukcja usuwa wszystkie wiersze z tabeli product_history
tabela:
Code language: SQL (Structured Query Language) (sql)
zauważ, że jeśli chcesz usunąć wszystkie wiersze z dużej tabeli, powinieneś użyć TRUNCATE TABLE
oświadczenie, które jest szybsze i bardziej wydajne.,
w tym samouczku nauczyłeś się, jak używać polecenia SQL Server DELETE
, aby usunąć jeden lub więcej wierszy z tabeli.