Ngôn Ngữ Thao Tác Dữ Liệu DML Trong SQL: Hướng Dẫn Chi Tiết

Chuyên khảo phân tích Sql dml1, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp theo., phục vụ nghiên cứu và ứng dụng thực tiễn

Trường đại học

Posts and Telecommunications Institute of Technology

Người đăng

Ẩn danh
53
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng Quan Về Ngôn Ngữ Thao Tác Dữ Liệu DML Trong SQL

Ngôn ngữ thao tác dữ liệu DML trong SQL là một phần quan trọng trong việc quản lý cơ sở dữ liệu. DML cho phép người dùng thực hiện các thao tác như thêm, sửa, xóa và truy vấn dữ liệu. Việc hiểu rõ về DML giúp tối ưu hóa quy trình làm việc với cơ sở dữ liệu, từ đó nâng cao hiệu suất và độ chính xác của các ứng dụng.

1.1. Định Nghĩa Ngôn Ngữ Thao Tác Dữ Liệu DML

DML là viết tắt của Data Manipulation Language, cho phép người dùng thực hiện các thao tác trên dữ liệu trong cơ sở dữ liệu. Các câu lệnh DML bao gồm INSERT, UPDATE, DELETE và SELECT.

1.2. Tầm Quan Trọng Của DML Trong SQL

DML đóng vai trò quan trọng trong việc quản lý dữ liệu. Nó cho phép người dùng tương tác với dữ liệu một cách linh hoạt và hiệu quả, từ đó hỗ trợ cho việc ra quyết định và phân tích dữ liệu.

II. Các Câu Lệnh DML Cơ Bản Trong SQL INSERT UPDATE DELETE

Các câu lệnh DML cơ bản trong SQL bao gồm INSERT, UPDATE và DELETE. Mỗi câu lệnh có cú pháp và chức năng riêng, giúp người dùng thực hiện các thao tác khác nhau trên dữ liệu trong bảng.

2.1. Câu Lệnh INSERT Thêm Dữ Liệu Vào Bảng

Câu lệnh INSERT được sử dụng để thêm một hoặc nhiều bản ghi vào bảng. Cú pháp cơ bản là: INSERT INTO tablename VALUES (value1, value2, ...);

2.2. Câu Lệnh UPDATE Cập Nhật Dữ Liệu

Câu lệnh UPDATE cho phép người dùng sửa đổi dữ liệu trong bảng. Cú pháp là: UPDATE tablename SET columnname = value WHERE condition;

2.3. Câu Lệnh DELETE Xóa Dữ Liệu

Câu lệnh DELETE được sử dụng để xóa một hoặc nhiều bản ghi khỏi bảng. Cú pháp là: DELETE FROM tablename WHERE condition;

III. Câu Lệnh SELECT Truy Vấn Dữ Liệu Trong SQL

Câu lệnh SELECT là một phần quan trọng trong DML, cho phép người dùng truy vấn và lấy dữ liệu từ bảng. Câu lệnh này có thể được sử dụng với nhiều điều kiện và mệnh đề khác nhau để lọc và sắp xếp dữ liệu.

3.1. Cú Pháp Cơ Bản Của Câu Lệnh SELECT

Cú pháp cơ bản của câu lệnh SELECT là: SELECT columnlist FROM tablelist WHERE condition; Câu lệnh này cho phép lấy dữ liệu từ các cột cụ thể trong bảng.

3.2. Sử Dụng Mệnh Đề WHERE Để Lọc Dữ Liệu

Mệnh đề WHERE cho phép người dùng chỉ định điều kiện để lọc dữ liệu. Ví dụ: SELECT * FROM table WHERE column = value;

3.3. Sắp Xếp Dữ Liệu Với Mệnh Đề ORDER BY

Mệnh đề ORDER BY được sử dụng để sắp xếp kết quả truy vấn. Cú pháp là: SELECT * FROM table ORDER BY column ASC|DESC;

IV. Các Thách Thức Khi Sử Dụng DML Trong SQL

Mặc dù DML rất mạnh mẽ, nhưng cũng có một số thách thức mà người dùng có thể gặp phải. Việc hiểu rõ các vấn đề này sẽ giúp tối ưu hóa việc sử dụng DML.

4.1. Quản Lý Dữ Liệu Lớn

Khi làm việc với cơ sở dữ liệu lớn, việc thực hiện các câu lệnh DML có thể gây ra tình trạng chậm trễ. Cần có các phương pháp tối ưu hóa để xử lý dữ liệu hiệu quả.

4.2. Rủi Ro Mất Dữ Liệu

Việc thực hiện các câu lệnh DELETE hoặc UPDATE mà không có điều kiện chính xác có thể dẫn đến mất dữ liệu. Cần phải cẩn thận và kiểm tra kỹ lưỡng trước khi thực hiện.

V. Ứng Dụng Thực Tiễn Của DML Trong SQL

DML có nhiều ứng dụng thực tiễn trong các lĩnh vực khác nhau, từ quản lý dữ liệu đến phân tích dữ liệu. Việc áp dụng DML đúng cách có thể mang lại nhiều lợi ích cho tổ chức.

5.1. Quản Lý Cơ Sở Dữ Liệu

DML được sử dụng để quản lý và duy trì cơ sở dữ liệu, giúp đảm bảo tính chính xác và nhất quán của dữ liệu.

5.2. Phân Tích Dữ Liệu

Các câu lệnh DML cho phép người dùng truy vấn và phân tích dữ liệu để đưa ra quyết định kinh doanh chính xác hơn.

VI. Kết Luận Về Ngôn Ngữ Thao Tác Dữ Liệu DML Trong SQL

Ngôn ngữ thao tác dữ liệu DML trong SQL là một công cụ mạnh mẽ cho việc quản lý và thao tác dữ liệu. Việc hiểu rõ và áp dụng đúng cách các câu lệnh DML sẽ giúp tối ưu hóa quy trình làm việc với cơ sở dữ liệu.

6.1. Tương Lai Của DML Trong SQL

Với sự phát triển không ngừng của công nghệ, DML sẽ tiếp tục được cải tiến và mở rộng, mang lại nhiều tính năng mới cho người dùng.

6.2. Lời Khuyên Khi Sử Dụng DML

Cần thường xuyên cập nhật kiến thức và thực hành để nắm vững các câu lệnh DML, từ đó nâng cao hiệu quả làm việc với cơ sở dữ liệu.

15/07/2025

Trích đoạn nội dung tài liệu

Giới thiệu về ngôn ngữ SQL (phần 2) Posts and Telecommunications Institute of Technology-PTIT 1 Ví dụ về CSDL 2 Ngôn ngữ thao tác dữ liệu DML của SQL • Ngôn ngữ thao tác dữ liệu của SQL có thể được chia ra làm hai phần tách riêng nhưng vẫn chung nhau ở một số phạm vi nào đó. Hai phần này là các câu lệnh DML không truy vấn và các câu lệnh truy vấn dữ liệu. • Ngôn ngữ thao tác không truy vấn cho phép bạn thêm dữ liệu vào bảng (INSERT), sửa đổi dữ liệu (UPDATE), xoá dữ liệu từ các bảng (DELETE) và thực hiện những thay đổi vĩnh viễn (COMMIT) và huỷ những thay đổi (tới một mức độ nào đó với ROLLBACK). • Các câu lệnh truy vấn DML chắc chắn bao gồm câu lệnh đơn SELECT với rất nhiều các mệnh đề lựa chọn khác nhau.

Chúng ta sẽ xem xét các câu lệnh không truy vấn của DML trước. • Tóm tắt các câu lệnh DML của SQL được mô tả trong bảng dưới sau. 3 Tóm tắt các câu lệnh DML của SQL Câu lệnh hoặc lựa chọn Mô tả INSERT Chèn thêm một (các) hàng vào trong một bảng Lựa chọn các thuộc tính từ các hàng trong một hoặc nhiều bảng hoặc SELECT khung nhìn WHERE Hạn chế việc lựa chọn các hàng dựa trên một biểu thức điều kiện GROUP BY Gộp nhóm các hàng đã được chọn ra dựa trên một hoặc nhiều thuộc tính HAVING Hạn chế sự lựa chọn các hàng để gộp nhóm dựa trên một điều kiện ORDER BY Xếp thứ tự các hàng được chọn UPDATE Sửa đổi giá trị thuộc tính của một hoặc nhiều hàng của một bảng DELETE Xoá một hoặc nhiều hàng từ một bảng COMMIT Lưu trữ vĩnh viễn những thay đổi về dữ liệu ROLLBACK Phục hồi dữ liệu về những giá trị ban đầu của chúng Các phép toán so sánh =, <, >, <=, >=, <> Được sử dụng trong các biểu thức điều kiện Các phép toán logic AND, OR, NOT Được sử dụng trong các biểu thức điều kiện 4 Tóm tắt các câu lệnh DML của SQL (cont.) Câu lệnh hoặc lựa chọn Mô tả Các phép toán đặc biệt được sử dụng trong các biểu thức điều kiện Kiểm tra xem các giá trị của một thuộc tính có nằm trong một khoảng BETWEEN xác định IS NULL Kiểm tra xem giá trị của một thuộc tính có là trống / hoặc có giá trị không Kiểm tra xem giá trị của một thuộc tính có giống với một kiểu chuỗi ký tự LIKE cho truớc Kiểm tra xem giá trị của một thuộc tính có nằm trong / hoặc không nằm IN / NOT IN trong một danh sách các giá trị nào đó EXISTS / NOT EXISTS Kiểm tra xem một truy vấn con có trả về hàng dữ liệu nào không Hạn chế các giá trị tới những giá trị duy nhất, hay loại bỏ những giá trị DISTINCT trùng lặp Các hàm thống kê được sử dụng với SELECT để trả về những giá trị tổng hợp trên các cột COUNT Trả về số lượng các hàng với các giá trị không rỗng cho một cột nào đó Trả về giá trị nhỏ nhất của một thuộc tính được tìm thấy trong một cột MIN nào đó Trả về giá trị lớn nhất của một thuộc tính được tìm thấy trong một cột MAX nào đó SUM Trả về tổng của tất cả các giá trị của một cột nào đó AVG Trả về giá trị trung bình của tất cả c ác giá trị của một cột nào đó 5 Thêm các bản ghi vào bảng • SQL dùng câu lệnh INSERT để thêm dữ liệu mới vào một bảng. • Cú pháp của câu lệnh này như sau: INSERT INTO tablename VALUES (value1, value 2, .value n); 6 Ví dụ - thêm các bản ghi vào bảng • Thêm hai bản ghi mới vào bảng VENDOR chúng ta cần thực hiện hai câu lệnh SQL dưới đây: INSERT INTO VENDOR VALUES (21225, ‘Bryson, Inc.’, ‘Smithson’, ‘615’, ‘223-3234’, ‘TN’, ‘Y’); INSERT INTO VENDOR VALUES (21226, ‘SuperLoo, Inc.’, ‘Flushing’, ‘904’, ‘215-8995’, ‘FL’, ‘N’); 7 Ví dụ - Thêm bản ghi có thuộc tính rỗng • Nếu một thuộc tính của một bản ghi không có giá trị (hay có giá trị là null) bạn sẽ sử dụng cú pháp sau đây để thêm một hàng vào bảng: INSERT INTO PRODUCT VALUES (‘23114-AA’, ‘Sledge hammer, 12 lb.05, NULL); Lệnh này chèn bản ghi này vào bảng PRODUCT 8 Ví dụ - Thêm bản ghi có thuộc tính rỗng • Trong các trường hợp có nhiều hơn một thuộc tính nhận giá trị rỗng, thay vì khai báo các thuộc tính là NULL trong lệnh INSERT, ta chỉ cần mô tả các thuộc tính cần có giá trị nhập, không cần quan tâm tới các thuộc tính rỗng.

• Việc này được thực hiện bằng cách liệt kê tên của các thuộc tính mà giá trị của chúng được đưa vào bên trong dấu ngoặc đơn ngay sau tên của bảng. • Xét ví dụ dưới đây, giả sử rằng chỉ P_CODE và P_DESCRIPT cần nhập giá trị vào trong bảng PRODUCT. Hai cách nhập sau đây đều đúng: INSERT INTO PRODUCT VALUES (‘23114-AA’, ‘Sledge hammer, 12 lb.’, NULL, NULL, NULL, NULL, NULL, NULL); -or- INSERT INTO PRODUCT(P_CODE, P_DESCRIPT) VALUES(‘23114-AA’, ‘Sledge hammer, 12 lb.’); 9 Xóa các bản ghi khỏi bảng • SQL cho phép dễ dàng xóa một bản ghi ra khỏi bảng bằng lệnh DELETE. • Cú pháp của lệnh DELETE là: DELETE FROM tablename [WHERE conditionlist ]; • Để xoá một bản ghi từ một bảng dựa trên giá trị của khoá chính, bạn có thể sử dụng câu lệnh như sau: DELETE FROM PRODUCT WHERE P_CODE = ‘23114-AA’; 10 Xóa các bản ghi khỏi bảng (cont.) • Lệnh DELETE cũng được dùng để xóa nhiều bản ghi ra khỏi bảng.

– Ví dụ bạn muốn xoá các sản phẩm từ bảng PRODUCT mà giá trị P_MIN =5. Để thực hiện điều này bạn có thể dùng câu lệnh: DELETE FROM PRODUCT WHERE P_MIN = 5; • DELETE là một câu lệnh hướng tập hơp. Có nghĩa là điều kiện ở câu lệnh WHERE là có thể có hoặc không, nếu điều kiện đó không được chỉ rõ thì tất cả các hàng của bảng sẽ được xoá! 11 Cập nhật dữ liệu cho các bản ghi trong bảng • Để thay đổi dữ liệu trong bảng, ta dùng lệnh UPDATE. • Cú pháp của lệnh UPDATE như sau: UPDATE tablename SET columnname = expression [, columnname = expression ] [ WHERE conditionlist ]; • Lưu ý rằng điều kiện WHERE là không bắt buộc trong câu lệnh UPDATE.

Nếu không có điều kiện WHERE, thì câu lệnh UPDATE sẽ được thực hiện trên tất cả các bản ghi của bảng đó. 12 Cập nhật dữ liệu cho các bản ghi trong bảng (cont.) • Ví dụ, bạn muốn thay đổi P_INDATE từ 13/12/2003 thành 18/1/2004 trong hàng thứ hai của bảng PRODUCT. Bạn cần sử dụng giá trị của khoá chính 13- Q2/P2 để xác định đúng hàng trong bảng cần thay đổi, câu lệnh tương ứng như sau: UPDATE PRODUCT SET P_INDATE = ’18-Jan-2004’ WHERE P_CODE = ’13-Q2/P2’; • Nếu có nhiều hơn một thuộc tính cần được thay đổi trong một bản ghi, các câu lệnh UPDATE sẽ được phân cách nhau bởi dấu phảy: UPDATE PRODUCT SET P_INDATE = ’18-JAN-2004’, P_PRICE = 16.99, P_MIN = 10 WHERE P_CODE = ’13-Q2/P2’; 13 Lưu các thay đổi trong bảng • Mọi thay đổi được thực hiện tới nội dung của bảng sẽ không được lưu trữ một cách vật lý trong một bảng vật lý (là một tệp trong hệ thống) cho tới khi một câu lệnh COMMIT được thực thi. • Thông thường, nếu hệ thống mất điện trong quá trình cập nhật một bảng (hoặc một cơ sở dữ liệu nói chung) trước khi câu lệnh COMMIT được thực thi, tất cả các thay đổi bạn thực hiện trước đó sẽ bị mất.

Những hệ thống phức tạp hơn sẽ có khả năng phục hồi dữ liệu sau những sự cố như vậy. Với các hệ thống máy tính cá nhân thì nên sử dụng bộ lưu điện UPS để hạn chế sự cố này! • Cú pháp của lệnh COMMIT như sau: COMMIT [ tablename ]; -or- COMMIT; //saves all changes made in any modified tables 14 Phục hồi nội dung của bảng • Nếu bạn chưa sử dụng câu lệnh COMMIT để lưu trữ vĩnh viễn những thay đổi trong CSDL, bạn có thể phục hồi cơ sở dữ liệu về trạng thái trước đó (kết quả của lần cuối thực hiện câu lệnh COMMIT) bằng việc sử dụng câu lệnh ROLLBACK. • ROLLBACK phục hồi lại những thay đổi được thực hiện và trả lại dữ liệu những giá trị cũ của nó trước khi những thay đổi này được thực hiện. • Cú pháp của câu lệnh ROLLBACK như sau: ROLLBACK; • MS Access không hỗ trợ câu lệnh ROLLBACK.

Một số hệ quản trị CSDL như Oracle tự động COMMIT những thay đổi dữ liệu khi thực hiện các câu lệnh DDL, vì vậy ROLLBACK sẽ không có tác dụng đối với những hệ thống loại này. • ROLLBACK sẽ phục hồi tất cả những thay đổi kể từ lệnh COMMIT cuối cùng. Nghĩa là, thâm chí những thay đổi mà bạn không muốn phục hồi cũng sẽ được khôi phục lại với giá trị cũ nếu chưa một câu lệnh COMMIT nào được thực thi. 15 Cập nhật dữ liệu nâng cao • Để thêm dữ liệu vào các cột có sẵn, ta sử dụng lệnh UPDATE trong SQL.

Lệnh UPDATE chỉ cập nhật dữ liệu trong cột có sẵn. • Ví dụ, để thêm giá trị ‘2’ vào cột P_SALECODE tại dòng 4 của bảng PRODUCT_2, ta dùng lệnh UPDATE kết hợp với giá trị khóa chính của dòng đó. Câu lệnh sau thực hiện việc này. UPDATE PRODUCT_2 SET P_SALECODE = ‘2’ WHERE P_CODE = ‘1546-QQ2’; Kết quả trước và sau câu lệnh được thể hiện ở các slides tiếp theo.

16 Cập nhật dữ liệu nâng cao (cont.) Giá trị P_SALECODE trước khi cập nhật 17 Cập nhật dữ liệu nâng cao (cont.) Giá trị của P_SALECODE sau cập nhật 18 Cập nhật dữ liệu nâng cao (cont.) • Các giá trị tiếp theo có thể được thêm vào theo cùng một cách thức: xác định vị trí thêm vào bằng khóa chính (P_CODE) và tên cột dữ liệu (P_SALECODE). • Bảng dữ liệu kết quả ở trang trước có thể được tạo ra bởi câu lệnh SQL sau: UPDATE PRODUCT_2 SET P_SALECODE = ‘1’ WHERE P_CODE IN (‘2232/QWE’, ‘2232/QTY’); 19 Cập nhật dữ liệu nâng cao (cont.) • Mặc dù chuỗi lệnh UPDATE ở phần trước cho phép nhập dữ liệu vào các ô cụ thể trong bảng, quá trình thực hiện về bản chất rất phức tạp. May mắn là có các phương pháp thực hiện tốt hơn. • Nếu ta có mối liên hệ giữa các giá trị cần nhập với các dữ liệu có sẵn thì có thể dùng đó để gán các giá trị mới vào vị trị thích hợp.

• Ví dụ, nếu ta cần cho mã bán hàng (P_SALECODE) vào bảng dựa trên các giá trị của P_INDATE như sau: – Nếu P_INDATE nhỏ hơn 25/12/2003, thì P_SALECODE = 2 – Nếu P_INDATE nằm giữa 16/1/2004 và 10/2/2004, thì P_SALECODE =1 20 Cập nhật dữ liệu nâng cao (cont.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ