Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Xóa truy vấn để xóa hàng trong MySQL

Hướng dẫn này là một phần của loạt bài Tìm hiểu Truy vấn SQL Cơ bản Sử dụng MySQL. Trong hướng dẫn này, chúng ta sẽ thảo luận về các truy vấn SQL để xóa các hàng hoặc dữ liệu của một bảng trong MySQL.

Xóa truy vấn

Lệnh DELETE có thể được sử dụng để xóa hoặc loại bỏ các hàng của bảng. Lệnh DELETE không thể thay đổi được, do đó chúng ta phải sử dụng nó một cách cẩn thận. Trong trường hợp bạn đăng nhập từ xa vào cơ sở dữ liệu, bạn cũng sẽ cần đặc quyền XÓA cho bảng để xóa các hàng khỏi bảng.

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

Giải thích truy vấn

Lệnh MySQL DELETE có thể được sử dụng để xóa các hàng hoặc dữ liệu của tên bảng đã cho trong đó tên của bảng là bắt buộc và mệnh đề WHERE là tùy chọn.

Chúng ta phải chỉ định ít nhất một điều kiện bằng mệnh đề WHERE cho các hàng đủ điều kiện để xóa, nếu không toàn bộ bảng sẽ bị xóa. Tất cả các hàng của bảng được đã xóa mà không có điều kiện.

Ví dụ

Phần này cung cấp các ví dụ để xóa các hàng của bảng bằng lệnh DELETE. Sử dụng truy vấn được đề cập bên dưới để tạo bảng người dùng có id, tên, họ và các cột hoạt động để lưu trữ dữ liệu người dùng.

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

Truy vấn được đề cập bên dưới có thể được sử dụng để chèn dữ liệu vào bảng người dùng.

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

Truy vấn đề cập ở trên sẽ chèn 5 hàng trong bảng có id, tên, họ và các cột hiện hoạt để đại diện cho 5 người dùng khác nhau.

Bây giờ chúng tôi sẽ xóa dữ liệu do chúng tôi chèn trong bảng người dùng. Nó có thể được thực hiện bằng cách sử dụng lệnh DELETE như hình dưới đây.

# 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

Các truy vấn được đề cập ở trên xóa các hàng khỏi bảng người dùng bằng mệnh đề WHERE. Các hàng trong bảng sẽ bị xóa trong trường hợp hàng đáp ứng các điều kiện đã cho.

Bây giờ một lần nữa thực hiện truy vấn INSERT để chèn dữ liệu thử nghiệm. Chúng tôi cũng có thể xóa các hàng bằng cách sử dụng nhiều điều kiện như được hiển thị bên dưới.

# 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

Đây là cách chúng tôi có thể xóa dữ liệu được lưu trữ trong các bảng 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. Cơ sở dữ liệu sao chép MySQL

  2. MySQL "NOT IN" truy vấn 3 bảng

  3. MySQL ATAN2 () Hàm - Trả về Arc Tangent của 2 giá trị

  4. MySQL - buộc không sử dụng bộ đệm để kiểm tra tốc độ truy vấn

  5. MySQL chuyển đổi đầu ra timediff sang định dạng ngày, giờ, phút, giây