sql >> Database teknologi >  >> RDS >> Mysql

Slet data fra en MySQL-database

I MySQL kan du slette data lige så nemt, som du kan forespørge på dem eller opdatere dem.

SQL DELETE Erklæring

Brug SQL DELETE erklæring for at slette data fra din database. Ligesom SELECT og UPDATE sætninger, DELETE sætningen accepterer en WHERE klausul, så du kan angive den/de nøjagtige post/er, der skal slettes.

Syntaks

DELETE
FROM table_name
WHERE column_name = value;

Eksempel

  1. Dataene

    Her er dataene, før vi sletter noget.

  2. Slet nogle data

    Lad os slette røde druer fra vores liste over frugt. Røde druer er blevet tildelt et FruitId af 5 så vi bruger det i vores DELETE erklæring.

    DELETE
                FROM Fruit
                WHERE FruitId = 5;
  3. Resultatet

    Hvis vi kører ovenstående kode, så vælg alle rækker fra tabellen, vi kan se, at posten er blevet slettet.

Slet alle poster

Du kan ganske nemt slette alle poster i en tabel. Faktisk er det nemmere at slette alle poster end at slette én specifik post.

  1. Koden

    For at slette alle poster i en tabel, skal du bare udelade WHERE klausul. Sådan:

    DELETE FROM Fruit;
  2. Resultatet

    Ups... Ikke flere poster!

Som du kan forestille dig, betaler det sig at være meget forsigtig, når du bruger DELETE udmelding. Det er her, tilstanden Sikker opdatering kan hjælpe (som vi dækkede ved opdatering af vores data).

Som det viser sig, var jeg kun i stand til at køre ovenstående erklæring efter at have deaktiveret tilstanden Safe Updates. Så før jeg kørte den erklæring, kørte jeg følgende kommando:

SET SQL_SAFE_UPDATES = 0;

Så nu er det nok et godt tidspunkt for mig at aktivere sikre opdateringer igen - før jeg gør mere skade...

SET SQL_SAFE_UPDATES = 1;

Gendan dataene

Nu hvor vi har slettet alle poster fra Fruit tabel, lad os se, om vi kan gendanne dem til deres oprindelige værdi. Heldigvis for os skrev vi tidligere et script til at indsætte data i vores tabeller.

  1. Koden

    Så lad os tage den bit ud, der fylder frugten tabel og kør det:

    INSERT INTO Fruit 
            VALUES 
            (1,'Apple',10,1,'2015-02-15 10:30:00','2015-02-15 10:30:00'),
            (2,'Orange',5,2,'2015-02-15 10:30:00','2015-02-15 10:30:00'),
            (3,'Banana',20,6,'2015-02-15 10:30:00','2015-02-15 10:30:00'),
            (4,'Watermelon',10,1,'2015-02-15 10:30:00','2015-02-15 10:30:00'),
            (5,'Grapes',15,6,'2015-02-15 10:30:00','2015-02-15 10:30:00'),
            (6,'Strawberry',12,7,'2015-02-15 10:30:00','2015-02-15 10:30:00');
  2. Resultatet

    Nu skulle vores tabel se ud, som den gjorde tidligere, da vi oprindeligt udfyldte dataene.


  1. Sådan ændres datatypen i Oracle med eksisterende rækker i tabellen

  2. Hvad er det maksimale antal kolonner i en PostgreSQL-valgsforespørgsel

  3. Sådan laver du joinforespørgsler ved hjælp af Sequelize på Node.js

  4. Værktøjer til at arbejde med lagrede procedurer i Oracle, i et team?