Ten samouczek jest częścią serii Naucz się podstawowych zapytań SQL przy użyciu MySQL. W tym samouczku omówimy zapytania SQL w celu usunięcia wierszy lub danych z tabeli w MySQL.
Usuń zapytanie
Polecenie USUŃ może służyć do usuwania lub usuwania wierszy tabeli. Polecenie DELETE jest nieodwracalne, dlatego musimy używać go ostrożnie. Jeśli jesteś zdalnie zalogowany do bazy danych, będziesz potrzebować również uprawnienia DELETE dla tabeli, aby usunąć wiersze z tabeli.
# DELETE - Syntax
DELETE FROM `table_name` WHERE <single or multiple filter conditions>;
Objaśnienie zapytania
Polecenie MySQL USUŃ może służyć do usuwania wierszy lub danych o podanej nazwie tabeli, gdzie nazwa tabeli jest obowiązkowa, a klauzula WHERE jest opcjonalna.
Musimy określić co najmniej jeden warunek za pomocą klauzuli WHERE, aby wiersze kwalifikowały się do usunięcia, w przeciwnym razie cała tabela zostanie skasowana. Wszystkie wiersze tabeli
Przykłady
Ta sekcja zawiera przykłady usuwania wierszy tabeli za pomocą polecenia DELETE. Użyj poniższego zapytania, aby utworzyć tabelę użytkowników zawierającą identyfikator, imię, nazwisko i aktywne kolumny do przechowywania danych użytkownika.
# 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`));
Poniższe zapytanie może zostać użyte do wstawienia danych do tabeli użytkowników.
# 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 );
Wspomniane powyżej zapytanie wstawi do tabeli 5 wierszy z identyfikatorem, imieniem, nazwiskiem i aktywnymi kolumnami reprezentującymi 5 różnych użytkowników.
Teraz usuniemy dane wstawione przez nas w tabeli użytkowników. Można to zrobić za pomocą polecenia DELETE, jak pokazano poniżej.
# 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
Powyższe zapytania usuwają wiersze z tabeli użytkowników za pomocą klauzuli WHERE. Wiersze tabeli zostaną usunięte, jeśli wiersz spełnia podane warunki.
Teraz ponownie wykonaj zapytanie INSERT, aby wstawić dane testowe. Możemy również usuwać wiersze, korzystając z wielu warunków, jak pokazano poniżej.
# 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
W ten sposób możemy usunąć dane przechowywane w tabelach MySQL.