sammanfattning: i den här handledningen lär du dig hur du använder SQL Server DELETE
– satsen för att ta bort en eller flera rader från en tabell.
introduktion till SQL Server DELETE-sats
om du vill ta bort en eller flera rader från en tabell helt använder duDELETE
– satsen. Följande visar dess syntax:
Code language: SQL (Structured Query Language) (sql)
först anger du namnet på tabellen från vilken raderna ska raderas iFROM
– klausulen.,
följande uttalande tar till exempel bort alla rader från target_table
:
Code language: SQL (Structured Query Language) (sql)
För det andra, för att ange antal eller procent av slumpmässiga rader som kommer att raderas, använder du klausulen TOP
.
till exempel tar följandeDELETE
uttalande bort 10 slumpmässiga rader från target_table
:
Code language: SQL (Structured Query Language) (sql)
eftersom tabellen lagrar sina rader i ospecificerad ordning vet vi inte vilka rader som ska raderas men vi vet säkert att antalet rader kommer att raderas är 10.,
på samma sätt kan du ta bort 10-procenten av slumpmässiga rader genom att använda följandeDELETE
– sats:
Code language: SQL (Structured Query Language) (sql)
För det tredje, praktiskt taget, tar du sällan bort alla rader från en tabell men bara en eller flera rader. I det här fallet måste du ange search_condition
I WHERE
– klausulen för att begränsa antalet rader som raderas.
de rader som orsakarsearch_condition
utvärderar till true kommer att raderas.
klausulen WHERE
är valfri., Om du hoppar över det tarDELETE
– satsen bort alla rader från tabellen.
SQL Server DELETE-satsexempel
låt oss skapa en ny tabell för demonstrationen.
följande uttalande skapar en tabell med namnet production.product_history
med data kopierade från tabellen production.products
:
Code language: SQL (Structured Query Language) (sql)
följande fråga returnerar alla rader från tabellen product_history
:
Code language: SQL (Structured Query Language) (sql)
som kan ses tydligt i utgången har vi 321 rader totalt.,
1) Ta bort antalet slumpmässiga rader exempel
följande DELETE
– sats tar bort 21 slumpmässiga rader från tabellen product_history
:
Code language: SQL (Structured Query Language) (sql)
här är meddelandet som utfärdats av SQL Server:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
det betyder att 21 rader har tagits bort.,
2) Ta bort procentandelen slumpmässiga rader exempel
följandeDELETE
uttalande tar bort 5 procent av slumpmässiga rader från tabellenproduct_history
:
Code language: SQL (Structured Query Language) (sql)
SQL Server utfärdat följande meddelande som anger att 15 rader (300 x 5% = 15) har tagits bort.,H3>3) Ta bort några rader med ett tillståndsexempel
följande DELETE
– uttalande tar bort alla produkter vars årsmodell är 2017:
Code language: SQL (Structured Query Language) (sql)
här är utmatningsmeddelandet:
Code language: SQL (Structured Query Language) (sql)
4) Ta bort alla rader från ett tabellexempel
följande
Code language: SQL (Structured Query Language) (sql)
<="6f3ce13105">
uttalande tar bort alla rader frånproduct_history
tabell:
Code language: SQL (Structured Query Language) (sql)
Observera att om du vill ta bort alla rader från ett stort bord, bör du använda TRUNCATE TABLE
uttalande som är snabbare och effektivare.,
i den här handledningen har du lärt dig hur du använder SQL Server DELETE
– satsen för att ta bort en eller flera rader från en tabell.