logo

MySQL DELETE -lausunto

MySQL DELETE -käskyä käytetään poistamaan MySQL-taulukosta tietueita, joita ei enää tarvita tietokannassa. Tämä MySQL-kysely poistaa koko rivin taulukosta ja tuottaa poistettujen rivien määrän . Sen avulla voimme myös poistaa useamman kuin yhden tietueen taulukosta yhden kyselyn aikana, mikä on hyödyllistä, kun taulukosta poistetaan suuri määrä tietueita. Poista-lauseketta käyttämällä voimme myös poistaa tietoja ehtojen perusteella.

Kun olemme poistaneet tietueet tällä kyselyllä, emme voi palauttaa sitä . Siksi ennen tietueiden poistamista taulukosta on suositeltavaa luo varmuuskopio tietokannastasi . Tietokannan varmuuskopioiden avulla voimme palauttaa tiedot aina, kun tarvitsemme niitä tulevaisuudessa.

tiikeri verrattuna leijonaan

Syntaksi:

Seuraavassa on syntaksi, joka havainnollistaa DELETE-käskyn käyttöä:

 DELETE FROM table_name WHERE condition; 

Yllä olevassa lauseessa meidän on ensin määritettävä taulukon nimi, josta haluamme poistaa tiedot. Toiseksi meidän on määritettävä tietueiden poistamisen ehto WHERE-lauseessa, joka on valinnainen. Jos jätämme WHERE-lauseen pois käskystä, tämä kysely poistaa kokonaisia ​​tietueita tietokantataulukosta.

Jos haluamme poistaa tietueita useista taulukoista yhdellä DELETE-kyselyllä, meidän on lisättävä LIITTYÄ SEURAAN lauseke DELETE-käskyn kanssa.

Jos haluamme poistaa kaikki tietueet taulukosta tietämättä poistettujen rivien määrää, meidän on käytettävä TYPISTÄ TAULU lausunto, joka antaa paremman suorituskyvyn.

Ymmärrämme kuinka DELETE-käsky toimii MySQL erilaisten esimerkkien kautta.

Esimerkkejä MySQL DELETE -lausekkeesta

Tässä aiomme käyttää 'Työntekijät' ja 'Maksu' taulukoita DELETE-käskyn esittelyyn. Oletetaan, että Työntekijät- ja Palkkataulukot sisältävät seuraavat tiedot:

mysql-poistokysely
mysql-poistokysely

Jos haluamme poistaa työntekijän, jonka emp_id on 107 , meidän tulee käyttää DELETE-käskyä WHERE-lauseen kanssa. Katso alla oleva kysely:

 mysql> DELETE FROM Employees WHERE emp_id=107; 

Kyselyn suorittamisen jälkeen se palauttaa tulosteen alla olevan kuvan mukaisesti. Kun tietue on poistettu, tarkista taulukko SELECT-käskyllä:

npm puhdista välimuisti
mysql-poistokysely

Jos haluamme poistaa kaikki tietueet taulukosta, WHERE-lausetta ei tarvitse käyttää DELETE-käskyn kanssa. Katso alla oleva koodi ja tulos:

mysql-poistokysely

Yllä olevassa tulosteessa voimme nähdä, että kun kaikki rivit on poistettu, Työntekijät-taulukko on tyhjä. Se tarkoittaa, että valitussa taulukossa ei ole tietueita.

MySQL DELETE- ja LIMIT-lauseke

MySQL Limit -lauseketta käytetään rajoittamaan rivien määrää tulosjoukosta sen sijaan, että noudettaisiin taulukon kaikki tietueet. Joskus haluamme rajoittaa taulukosta poistettavien rivien määrää; siinä tapauksessa käytämme RAJA lauseke seuraavasti:

 DELETE FROM table_name WHERE condition ORDER BY colm1, colm2, ... LIMIT row_count; 

On huomattava, että MySQL-taulukon rivien järjestys on määrittelemätön. Siksi meidän tulee aina käyttää TILAA lauseke, kun käytät LIMIT-lausetta.

Esimerkiksi , seuraava kysely lajittelee ensin työntekijät nimien mukaan aakkosjärjestykseen ja poistaa kolme ensimmäistä työntekijää taulukosta:

 mysql> DELETE FROM Employees ORDER BY name LIMIT 3; 

Se antaa alla olevan tulosteen:

mysql-poistokysely

MySQL DELETE- ja JOIN-lauseke

JOIN-lausetta käytetään kahden tai useamman taulukon lisäämiseen MySQL:ssä. Lisäämme JOIN-lauseen DELETE-käskyn kanssa aina, kun haluamme poistaa tietueita useista taulukoista yhden kyselyn sisällä. Katso alla oleva kysely:

 mysql> DELETE Employees, Payment FROM Employees INNER JOIN Payment ON Employees.emp_id = Payment.emp_id WHERE Employees.emp_id = 102; 

Lähtö:

Suorituksen jälkeen näemme tuloksen alla olevan kuvan mukaisesti:

mysql-poistokysely

Jos haluat lukea lisätietoja DELETE-lauseesta JOIN-lausekkeen kanssa, Klikkaa tästä .