Các loại câu lệnh trong SQL

SQL (Structured Query Language) là ngôn ngữ truy vấn có cấu trúc được sử dụng để truy cập, thao tác và quản lý dữ liệu trong cơ sở dữ liệu quan hệ. SQL cung cấp nhiều loại câu lệnh để thực hiện các chức năng khác nhau, bao gồm: 

– Định nghĩa cấu trúc cơ sở dữ liệu: tạo, thay đổi và xóa bảng, view, stored procedure, function, v.v. 

– Thao tác dữ liệu: thêm, sửa, xóa dữ liệu trong bảng. 

– Kiểm soát truy cập: cấp quyền và thu hồi quyền truy cập cho người dùng đối với các đối tượng trong cơ sở dữ liệu. 

– Quản lý giao dịch: đảm bảo tính toàn vẹn dữ liệu bằng cách xác nhận hoặc hủy bỏ các thay đổi. 

Trong bài viết này, UniTrain sẽ giới thiệu các loại câu lệnh phổ biến nhất trong SQL cùng với cú pháp và ví dụ cụ thể để giúp bạn hiểu và áp dụng vào thực tế.

1. DDL (Data Definition Language): Ngôn ngữ định nghĩa dữ liệu

– Dùng để tạo, thay đổi và xóa cấu trúc cơ sở dữ liệu. 

CREATE DATABASE: Tạo cơ sở dữ liệu mới

Cú pháp:  

CREATE DATABASE tên_database; 

Ví dụ:  

CREATE DATABASE my_database; 

CREATE TABLE: Tạo bảng mới. 

Cú pháp:  

CREATE TABLE tên_bảng ( 

   tên_cột1 kiểu_dữ_liệu 

   tên_cột2 kiểu_dữ_liệu 

   tên_cột3 kiểu_dữ_liệu 

   … 
); 

Ví dụ: 

CREATE TABLE employees ( 
    id INT, 
    name VARCHAR(255) NOT NULL, 
    email VARCHAR(255) NOT NULL, 
    PRIMARY KEY (id) 
); 

ALTER TABLE: Thay đổi cấu trúc bảng

Cú pháp:  

ALTER TABLE tên_bảng ADD tên_cột kiểu_dữ_liệu; 

Ví dụ:  

ALTER TABLE employees ADD COLUMN salary DECIMAL(10,2); 

DROP TABLE: Xóa bảng.

Cú pháp:  

DROP TABLE tên_bảng; 

Ví dụ:  

DROP TABLE employees;

2. DML (Data Manipulation Language): Ngôn ngữ thao tác dữ liệu

– Dùng để thêm, sửa, xóa dữ liệu trong cơ sở dữ liệu. 

INSERT: Thêm dữ liệu vào bảng

Cú pháp:  

INSERT INTO tên_bảng (tên_cột1, tên_cột2, …)  

VALUES (giá_trị1, giá_trị2, …); 

Ví dụ: 

INSERT INTO employees (name, email, salary) 

VALUES (“John Doe”, “[email protected]“, 100000); 

UPDATE: Sửa dữ liệu trong bảng

Cú pháp: 

UPDATE tên_bảng SET tên_cột = giá_trị 

WHERE điều_kiện; 

Ví dụ: 

UPDATE employees SET salary = salary * 1.1 

WHERE id = 1; 

DELETE: Xóa dữ liệu khỏi bảng

Cú pháp:  

DELETE FROM tên_bảng 

WHERE điều_kiện; 

Ví dụ:  

DELETE FROM employees 

WHERE department = “Sales”;

3. DCL (Data Control Language): Ngôn ngữ kiểm soát dữ liệu

– Dùng để cấp quyền truy cập và quản lý người dùng trong cơ sở dữ liệu. 

GRANT:

Lệnh GRANT được sử dụng để cấp quyền truy cập cho người dùng hoặc nhóm người dùng (role) đối với các đối tượng trong cơ sở dữ liệu, bao gồm bảng, view, stored procedure, function, schema, database, v.v. 

Cú pháp: 

GRANT permission ON object_name TO user_name [WITH GRANT OPTION]; 

Giải thích các thành phần: 

– permission: Quyền truy cập được cấp, ví dụ: SELECT, INSERT, UPDATE, DELETE,EXECUTE, REFERENCES, ALTER, ALL. 

– object_name: Tên đối tượng được cấp quyền. 

– user_name: Tên người dùng hoặc nhóm người dùng được cấp quyền.  – WITH GRANT OPTION: Tùy chọn cho phép người dùng được cấp quyền (grantee) cấp lại quyền cho người dùng khác. 

GRANT SELECT, INSERT, UPDATE, DELETE ON employees TO user1; 

REVOKE: 

Lệnh REVOKE được sử dụng để thu hồi quyền truy cập đã được cấp cho người dùng hoặc nhóm người dùng đối với các đối tượng trong cơ sở dữ liệu. 

Cú pháp: 
REVOKE permission ON table_name FROM user_name; 

Ví dụ:  

REVOKE SELECT, INSERT, UPDATE, DELETE ON employees FROM user1;

4. TCL (Transaction Control Language): Ngôn ngữ kiểm soát giao dịch

– Dùng để kiểm soát và quản lý các giao dịch trong hệ thống quản lý cơ sở dữ liệu.

COMMIT: 

Lệnh COMMIT được sử dụng để xác nhận và lưu trữ vĩnh viễn các thay đổi đã thực hiện trong một giao dịch (transaction) trên cơ sở dữ liệu. Sau khi COMMIT được thực thi, các thay đổi sẽ trở nên vĩnh viễn và không thể bị hủy bỏ. 

Ví dụ: 

Giả sử bạn thực hiện các thao tác sau trong một giao dịch: 

BEGIN; 
 
UPDATE employees SET salary = salary * 1.1 
WHERE department = “Sales”; 
 
INSERT INTO orders (customer_id, product_id, quantity) 
VALUES (1, 10, 2); 
 
COMMIT; 

ROLLBACK: 

Lệnh ROLLBACK được sử dụng để hủy bỏ tất cả các thay đổi đã thực hiện trong một giao dịch. Sau khi ROLLBACK được thực thi, trạng thái của cơ sở dữ liệu sẽ trở lại như trước khi giao dịch bắt đầu. 

Ví dụ: 

Sử dụng ví dụ trên, giả sử bạn gặp lỗi khi thực hiện thao tác INSERT: 

BEGIN; 
 
UPDATE employees SET salary = salary * 1.1 

WHERE department = “Sales”; 
 
INSERT INTO orders (customer_id, product_id, quantity) 

VALUES (1, 10, 2); — Lỗi xảy ra 
 
ROLLBACK; 

Xem thêm: 

Phân tích dữ liệu cùng SQL: Các câu lệnh truy vấn đơn giản

[Free download] Learn SQL Server Administration in a month of lunches

Khóa học Ứng dụng SQL trong Xử lý dữ liệu

Combo Khóa học Business Intelligence

 

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

1 + 1 = ? (Nhập Haii để trả lời đúng)

Bài viết liên quan
Khám phá hàm Lag và Lead trong SQL

Trong phân tích dữ liệu, hàm LAG() và LEAD() sẽ là công cụ hỗ trợ đắc lực cho việc so sánh giá trị hiện tại với giá trị liền trước hoặc liền

Xem thêm
[RECAP] Training Top 20 – myInsight – MDS Datathon Challenge 2025 – CLB Toán ứng dụng & Khoa học dữ liệu (MDS) – Đại học Ngoại Thương CSII TP. HCM (FTU2)

Tối ngày 18/05/2025, buổi training dành riêng cho Top 20 đội thi xuất sắc nhất cuộc thi myInsight – MDS Datathon Challenge 2025 đã diễn ra vô cùng thành công thông

Xem thêm
Khám Phá Tính Năng Nhóm và Phân Nhóm Dữ Liệu trong Power BI

Trong quá trình xây dựng biểu đồ, Power BI Desktop sẽ tự động tổng hợp dữ liệu thành các nhóm dựa trên các giá trị có trong tập dữ liệu gốc.

Xem thêm
[RECAP] Chuỗi Workshop MARKET-A – CLB Chứng khoán SCUE – Đại học Kinh tế TP. HCM (UEH)

Chiều ngày 15/05/2025 vừa rồi, UniTrain đã hân hạnh có mặt với vai trò là Nhà tài trợ Bạc tại buổi Workshop 2: OPTIVEST thuộc chuỗi chương trình Workshop MARKET-A do

Xem thêm