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

Slet forespørgsel For at slette rækker i MySQL

Denne vejledning er en del af serien Lær grundlæggende SQL-forespørgsler ved hjælp af MySQL. I denne øvelse vil vi diskutere SQL-forespørgsler for at slette rækkerne eller dataene i en tabel i MySQL.

Slet forespørgsel

Kommandoen DELETE kan bruges til at slette eller fjerne rækker i en tabel. DELETE-kommandoen er irreversibel, derfor skal vi bruge den forsigtigt. Hvis du er eksternt logget på databasen, skal du også bruge DELETE-privilegiet for tabellen for at slette rækkerne fra en tabel.

# DELETE - Syntax
DELETE FROM `table_name` WHERE <single or multiple filter conditions>;

Forespørgselsforklaring

MySQL-kommandoen DELETE kan bruges til at slette rækker eller data for det givne tabelnavn, hvor navnet på tabellen er obligatorisk, og WHERE-sætningen er valgfri.

Vi skal specificere mindst én betingelse ved at bruge WHERE-sætningen for at rækkerne kvalificerer sig til sletning, ellers vil hele tabellen blive slettet. Alle rækker i tabellen får slettet uden betingelsen.

Eksempler

Dette afsnit giver eksempler på at slette rækker i tabellen ved hjælp af kommandoen DELETE. Brug nedenstående forespørgsel til at oprette brugertabellen med id, fornavn, efternavn og aktive kolonner til at gemme brugerdata.

# Create the User Table
CREATE TABLE `enterprise`.`user` (
`user_id` BIGINT NOT NULL,
`first_name` VARCHAR(45) ,
`last_name` VARCHAR(45),
`active` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`user_id`));

Nedenstående forespørgsel kan bruges til at indsætte data i brugertabellen.

# Insert Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`, `active` ) VALUES
( 1, 'John', 'Smith', 1 ),
( 2, 'Rick', 'Jones', 1 ),
( 3, 'Catherine', 'Ponting', 0 ),
( 4, 'Harsh', 'Upadhyay', 1 ),
( 5, 'Tajwinder', 'Singh', 0 );

Ovennævnte forespørgsel vil indsætte 5 rækker i tabellen med id, fornavn, efternavn og aktive kolonner til at repræsentere 5 forskellige brugere.

Nu vil vi slette de data, vi har indsat i brugertabellen. Det kan gøres ved at bruge kommandoen DELETE som vist nedenfor.

# DELETE - Delete all the inactive users
DELETE FROM `user` WHERE `active` = 0;

# Result
1 John Smith 1
2 Rick Jones 1
4 Harsh Upadhyay 1


# DELETE - Remove selective users
DELETE FROM `user` WHERE `user_id` = 1;
DELETE FROM `user` WHERE `user_id` IN( 2, 4 );

# Result - All rows deleted

Ovennævnte forespørgsler sletter rækkerne fra brugertabellen ved hjælp af WHERE-sætningen. Tabelrækkerne vil blive slettet, hvis rækken opfylder de givne betingelser.

Udfør nu igen INSERT-forespørgslen for at indsætte testdataene. Vi kan også slette rækker ved at bruge flere betingelser som vist nedenfor.

# DELETE - Delete inactive users using first name
DELETE FROM `user` WHERE `first_name` = 'Catherine' AND `active` = 0;

# Result
1 John Smith 1
2 Rick Jones 1
4 Harsh Upadhyay 1
5 Tajwinder Singh 0

Sådan kan vi slette de data, der er gemt i MySQL-tabellerne.


  1. ResultSet#getDate() semantik

  2. Sådan genereres scripts for at føje standardbegrænsninger til kolonne i flere tabeller i SQL Server-database - SQL Server / TSQL vejledning del 94

  3. 4 tips til opsætning af dine SQL Server-advarsler

  4. Hvordan konfigureres Ruby on Rails med Oracle?