Phát biểu SQLd ạng DELETE

Một phần của tài liệu Giới thiệu về PHP (Ngôn ngữ lập trình) (Trang 110 - 111)

I- With Grant Option

5. PHẮT BIỂU SQL

5.9. Phát biểu SQLd ạng DELETE

Với p h á t biểu SQ L dạng D E LETE th ì đơn giản hơn. Khi thực hiện lện h xoá m ẩu tin trong bảng chúng ta chỉ cần quan tâm đến tê n bảng, và m ệnh đề W HERE để xoá với những m ẩu tin đã chọn lọc nếu có. Cú pháp của Delete:

Delete from <table name> Where <condition>

Với m ệnh đề W HERE giông như b ấ t kỳ m ệnh đề W HERE nào trong p h át biểu SE L E C T hay

UPDATEIN S E R T của b ấ t kỳ ứng dụng cơ sở dữ liệu nào có sử dụng SQL.

Conditions có th ể là phép toán giữa các cột và giá trị, nhưng cũng có th ể giá trị là k ế t quả trả về từ một p h á t biểu S E L E C T khác.

Ghi chú: Không có khái niệm xóa giá trị trong m ột cột, vì xóa giá trị một cột đồng nghĩa với cập n h ậ t cột đó bằng giá trị rỗng.

V í dụ 8-19: X óa m ẩ u tin v ớ i p h á t b iể u SQL d ạ n g DELETE

/* Xoá mẩu tin từ bảng với điều kiện * I

Delete from tblCustomers Where CustName is null

Trong trường hợp có ràn g buộc về quan hệ của dữ liệu, thì xóa m ẩu tin phải tu ân thủ theo quy tắc: Xoá mẩu tin con trước rồi mới xoá mẩu tin cha.

Chẳng hạn, trong trường hợp ta có 2 bảng: hợp đồng bán hàng (tblOrders) và hợp đồng bán hàng chi tiế t (tblOrderDetails).

Để xoá m ột hợp dồng bạn cần xóa mẩu tin trong bảng tblOrders trước rồi mới đến các m ẩu tin trong bảng tblOrderDetails.

V i dụ 8-20: Xoá m ẩ u tin vứ i D e le te

/* Xoá mẩu tin từ bảng con */ Delete from tblOrđerDetails where OrderID=123

/* Xoá mẩu tin từ bảng cha * I

Delete from tblOrders where OrderID=123

Bạn có th ể thực h iện m ột p h á t biểu SQL dạng D E LE TE với điều kiện trong m ệnh đề WHERE

lấy giá trị trả về từ p h á t biểu SE L E C T từ bảng khác, khai báo như vậy chỉ có hiệu lực trong cơ sỡ dữ liệu MySQL phiên bản 8.1 trở về sau hay trong cơ sở dữ liệu SQ L ServerOracle.

V í du 8-21: Xoá m ẩ u tin th e o a u v tắ c có r à n g b u ô c q uan h

/* Xoá mẩu tin từ bảng với điều kiện lấy giá trị từ bảng khác * /

Delete from tblOrderDetails where ItemlD in

(select ItemlD from tblltems

where ItemName like ' IT% ' )

6. PHẮT BĩỂU SQL DANG JOIN

Ngoài các p h á t biểu SQ L với 4 dạng trên, trong phần k ế tiếp, chúng tôi trìn h bày m ột số p h á t biểu SQ L dạng Select để k ế t nối dữ liệu giữa các bảng có quan hệ với nhau, những p h á t biểu sẽ trìn h bày trong chương 5 như:

> K hái niệm J O IN

> Phát biểu IN N E R J O IN

> Phát biểu L E F T J O IN > Phát biểu R IG H T JO IN

Một phần của tài liệu Giới thiệu về PHP (Ngôn ngữ lập trình) (Trang 110 - 111)