Nu mă îngrijorez cât de mult îmi place să lucrez cu SQL atât în ​​proiectele mele profesionale, cât și personale.

Simplitatea și simplitatea ei fac apel la dorința mea de a avea limite bine definite în ceea ce privește ceea ce va face și nu mă va lăsa „să scap” de sintaxă.

SQL este structurat cu un mod de operare clar și concis în care intrarea utilizatorului dictează datele returnate. De aici și comentariul meu despre a avea limite bine definite asupra sintaxei.

În timp ce îi sărbătoresc rezistența (SQL a fost creat în 1974 cu o lansare inițială din 1986) în cadrul comunității de dezvoltare, știu, de asemenea, că atunci când lucrezi cu date se poate simți ca și fundamentele sunt stresante și înfricoșătoare.

Sunt aici pentru (să sperăm) să arunc o lumină asupra unuia dintre acele elemente fundamentale ale lucrului cu date: ștergerea unui întreg rând de date.

Deși nu vom trece peste procesul de stabilire a unui tabel în SQL sau de completare a tabelului cu date / actualizarea acelor date, am legat celelalte articole în cazul în care doriți să aflați mai multe sau să aveți nevoie doar de o reîmprospătare.

Bine, acum partea distractivă – să începem să ștergem date dintr-un tabel!

Prezentare generală a ștergerii rândului SQL

Iată tabelul, numit în mod potrivit Cute_Doggos, pe care îl vom folosi ca exemplu pentru a începe eliminarea datelor din:

NumeCuloareRasăVârstăGreutateÎnălţimeFav_FoodFav_ToyNu-mi placeAlergii
margaretăroșuteckel standard1 an146croșetat cu aromă de somonminge stricatăpăsări care zboară peste curtepisici, băi, curățenie
Winstonnegru / bronzrottweiler3 ani4117literalmente oriceremorcher de frânghierămânând pe canapeaascultând, comportându-se, nu bâlbâind pe tot
sammiemiere ușoarăLabrador9 ani4619croșetat cu aromă de vităpatul eicățeluși răpitănu stie nimeni
penelopegri și albhusky9 luni1612pantofi vechiin afaracanisanu stie nimeni

După cum probabil ați ghicit, acestea sunt date fictive dintr-un tabel pe care l-am inventat din aer 🙂 Cu toate acestea, sper că ilustrează datele suficient de bine pentru scopurile noastre.

La fel ca în majoritatea aspectelor de natură tehnică, nu strică niciodată verificarea documentației oficiale. Dacă doriți să faceți acest lucru, Microsoft are o mare detaliere informații despre instrucțiunea SQL Delete.

În centrul acestui articol – ștergerea datelor. Acțiunea este la fel de simplă ca și numele în sine și iată sintaxa de bază:

DELETE FROM name_of_table

*** Cu această sintaxă veți șterge toate rândurile de date din întregul tabel. ***

Deci, pentru exemplul nostru de tabel de mai sus, interogarea ar arăta după cum urmează:

DELETE FROM Cute_Doggos

Acesta poate fi scopul intenționat și cu cât scrieți mai mult timp SQL, cu atât veți găsi mai multe cazuri pentru a utiliza declarația de ștergere în această calitate.

Am folosit această afirmație de multe ori pentru a șterge un tabel după ce a fost umplut cu date de testare. Această abordare ne permite să menținem numele coloanelor, tipurile de date, indexurile și structura generală a tabelului în tact, fără a șterge tabelul real.

Ca o notă laterală, dacă scopul dorit este să ștergeți toate rândurile dintr-un tabel, abordarea mai rapidă ar fi să utilizați TABLE TRUNCATE pentru că folosește mult mai puține resurse de sistem.

Exemplu Ștergeți interogări

Marea majoritate a timpului când utilizați funcționalitatea de ștergere, veți dori să fiți puțin mai direcționați cu abordarea dvs. Pentru aceasta, vom adăuga o condiție și sintaxa va arăta astfel:

DELETE FROM name_of_table WHERE conditions_exist

Folosind tabelul de deasupra câinilor, interogarea noastră ar arăta astfel:

DELETE FROM Cute_Doggos WHERE dbo.Cute_Doggos.Height > 18

Acest lucru ar elimina toate intrările din tabelul nostru care corespund stării noastre de Înălțimea fiind mai mare de 18. Și dacă utilizați Microsoft SQL Server Manager, veți primi o declarație de returnare astfel:

(1 row affected)

Dacă doriți să vedeți rândurile de date care au fost șterse (în scopuri de înregistrare, indicații vizuale pentru utilizatori și așa mai departe), putem folosi OUTPUT declarație de a face exact asta.

Masa noastră ar arăta astfel:

NumeCuloareRasăVârstăGreutateÎnălţimeFav_FoodFav_ToyNu-mi placeAlergii
margaretăroșuteckel standard1 an146croșetat cu aromă de somonminge stricatăpăsări care zboară peste curtepisici, băi, curățenie
Winstonnegru / bronzrottweiler3 ani4117literalmente oriceremorcher de frânghierămânând pe canapeaascultând, comportându-se, nu bâlbâind pe tot
penelopegri și albhusky9 luni1612pantofi vechiin afaracanisanu stie nimeni

Condiția pe care o stabilim este în întregime alegerea noastră și, dacă este prea îngustă pentru nevoile dvs., există și alte opțiuni.

Să presupunem că nu vă pasă de înregistrările specifice pe care le eliminați, doar că trebuie să eliminați un anumit număr de înregistrări din tabel.

DELETE TOP 2 FROM Cute_Doggos

S-ar putea să vă gândiți că această interogare va elimina primele două înregistrări din tabelul dvs. – și nu sunteți prea departe. Singura problemă este că SQL stochează înregistrările într-o ordine aleatorie, această sintaxă va elimina 2 ALEATORIU înregistrări din tabel.

Dacă doriți să eliminați un procent din înregistrări, SQL poate face și asta:

DELETE TOP 25 PERCENT FROM Cute_Doggos

Din nou, această interogare va fi ștearsă ALEATORIU înregistrări. În exemplul nostru, deoarece avem 4 înregistrări, această interogare ar șterge 1 înregistrare aleatorie (4 * 0,25 = 1).

Ca ultimă notă laterală, când utilizați TOP cuvânt cheie, nu putem folosi un COMANDA DE clauză din cauza aleatoriei stocării înregistrărilor.

Înfășurându-se

Acum că ai văzut ȘTERGEREA declarație în acțiune, sunteți gata să ieșiți în sălbăticie și să eliminați toate datele din toate tabelele! Poate nu faceți acest lucru, deoarece va face un weekend lung de restabilire a copiilor de rezervă 🙂

În orice caz, acum sunteți gata să începeți să-l folosiți bine.

Dacă ați găsit acest articol util, verificați blog (În prezent îl reconstruiesc în Gatsby / WordPress, așa că rămâneți la curent cu un articol despre asta) unde postez frecvent articole despre dezvoltare web, viață și învățare.

În timp ce sunteți acolo, de ce nu vă înscrieți la newsletter-ul meu? Puteți face acest lucru în partea dreaptă sus a paginii principale a blogului. Îmi place să trimit din când în când articole interesante (ale mele și altele), resurse și instrumente pentru dezvoltatori.

Dacă aveți întrebări despre acest articol sau, în general, anunțați-mă – veniți să salut Stare de nervozitate sau oricare dintre celelalte conturi de pe rețelele mele sociale pe care le puteți găsi sub buletinul informativ, înscrieți-vă pe pagina principală a blogului meu sau pe profilul meu aici la Routech 🙂

Sa ai o zi minunată! Învățare fericită și codificare fericită, prietene.