Các lệnh SQL: DQL, DDL, DML, DCL & TCL kèm ví dụ.
⚡ Tóm tắt thông minh
Các lệnh SQL được nhóm thành năm ngôn ngữ con quản lý cơ sở dữ liệu quan hệ. DDL định nghĩa cấu trúc, DML thay đổi dữ liệu, DCL kiểm soát quyền truy cập, TCL quản lý giao dịch và DQL truy xuất dữ liệu, mỗi ngôn ngữ đều có tập hợp câu lệnh và cú pháp riêng.

SQL là gì?
SQL là ngôn ngữ cơ sở dữ liệu được thiết kế để truy xuất và quản lý dữ liệu trong cơ sở dữ liệu quan hệ.
SQL là ngôn ngữ tiêu chuẩn để quản lý cơ sở dữ liệu. Tất cả các hệ thống RDBMS như MySQL, truy cập MS, OracleSybase, PostgreSQL và SQL Server đều sử dụng SQL làm ngôn ngữ cơ sở dữ liệu tiêu chuẩn. Ngôn ngữ lập trình SQL sử dụng nhiều lệnh khác nhau cho các thao tác khác nhau. Chúng ta sẽ tìm hiểu về các lệnh DCL, TCL, DQL, DDL và DML trong SQL với các ví dụ.
Tại sao nên sử dụng SQL?
Dưới đây là những lý do quan trọng để sử dụng SQL:
- Nó giúp người dùng truy cập dữ liệu trong hệ thống RDBMS.
- Nó giúp bạn mô tả dữ liệu.
- Nó cho phép bạn xác định dữ liệu trong cơ sở dữ liệu và thao tác dữ liệu cụ thể đó.
- Với sự trợ giúp của các lệnh SQL, bạn có thể tạo và xóa cơ sở dữ liệu và bảng.
- SQL cho phép bạn sử dụng các hàm trong cơ sở dữ liệu, tạo các view và stored procedure.
- Bạn có thể đặt quyền trên bảng, thủ tục và dạng xem.
Tóm tắt lịch sử của SQL
Dưới đây là những địa danh quan trọng từ... lịch sử của SQL:
- 1970 – Tiến sĩ Edgar F. “Ted” Codd mô tả mô hình quan hệ cho cơ sở dữ liệu.
- 1974 – Ngôn ngữ truy vấn có cấu trúc (Structured Query Language) xuất hiện, ban đầu có tên là SEQUEL tại IBM.
- 1979 - Oracle đã phát hành cơ sở dữ liệu dựa trên SQL đầu tiên được bán thương mại, dựa trên... IBMNguyên mẫu nghiên cứu Hệ thống R của 's.
- 1986 – ANSI công bố tiêu chuẩn SQL đầu tiên, SQL-86.
- 1989 – SQL-89 ra đời như phiên bản sửa đổi đầu tiên của tiêu chuẩn này.
- 1992 – SQL-92 (SQL2) trở thành chuẩn mực cơ bản chính vẫn được hầu hết các cơ sở dữ liệu tham chiếu cho đến ngày nay.
- 1999 – SQL:1999 (SQL3) ra mắt với các tính năng như trigger, truy vấn đệ quy và lập trình hướng đối tượng.
- 2003 – SQL:2003 bổ sung các hàm cửa sổ, trình tạo chuỗi và các tính năng liên quan đến XML.
- 2006 – SQL:2006 bổ sung hỗ trợ cho Ngôn ngữ truy vấn XML (XQuery).
- 2008 – SQL:2008 giới thiệu câu lệnh TRUNCATE và trigger INSTEAD OF.
- 2011 – SQL:2011 đã cải thiện khả năng hỗ trợ cho cơ sở dữ liệu thời gian.
- 2016 – SQL:2016 bổ sung hỗ trợ JSON và tính năng khớp mẫu hàng (MATCH_RECOGNIZE).
- 2019 – SQL/MDA (Phần 15) bổ sung hỗ trợ mảng đa chiều vào tiêu chuẩn.
- 2023 – SQL:2023 đã bổ sung kiểu dữ liệu JSON gốc và các truy vấn đồ thị thuộc tính (SQL/PGQ).
- 2024 – GQL, ngôn ngữ cơ sở dữ liệu ISO mới đầu tiên kể từ SQL, được công bố như một tiêu chuẩn bổ trợ cho truy vấn đồ thị.
- 2026 – SQL:2023 vẫn là tiêu chuẩn hiện hành, phiên bản sửa đổi tiếp theo đang được phát triển tại ISO/IEC.
Các loại lệnh SQL
Dưới đây là năm loại lệnh SQL được sử dụng rộng rãi:
- Ngôn ngữ định nghĩa dữ liệu (DDL)
- Dữ liệu Manipulation Language (DML)
- Ngôn ngữ kiểm soát dữ liệu (DCL)
- Ngôn ngữ kiểm soát giao dịch (TCL)
- Ngôn ngữ truy vấn dữ liệu (DQL)

Bảng dưới đây tóm tắt năm hạng mục trước khi mỗi hạng mục được trình bày chi tiết.
| Phân loại | Mục đích | Các lệnh chính |
|---|---|---|
| DDL | Xác định cấu trúc | TẠO, XÓA, SỬA ĐỔI, CẮT NGẮN |
| DML | sửa đổi dữ liệu | CHÈN, CẬP NHẬT, XÓA |
| DCL | Kiểm soát quyền truy cập | CẤP, THU HỒI |
| TCL | Quản lý các giao dịch | COMMIT, ROLLBACK, SAVEPOINT |
| DQL | Khôi phục dữ liệu | CHỌN |
DDL là gì?
Ngôn ngữ định nghĩa dữ liệu (DDL) giúp bạn định nghĩa cấu trúc hoặc lược đồ của cơ sở dữ liệu. Hãy cùng tìm hiểu về các lệnh DDL cùng cú pháp của chúng. Các lệnh DDL chính trong SQL là CREATE, DROP, ALTER và TRUNCATE.
TẠO NÊN
Lệnh CREATE được sử dụng để định nghĩa cấu trúc hoặc lược đồ của cơ sở dữ liệu:
Cú pháp:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
Ví dụ:
Create database university; Create table students; Create view for_students;
Thả
Lệnh DROP loại bỏ các bảng và cơ sở dữ liệu khỏi hệ quản trị cơ sở dữ liệu quan hệ (RDBMS).
Cú pháp:
DROP TABLE ;
Ví dụ:
Drop object_type object_name; Drop database university; Drop table student;
THAY ĐỔI
Lệnh ALTER cho phép bạn thay đổi cấu trúc của cơ sở dữ liệu.
Cú pháp: Để thêm một cột mới vào bảng:
ALTER TABLE table_name ADD column_name COLUMN-definition;
Để sửa đổi một cột hiện có trong bảng:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Ví dụ:
Alter table guru99 add subject varchar;
CẮT CẮT
Lệnh này được sử dụng để xóa tất cả các hàng khỏi bảng và giải phóng không gian chứa bảng.
Cú pháp:
TRUNCATE TABLE table_name;
Ví dụ:
TRUNCATE table students;
Ngôn ngữ thao tác dữ liệu là gì?
Ngôn ngữ thao tác dữ liệu (DML) cho phép bạn sửa đổi thể hiện cơ sở dữ liệu bằng cách chèn, sửa đổi và xóa dữ liệu. Nó chịu trách nhiệm thực hiện tất cả các loại sửa đổi dữ liệu trong cơ sở dữ liệu. Các lệnh DML quan trọng trong SQL là:
- CHÈN
- CẬP NHẬT
- DELETE
CHÈN
Câu lệnh này được sử dụng để chèn dữ liệu vào các hàng của bảng.
Cú pháp:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Ví dụ:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');
CẬP NHẬT
Lệnh này được sử dụng để cập nhật hoặc sửa đổi giá trị của một cột trong bảng.
Cú pháp:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
Ví dụ:
UPDATE students SET FirstName = 'Jhon', LastName= 'Wick' WHERE StudID = 3;
DELETE
Lệnh này được sử dụng để xóa một hoặc nhiều hàng khỏi bảng.
Cú pháp:
DELETE FROM table_name [WHERE condition];
Ví dụ:
DELETE FROM students WHERE FirstName = 'Jhon';
DCL là gì?
DCL (Ngôn ngữ điều khiển dữ liệu) bao gồm các lệnh như GRANT và REVOKE, hữu ích để cấp quyền và phân quyền. Các lệnh khác điều khiển các tham số của hệ thống cơ sở dữ liệu.
Cấp
Lệnh này được sử dụng để cấp quyền truy cập cho người dùng vào cơ sở dữ liệu.
Cú pháp:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
Ví dụ:
GRANT SELECT ON Users TO'Tom'@'localhost;
Revđược
Lệnh này hữu ích để thu hồi quyền truy cập từ người dùng.
Cú pháp:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
Ví dụ:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
TCL là gì?
Ngôn ngữ điều khiển giao dịch, hay các lệnh TCL, xử lý các giao dịch trong cơ sở dữ liệu. Chúng hoạt động trực tiếp với các trạng thái được mô tả bên dưới. quản lý giao dịch.
Cam kết
Lệnh này được sử dụng để lưu tất cả các giao dịch vào cơ sở dữ liệu.
Cú pháp:
Commit;
Ví dụ:
DELETE FROM Students WHERE RollNo =25; COMMIT;
Rollback
Lệnh Rollback cho phép bạn hoàn tác các giao dịch chưa được lưu vào cơ sở dữ liệu.
Cú pháp:
ROLLBACK;
Ví dụ:
DELETE FROM Students WHERE RollNo =25;
TIẾT KIỆM
Lệnh này giúp bạn thiết lập điểm lưu (savepoint) trong một giao dịch.
Cú pháp:
SAVEPOINT SAVEPOINT_NAME;
Ví dụ:
SAVEPOINT RollNo;
DQL là gì?
Ngôn ngữ truy vấn dữ liệu (DQL) được sử dụng để lấy dữ liệu từ cơ sở dữ liệu. Nó chỉ sử dụng một lệnh duy nhất, đó là SELECT.
CHỌN
Lệnh này giúp bạn chọn các thuộc tính dựa trên điều kiện được mô tả bởi mệnh đề WHERE.
Cú pháp:
SELECT expressions FROM TABLES WHERE conditions;
Ví dụ:
SELECT FirstName FROM Student WHERE RollNo > 15;
Xóa so với cắt bớt so với loại bỏ
Ba lệnh này đều xóa dữ liệu, nhưng chúng khác nhau ở chỗ dữ liệu bị xóa là gì và liệu hành động đó có thể được hoàn tác hay không. Nhầm lẫn giữa chúng là một lỗi thường gặp của người mới bắt đầu.
| Yếu tố | DELETE | CẮT CẮT | Thả |
|---|---|---|---|
| Phân loại | DML | DDL | DDL |
| Loại bỏ | Các hàng đã chọn | Tất cả các hàng | Toàn bộ cái bàn |
| Mệnh đề WHERE | Được phép | Không được phép | Không áp dụng |
| Rollback | Có thể | Thường không | Không thể |
| Cấu trúc được giữ nguyên | Có | Có | Không |
Tóm lại, hãy sử dụng DELETE để xóa các hàng cụ thể, TRUNCATE để làm trống bảng một cách nhanh chóng và DROP để loại bỏ hoàn toàn bảng.
