Khi làm việc với cơ sở dữ liệu, có hai khái niệm quan trọng mà bạn cần nắm rõ: DDL (Data Definition Language) và DML (Data Manipulation Language). Đây là các thành phần chính của ngôn ngữ SQL, giúp quản lý và thao tác với dữ liệu trong hệ quản trị cơ sở dữ liệu (DBMS). Bài viết này sẽ giải thích chi tiết về DDL và DML, sự khác biệt giữa chúng và cách chúng được sử dụng.
1. DDL (Data Definition Language)
DDL là một tập hợp các lệnh SQL dùng để định nghĩa cấu trúc của cơ sở dữ liệu. Các lệnh DDL chủ yếu tập trung vào việc tạo, sửa đổi và xóa các đối tượng cơ sở dữ liệu như bảng, chỉ mục và các loại đối tượng khác. Những lệnh này thường có tác động lâu dài và thay đổi cấu trúc cơ sở dữ liệu.
Các lệnh DDL phổ biến bao gồm:
CREATE: Dùng để tạo các đối tượng mới trong cơ sở dữ liệu. Ví dụ, tạo bảng, chỉ mục, hay cơ sở dữ liệu mới.
Cú pháp:
CREATE TABLE ten_bang (
cot1 type1,
cot2 type2,
...
);
ALTER: Dùng để thay đổi cấu trúc của một đối tượng đã tồn tại. Ví dụ, thêm hoặc xóa cột trong một bảng.
Cú pháp:
ALTER TABLE ten_bang
ADD cot_moi type;
DROP: Dùng để xóa một đối tượng khỏi cơ sở dữ liệu. Ví dụ, xóa bảng hoặc chỉ mục.
Cú pháp:
DROP TABLE ten_bang;
TRUNCATE: Dùng để xóa tất cả các bản ghi trong một bảng mà không xóa cấu trúc bảng.
Cú pháp:
TRUNCATE TABLE ten_bang;
Lưu ý: Các lệnh DDL thường không thể hoàn tác và có thể ảnh hưởng đến toàn bộ cơ sở dữ liệu.
2. DML (Data Manipulation Language)
DML là tập hợp các lệnh SQL dùng để thao tác với dữ liệu trong cơ sở dữ liệu. Các lệnh DML chủ yếu tập trung vào việc truy vấn, chèn, cập nhật và xóa dữ liệu từ các bảng. Các lệnh này không thay đổi cấu trúc của cơ sở dữ liệu mà chỉ làm việc với dữ liệu bên trong các bảng.
Các lệnh DML phổ biến bao gồm:
SELECT: Dùng để truy vấn dữ liệu từ một hoặc nhiều bảng. Đây là lệnh thường xuyên được sử dụng nhất để lấy thông tin từ cơ sở dữ liệu.
Cú pháp:
SELECT cot1, cot2
FROM ten_bang
WHERE dieu_kien;
INSERT: Dùng để thêm dữ liệu mới vào một bảng.
Cú pháp:
INSERT INTO ten_bang (cot1, cot2)
VALUES (gia_tri1, gia_tri2);
UPDATE: Dùng để cập nhật dữ liệu đã tồn tại trong bảng.
Cú pháp:
UPDATE ten_bang
SET cot1 = gia_tri_moi
WHERE dieu_kien;
DELETE: Dùng để xóa dữ liệu từ một bảng theo điều kiện cụ thể.
Cú pháp:
DELETE FROM ten_bang
WHERE dieu_kien;
Lưu ý: Các lệnh DML có thể ảnh hưởng trực tiếp đến dữ liệu trong bảng và thường có thể hoàn tác nếu cơ sở dữ liệu hỗ trợ giao dịch.
3. Sự Khác Biệt Giữa DDL và DML
Mục đích: DDL tập trung vào việc quản lý cấu trúc cơ sở dữ liệu, trong khi DML tập trung vào việc thao tác với dữ liệu.
Tác động: DDL thay đổi cấu trúc cơ sở dữ liệu và có thể không thể hoàn tác, trong khi DML thay đổi dữ liệu và có thể được hoàn tác nếu sử dụng giao dịch.
Câu lệnh: Các lệnh DDL như CREATE, ALTER, DROP ảnh hưởng đến cấu trúc, còn các lệnh DML như SELECT, INSERT, UPDATE, DELETE ảnh hưởng đến dữ liệu bên trong các bảng.
4. Ứng Dụng Trong Thực Tế
Quản trị cơ sở dữ liệu: Các nhà quản trị cơ sở dữ liệu (DBA) sử dụng DDL để tạo và duy trì cấu trúc cơ sở dữ liệu, đảm bảo rằng các bảng và chỉ mục hoạt động hiệu quả.
Phát triển ứng dụng: Các nhà phát triển ứng dụng sử dụng DML để thao tác với dữ liệu, cho phép người dùng thêm, cập nhật, và truy vấn dữ liệu trong ứng dụng của họ.
Kết Luận
Việc hiểu rõ sự khác biệt và ứng dụng của DDL và DML là rất quan trọng đối với bất kỳ ai làm việc với cơ sở dữ liệu. DDL giúp bạn quản lý cấu trúc cơ sở dữ liệu, trong khi DML cho phép bạn thao tác và truy vấn dữ liệu. Hiểu và sử dụng đúng các lệnh này sẽ giúp bạn tối ưu hóa việc quản lý và sử dụng cơ sở dữ liệu một cách hiệu quả.
Kết nối với web designer Lê Thành Nam