• About
  • Advertise
  • Privacy & Policy
  • Contact
NQ NEWS
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
NQ NEWS
No Result
View All Result
Home Kiến thức tổng hợp Lập trình

Lệnh DELETE trong SQL Server

@admiz by @admiz
27/12/2021
in Lập trình
0

Lệnh DELETE trong SQL Server (Transact-SQL) được dùng để xóa một hoặc nhiều bản ghi (hàng) từ một bảng trong SQL Server.

Bạn có thể xóa những bản ghi thỏa mãn điều kiện nhất định hoặc xóa toàn bộ bản ghi trong bảng một cách dễ dàng với DELETE. Bài viết này sẽ bao gồm cú pháp cơ bản của lệnh DELETE trong SQL Server và những ví dụ minh họa dễ hiểu để bạn nắm được cách sử dụng của lệnh SQL phổ biến này.

Ta sẽ sử dụng bảng có tên Quantrimang.com với dữ liệu như dưới đây để thực hiện các ví dụ trong bài viết.


+------------+----------+-------------+-------+
| IDChuyenmuc|  Muccon  |Chuyenmuclon | Sobai |
+------------+----------+-------------+-------+
|   1        |SQL Server|Lap trinh    | 101   |
|   2        |Facebook  |Mang xa hoi  | 152   |
|   3        |Python    |Lap trinh    | 101   |
|   4        |JavaScript|Lap trinh    | 122   |
|   5        |Chrome    |Web          |  94   |
|   6        |Instagram |Mang xa hoi  | 165   |
+------------+----------+-------------+-------+

1. Cú pháp lệnh DELETE trong SQL Server

Cú pháp đơn giản của lệnh DELETE như sau:

DELETE FROM bang
 [WHERE dieu_kien];

Cú pháp đầy đủ của lệnh DELETE như dưới đây:

DELETE [ TOP (giatri_dau) [PERCENT] ]
  FROM bang
  [WHERE dieu_kien];

Tên biến hoặc giá trị biến:

bang: Bảng cần xóa bản ghi.

WHERE dieu_kien: Tùy chọn. Điều kiện mà bản ghi phải đáp ứng để bị xóa.

TOP (giatri_dau): Tùy chọn. Nếu được nêu ra cụ thể sẽ chèn giá trị đầu của hàng dựa trên giatri_dau. Ví dụ TOP(10) sẽ chèn 10 hàng đầu tiên từ bộ kết quả.

PERCENT: Tùy chọn. Nếu được nêu ra cụ thể thì các hàng đầu tiên dựa trên số phần trăm giatri_dau của bộ kết quả. Ví dụ như TOP(10) PERCENT sẽ chèn 10% giá trị đầu trong bộ kết quả.

Lưu ý: 

* Hãy cẩn thận khi xóa các bản ghi trong bảng! Lưu ý mệnh đề WHERE trong câu lệnh DELETE. Mệnh đề WHERE chỉ định (các) bản ghi nào nên được xóa. Nếu bạn bỏ qua mệnh đề WHERE, tất cả các bản ghi trong bảng sẽ bị xóa!

* Không cần liệt kê các trường trong lệnh DELETE vì bạn sẽ xóa toàn bộ hàng trong bảng.

2. Ví dụ xóa hàng thỏa mãn 1 điều kiện

DELETE  FROM [Quantrimang.com]
  WHERE Muccon='Instagram';

Lệnh này sẽ xóa tất cả bản ghi trong bảng Quantrimang.com có Muccon là Instagram.

Nếu muốn kiểm tra số hàng bị xóa, chạy lệnh SELECT trước khi thực hiện lệnh xóa.

SELECT count (*)
  FROM [Quantrimang.com]
  WHERE Muccon = 'Instagram';

Sau khi chạy lệnh xóa, bảng chỉ còn như sau:


+------------+----------+-------------+-------+
| IDChuyenmuc|  Muccon  |Chuyenmuclon | Sobai |
+------------+----------+-------------+-------+
|   1        |SQL Server|Lap trinh    | 101   |
|   2        |Facebook  |Mang xa hoi  | 152   |
|   3        |Python    |Lap trinh    | 101   |
|   4        |JavaScript|Lap trinh    | 122   |
|   5        |Chrome    |Web          |  94   |
+------------+----------+-------------+-------+

3. Ví dụ xóa hàng thỏa mãn 2 điều kiện

Giả sử ta sẽ xóa những hàng có Chuyenmuclon là Lap trinh, với Sobai lớn hơn 101. Để biết số hàng bị xóa, chạy lệnh SELECT dưới đây trước khi chạy lệnh DELETE. Kết quả sẽ trả về 1.

SELECT count (*)
  FROM [Quantrimang.com]
  WHERE Chuyenmuclon = 'Lap trinh'
  AND Sobai > 101;

Để xóa những bản ghi thỏa mãn điều kiện đã đưa ra bên trên, ta sẽ chạy lệnh sau:

DELETE FROM [Quantrimang.com]
  WHERE Chuyenmuclon = 'Lap trinh'
  AND Sobai > 101;

Lệnh trên đã xóa tất cả bản ghi trong bảng Quantrimang.com có Chuyenmuclon là Lap trinh và Sobai lớn hơn 101. Kết quả sau khi xóa ta sẽ còn bảng sau:


+------------+----------+-------------+-------+
| IDChuyenmuc|  Muccon  |Chuyenmuclon | Sobai |
+------------+----------+-------------+-------+
|   1        |SQL Server|Lap trinh    | 101   |
|   2        |Facebook  |Mang xa hoi  | 152   |
|   3        |Python    |Lap trinh    | 101   |
|   5        |Chrome    |Web          |  94   |
+------------+----------+-------------+-------+

4. Ví dụ xóa hàng dùng từ khóa TOP

Vì bảng đã bị xóa khá nhiều dòng rồi, mình sẽ thêm lại dữ liệu bằng lệnh INSERT để bảng trở về như bảng ban đầu rồi thực hiện tiếp lệnh xóa nhé.

Với từ khóa TOP(x), x là số bản ghi cần xóa, ta sẽ chỉ xóa x bản ghi đầu tiên trong số những bản ghi thỏa mãn điều kiện.

Giả sử, ta cần xóa 2 hàng đầu tiên trong số các hàng có Chuyenmuclon là Lap trinh, khi đó ta dùng lệnh sau:

DELETE TOP(2)
  FROM [Quantrimang.com]
  WHERE Chuyenmuclon = 'Lap trinh';

Bảng có tất cả 3 bản ghi có Chuyenmuclon là Laptrinh, nhưng lệnh trên chỉ xóa 2 bản ghi đầu tiên thỏa mãn điều kiện, hàng thứ 3 sẽ không bị ảnh hưởng bởi lệnh DELETE này. Đây là bảng kết quả sau khi chạy lệnh:


+------------+----------+-------------+-------+
| IDChuyenmuc|  Muccon  |Chuyenmuclon | Sobai |
+------------+----------+-------------+-------+
|   2        |Facebook  |Mang xa hoi  | 152   |
|   4        |JavaScript|Lap trinh    | 122   |
|   5        |Chrome    |Web          |  94   |
|   6        |Instagram |Mang xa hoi  | 165   |
+------------+----------+-------------+-------+

5. Ví dụ xóa hàng dùng mệnh đề EXISTS

Giả sử ta có thêm một bảng Muc nữa như sau:


+----+-----------+-----------+
| ID |  Tenmuc   | Trangthai |
+----+-----------+-----------+
| 1  |Lap trinh  |  Hien     |
| 2  |Mang xa hoi|  An       |
| 3  |Web        |  An       |
+----+-----------+-----------+

Bạn có thể thực hiện lệnh xóa phức tạp hơn, như xóa bản ghi trong 1 bảng dựa trên giá trị trong 1 bảng khác chẳng hạn. Vì không thể đưa ra nhiều hơn 1 bảng trong mệnh đề FROM trong lệnh DELETE nên có thể dùng mệnh đề EXISTS như dưới đây.

DELETE FROM [Quantrimang.com]
WHERE EXISTS
  (SELECT *
  FROM Muc
  WHERE Muc.ID = [Quantrimang.com].IDChuyenmuc
  AND Muc.ID < 3);

Lưu ý: Lệnh chạy trên bảng kết quả sau khi thực hiện lệnh xóa ở mục 4, không phải bảng ban đầu.


+------------+----------+-------------+-------+
| IDChuyenmuc|  Muccon  |Chuyenmuclon | Sobai |
+------------+----------+-------------+-------+
|   4        |JavaScript|Lap trinh    | 122   |
|   5        |Chrome    |Web          |  94   |
|   6        |Instagram |Mang xa hoi  | 165   |
+------------+----------+-------------+-------+

Lệnh DELETE này sẽ xóa tất cả bản ghi trong bảng Quantrimang.com khi có bản ghi trong bảng Muc mà ID nhỏ hơn 3 và ID khớp với IDChuyenmuc.

Nếu muốn xác định số dòng bị xóa, chạy lệnh SELECT trước khi xóa.

SELECT count (*)
FROM [Quantrimang.com]
WHERE EXISTS
  (SELECT *
  FROM Muc
  WHERE Muc.ID = [Quantrimang.com].IDChuyenmuc
  AND Muc.ID < 3);

Bài trước: Lệnh UPDATE trong SQL Server

Bài sau: Lệnh TRUNCATE TABLE trong SQL Server

  • Hàm SYSTEM_USER trong SQL Server
  • Hàm SESSION_USER trong SQL Server
  • Hàm ISDATE trong SQL Server
  • Hàm TRY_CONVERT trong SQL Server
Post Views: 294
Tags: delete sql serverhọc SQL Serverlệnh DELETE trong SQL ServerMS SQL ServermssqlSQL Serverxóa bản ghixóa nhiều bản ghi trong SQL Server
Previous Post

Pseudo-Class trong CSS

Next Post

Video game đua xe máy cực đẹp và chân thực khiến cộng đồng mạng ‘dậy sóng’

Related Posts

Dien Tich Tam Giac 640 1
Lập trình

Công thức tính diện tích tam giác: vuông, thường, cân, đều

26/12/2021
Huong Dan Cai Dat Node Js 640 1
Lập trình

Hướng dẫn cài đặt Node.js

26/12/2021
Cau Truc Du Lieu Hang Doi Queue 640 1
Lập trình

Cấu trúc dữ liệu hàng đợi (Queue)

26/12/2021
Hoc Css 640 8
Lập trình

Thanh điều hướng – Navigation Bar trong CSS

26/12/2021
Ms Sql Server Management Studio 640 3
Lập trình

Quản lý MS SQL Server bằng Management Studio

26/12/2021
Java Development Kit 1
Lập trình

Tải Java Development Kit 8-update-281

26/12/2021
Next Post

Video game đua xe máy cực đẹp và chân thực khiến cộng đồng mạng ‘dậy sóng’

Bài mới nhất

Dịch Vụ Thiết Kế Website Tại Hải Dương Chuyên Nghiệp, ấn Tượng Và Uy Tín 612d25752b14f.png

Dịch vụ thiết kế website tại Hải Dương chuyên nghiệp, ấn tượng và uy tín

06/05/2025
Top Công Ty Thiết Kế Website Tại Biên Hòa Chuyên Nghiệp, Chuẩn Seo 612d259494e93.jpeg

Top công ty thiết kế website tại Biên Hòa chuyên nghiệp, chuẩn SEO

06/05/2025
Top Công Ty Thiết Kế Website Tại Vinh – Nghệ An Uy Tín 612d259a9cae3.jpeg

Top công ty thiết kế website tại Vinh – Nghệ An uy tín

05/05/2025
Top 10 Công Ty Thiết Kế Website Tại Nha Trang Chuyên Nghiệp 612d0a9ad018b.jpeg

Top 10 công ty thiết kế website tại Nha Trang chuyên nghiệp

05/05/2025
Các Dịch Vụ Thiết Kế Website Tại Vĩnh Phúc Chuyên Nghiệp, Uy Tín Nhất 612d0a91e63af.jpeg

Các dịch vụ thiết kế website tại Vĩnh Phúc chuyên nghiệp, uy tín nhất

04/05/2025

Danh mục

  • Android
  • Bảo mật máy tính
  • Bảo mật, Antivirus
  • Chuyện công nghệ
  • Deep Learning
  • Development
  • Dịch vụ công trực tuyến
  • Dịch vụ nhà mạng
  • Giải pháp bảo mật
  • Hệ thống
  • Hệ thống
  • iPhone
  • Kiến thức bảo mật
  • Kiến thức cơ bản phổ thông
  • Kiến thức Marketing căn bản
  • Kiến thức tổng hợp
  • Lập trình
  • Linux
  • Linux OS
  • macOS
  • Mail Server
  • Mạng LAN – WAN
  • Máy ảo
  • Máy chủ
  • ms excel
  • ms-powerpoint
  • Nền tảng điện toán đám mây
  • Phần cứng
  • Phần Mềm
  • Quản trị hệ thống
  • Raspberry Pi
  • Sửa lỗi máy tính
  • Tăng tốc máy tính
  • Thủ thuật
  • Thủ thuật SEO
  • Thủ thuật Wifi
  • Tiện ích hệ thống
  • Tin học văn phòng
  • Tin tức
  • Uncategorized
  • Ứng dụng
  • Website
  • Windows Server 2012

Thẻ

#app #chatbot #chatbot tự động #CRM #Kiến thức cơ bản #Techblog #Thiết kế website Android apple CPU Email Marketing Google Google Drive hacker HTML hàm python hàm python có sẵn hình nền hình nền máy tính học css học python học SQL ios iphone iphone 12 iPhone X macos Microsoft mssql MS SQL Server ngôn ngữ lập trình python Raspberry Pi Samsung smartphone SQL SQL Server tham số trong C thủ thuật windows 10 tài liệu python windows windows 10 YouTube điện thoại thông minh ứng dụng
  • About
  • Advertise
  • Privacy & Policy
  • Contact

© 2022 Pha Le Solution

No Result
View All Result
  • Home

© 2022 Pha Le Solution