Mikä on POISTA kysely?
MySQL DELETE -komentoa käytetään poistamaan tarpeettomat rivit tietokantataulukoista. Se poistaa koko rivin taulukosta ja palauttaa poistettujen rivien määrän. Poista-komento on kätevä, jos haluat poistaa väliaikaisia tai vanhentuneita tietoja tietokannastasi.
Poista kysely MySQL: ssä voi poistaa useamman kuin yhden rivin taulukosta yhdessä kyselyssä. Tämä osoittautuu hyödyksi, kun poistetaan suuri määrä rivejä tietokantataulukosta.
Kun MySQL-rivin Poista rivi on poistettu, sitä ei voi palauttaa. Siksi on erittäin suositeltavaa tehdä varmuuskopiot tietokannasta ennen tietojen poistamista tietokannasta. Tämän avulla voit palauttaa tietokannan ja tarkastella tietoja myöhemmin tarvittaessa.
Rivin poistaminen MySQL: stä
Jos haluat poistaa rivin MySQL: ssä, käytetään DELETE FROM -käskyä:
DELETE FROM `table_name` [WHERE condition];
TÄSSÄ
- DELETE FROM "taulukon_nimi" käskee MySQL-palvelimen poistamaan rivit taulukosta ...
- [WHERE condition] on valinnainen ja sitä käytetään suodattimen asettamiseen, joka rajoittaa rivien määrää, joihin MySQL DELETE -rivikysely vaikuttaa.
Jos WHERE-lauseketta ei käytetä MySQL DELETE -kyselyssä, kaikki tietyn taulukon rivit poistetaan.
Esimerkki MySQL-kyselystä
Ennen kuin ryhdymme tarkempaan keskusteluun DELETE-komennosta, lisätään joitain näytetietoja elokuvataulukkoon.
INSERT INTO `movies` (`title`, `director`, `year_released`, `category_id`) VALUES ('The Great Dictator', 'Chalie Chaplie', 1920, 7);INSERT INTO `movies` (`title`, `director`, `category_id`) VALUES ('sample movie', 'Anonymous', 8);INSERT INTO movies (`title`, `director`, `year_released`, `category_id`) VALUES ('movie 3', 'John Brown', 1920, 8);
Yllä olevan komentosarjan suorittaminen lisää kolme (3) elokuvaa elokuvataulukkoon. Ennen kuin menemme pidemmälle oppitunnillemme, noutakaamme kaikki elokuvat taulukossamme. Alla esitetty komentosarja tekee sen.
SELECT * FROM `movies`;
Yllä olevan komentosarjan suorittaminen antaa meille seuraavat tulokset.
movie_id | itle | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
18 | The Great Dictator | Chalie Chaplie | 1920 | 7 |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
Oletetaan, että Myflix-videokirjasto ei enää halua vuokrata "Suurta diktaattoria" jäsenilleen ja he haluavat sen poistettavan tietokannasta. Sen elokuvan tunnus on 18, voimme käyttää alla olevaa ohjelmaa poistamaan sen rivin elokuvataulukosta.
DELETE FROM `movies` WHERE `movie_id` = 18;
Yllä olevan komentosarjan suorittaminen MySQL WorkBenchissa Myflixiä vastaan poistaa elokuvan, jonka tunnus on 18, tietokantataulukosta.
Katsotaanpa elokuvataulukon nykyinen tila.
SELECT * FROM `movies`;
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
HUOMAUTUS:
- elokuvaa, jonka tunnus on 18, ei ole palautettu kyselyn tulosjoukossa.
- yhtä taulukon saraketta ei voi poistaa. Voit poistaa kokonaisen rivin.
Oletetaan, että meillä on luettelo elokuvista, jotka haluamme poistaa. Voimme käyttää WHERE-lauseketta IN: n kanssa.
DELETE FROM `movies` WHERE `movie_id` IN (20,21);
Yllä olevan komentosarjan suorittaminen poistaa elokuvat, joiden tunnus on 20 ja 21, elokuvataulukostamme.
Yhteenveto
- Poista-komentoa käytetään poistamaan tiedot, joita ei enää tarvita taulukosta.
- WHERE-lauseketta käytetään rajoittamaan rivien määrää, johon DELETE-kysely vaikuttaa.
- Kun tiedot on poistettu, niitä ei voi palauttaa, joten on erittäin suositeltavaa tehdä varmuuskopiot ennen tietojen poistamista.