Mysql
 sql >> база данни >  >> RDS >> Mysql

Изтриване на заявка за изтриване на редове в MySQL

Този урок е част от поредицата Научете основни SQL заявки с помощта на MySQL. В този урок ще обсъдим SQL заявки за изтриване на редове или данни на таблица в MySQL.

Изтриване на заявка

Командата DELETE може да се използва за изтриване или премахване на редове от таблица. Командата DELETE е необратима, следователно трябва да я използваме внимателно. В случай, че сте влезли отдалечено в базата данни, ще ви трябва и привилегията DELETE за таблицата, за да изтриете редовете от таблица.

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

Обяснение на заявката

Командата на MySQL DELETE може да се използва за изтриване на редове или данни от даденото име на таблица, където името на таблицата е задължително, а клаузата WHERE не е задължителна.

Трябва да посочим поне едно условие, използвайки клаузата WHERE за редовете, за да отговарят на изискванията за изтриване, в противен случай цялата таблица ще бъде изтрита. Всички редове на таблицата получават изтрит без условието.

Примери

Този раздел предоставя примери за изтриване на редове от таблицата с помощта на командата DELETE. Използвайте посочената по-долу заявка, за да създадете потребителска таблица с идентификатор, собствено име, фамилия и активни колони за съхраняване на потребителски данни.

# 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`));

Посочената по-долу заявка може да се използва за вмъкване на данни в потребителската таблица.

# 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 );

Гореспоменатата заявка ще вмъкне 5 реда в таблицата с идентификатор, собствено име, фамилия и активни колони, за да представят 5 различни потребители.

Сега ще изтрием данните, въведени от нас в потребителската таблица. Това може да се направи с помощта на командата DELETE, както е показано по-долу.

# 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

Гореспоменатите заявки изтриват редовете от потребителската таблица с помощта на клаузата WHERE. Редовете в таблицата ще бъдат изтрити, в случай че редът отговаря на дадените условия.

Сега отново изпълнете заявката INSERT, за да вмъкнете тестовите данни. Можем също да изтрием редове, използвайки множество условия, както е показано по-долу.

# 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

Ето как можем да изтрием данните, съхранявани в MySQL таблиците.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да предотвратя SQL инжектирането в PHP?

  2. MySQL CONVERT_TZ()

  3. Как да намеря всички таблици, които имат външни ключове, които препращат към определена table.column и имат стойности за тези външни ключове?

  4. MySQL, Проверете дали съществува колона в таблица с SQL

  5. Грешка при преименуването на колона в MySQL