👺Lệnh SQL

Khái niệm và các câu lệnh cơ bản trong SQL: SELECT, INSERT, UPDATE, DELETE.

Lệnh SQL là gì?

Lệnh ngôn ngữ truy vấn có cấu trúc (SQL) là những từ khóa hoặc câu lệnh SQL cụ thể được các nhà phát triển sử dụng để thao tác với dữ liệu được lưu trữ trong cơ sở dữ liệu quan hệ. Bạn có thể phân loại các lệnh SQL như sau.

Ngôn ngữ định nghĩa dữ liệu

Ngôn ngữ định nghĩa dữ liệu (DDL) là các lệnh SQL thiết kế cấu trúc cơ sở dữ liệu. Các kỹ sư cơ sở dữ liệu sử dụng DDL để tạo và điều chỉnh các đối tượng cơ sở dữ liệu dựa trên các yêu cầu nghiệp vụ. Ví dụ: kỹ sư cơ sở dữ liệu sử dụng lệnh CREATE để tạo các đối tượng cơ sở dữ liệu như bảng, chế độ xem và chỉ mục.

Ngôn ngữ truy vấn dữ liệu

Ngôn ngữ truy vấn dữ liệu (DQL) bao gồm các lệnh hướng dẫn để truy xuất dữ liệu được lưu trữ trong cơ sở dữ liệu quan hệ. Các ứng dụng phần mềm sử dụng lệnh SELECT để lọc và trả về kết quả cụ thể từ một bảng SQL.

Ngôn ngữ thao tác dữ liệu

Các câu lệnh ngôn ngữ thao tác dữ liệu (DML) viết thông tin mới hoặc điều chỉnh các bản ghi hiện có trong cơ sở dữ liệu quan hệ. Ví dụ: một ứng dụng sử dụng lệnh INSERT để lưu trữ một bản ghi mới trong cơ sở dữ liệu.

Ngôn ngữ kiểm soát dữ liệu

Quản trị viên cơ sở dữ liệu sử dụng ngôn ngữ kiểm soát dữ liệu (DCL) để quản lý hoặc cấp quyền truy cập cơ sở dữ liệu cho người dùng khác. Ví dụ: họ có thể sử dụng lệnh GRANT để cho phép các ứng dụng nhất định thao tác với một hoặc nhiều bảng.

Ngôn ngữ kiểm soát giao dịch

Công cụ quan hệ sử dụng ngôn ngữ kiểm soát giao dịch (TCL) để tự động thực hiện các thay đổi đối với cơ sở dữ liệu. Ví dụ: cơ sở dữ liệu sử dụng lệnh ROLLBACK để hoàn tác một giao dịch bị lỗi.

Các câu lệnh cơ bản trong SQL

Cú pháp cơ bản CRUD (Create, Read, Update, Delete) - Insert, Select, Update, Delete trong SQL.

SQL là một trong những ngôn ngữ phổ biến dùng để thao tác với cơ sở dữ liệu. Trong đó các truy vấn SELECT INSERT UPDATE DELETE là các cú pháp cơ bản nhất.

SELECT

SELECT dùng để truy xuất (lấy) dữ liệu từ một bảng trong Database.

Cú pháp:

SELECT column_1, column_2, ..., column_n FROM TABLE_NAME WHERE Condition;

Trong đó:

  • TABLE_NAME: tên bảng chưa dữ liệu cần truy xuất.

  • column_1, column_2, ...: tên các cột, các trường dữ liệu cần truy xuất.

  • Condition: điều kiện để truy xuất. Là một biểu thức logic xác định các bản ghi thoả mãn điều kiện của câu lệnh.

Nếu cần truy xuất hết tất cả các cột của bảng thì ta dùng wildcard (*)

SELECT * FROM TABLE_NAME;

SELECT thường đi kèm với một số điều kiện được thể hiện sau WHERE, HAVING, ...

* Tham khảo thêm Làm Quen Với SQL Server.

Ví dụ

Từ bảng STUDENTS, ta cần truy xuất NAMEID với điều kiện học viên đó có ADDRESSDa Nang

IDNAMEGENDERDOBADDRESS

1

Nguyen

Male

21/07/1996

Da Nang

2

Linh

Female

06/11/1996

Quang Nam

3

Huy

Male

08/12/1996

TP HCM

Ta thực hiện như sau

SELECT ID, NAME FROM STUDENTS WHERE ADDRESS="Da Nang";

Kết quả trả về sẽ là

INSERT

INSERT dùng để thêm một dòng dữ liệu mới vào một bảng trong database.

Cú pháp:

INSERT INTO TABLE_NAME VALUES ("value_1", "value_2", "value_3", ..., "value_n");

Trong đó:

  • TABLE_NAME: tên bảng cần thêm giá trị mới.

  • value_1, value_2, ...: giá trị thêm vào tương ứng của các cột trong bảng.

Ví dụ

Ta có bảng STUDENTS gồm các thuộc tính lần lượt là ID, NAME, GENDER, DOB (ngày sinh), ADDRESS.

IDNAMEGENDERDOBADDRESS

1

Nguyen

Male

21/07/1996

Da Nang

2

Linh

Female

06/11/1996

Quang Nam

3

Huy

Male

08/12/1996

TP HCM

Ta thêm vào bảng STUDENTS một số dòng dữ liệu như sau:

INSERT INTO STUDENTS VALUES ("4", "Tuan", "Male", "28/07/1996", "Da Nang");
INSERT INTO STUDENTS VALUES ("5", "Huong", "Female", "11/10/1996", "Phu Yen");
INSERT INTO STUDENTS VALUES ("6", "Cuong", "Male", "06/07/1996", "Quang Nam");

Kết quả sau khi thêm vào bảng sẽ là:

IDNAMEGENDERDOBADDRESS

1

Nguyen

Male

21/07/1996

Da Nang

2

Linh

Female

06/11/1996

Quang Nam

3

Huy

Male

08/12/1996

TP HCM

4

Tuan

Male

28/07/1996

Da Nang

5

Huong

Female

11/10/1996

Phu Yen

6

Cuong

Male

06/07/1996

Quang Nam

UPDATE

UPDATE dùng để cập nhật, sửa đổi một dòng dữ liệu mới vào một bảng trong database.

Cú pháp:

UPDATE TABLE_NAME SET COLUMN_NAME = "new_value" WHERE <condition>;

Trong đó:

  • TABLE_NAME: tên bảng có dữ liệu cần cập nhật

  • new_value: giá trị mới cần thay đổi

  • condition: xác định dòng dữ liệu nào sẽ được thay đổi.

Ví dụ

Từ bảng STUDENTS cùng những dữ liệu đã có ở trên, để cập nhật ADDRESS từ TPHCM thành Long An cho học viên có ID3

IDNAMESGENDERDOBADDRESS

1

Nguyen

Male

21/07/1996

Da Nang

2

Linh

Female

06/11/1996

Quang Nam

3

Huy

Male

08/12/1996

TP HCM

4

Tuan

Male

28/07/1996

Da Nang

5

Huong

Female

11/10/1996

Phu Yen

6

Cuong

Male

06/07/1996

Quang Nam

Ta làm như sau:

UPDATE STUDENTS SET ADDRESS="Long An" WHERE ID="3";

Kết quả sau khi cập nhật bảng là:

IDNAMEGENDERDOBADDRESS

1

Nguyen

Male

21/07/1996

Da Nang

2

Linh

Female

06/11/1996

Quang Nam

3

Huy

Male

08/12/1996

Long An

4

Tuan

Male

28/07/1996

Da Nang

5

Huong

Female

11/10/1996

Phu Yen

6

Cuong

Male

06/07/1996

Quang Nam

DELETE

DELETE dùng để xóa những dòng dữ liệu trong database.

Cú pháp:

DELETE FROM TABLE_NAME WHERE <condition>;

Trong đó:

  • TABLE_NAME: Tên bảng chứa dữ liệu cần xóa.

  • <condition> thường được xác định bằng một hoặc nhiều cặp <key> <value> là column và giá trị điều kiện tương ứng.

  • Nếu không có điều kiện, toàn bộ dữ liệu trong bảng được chọn sẽ bị xoá TRUNCATE.

Ví dụ

Từ bảng STUDENTS cùng những dữ liệu đã có như ở trên, ta tiến hành xoá dữ liệu của học viên có ID3.

IDNAMEGENDERDOBADDRESS

1

Nguyen

Male

21/07/1996

Da Nang

2

Linh

Female

06/11/1996

Quang Nam

3

Huy

Male

08/12/1996

Long An

4

Tuan

Male

28/07/1996

Da Nang

5

Huong

Female

11/10/1996

Phu Yen

6

Cuong

Male

06/07/1996

Quang Nam

Ta làm như sau:

DELETE FROM STUDENTS WHERE ID="3";

Kết quả sau khi cập nhật bảng là:

IDNAMEGENDERDOBANDRESS

1

Nguyen

Male

21/07/1996

Da Nang

2

Linh

Female

06/11/1996

Quang Nam

4

Tuan

Male

28/07/1996

Da Nang

5

Huong

Female

11/10/1996

Phu Yen

6

Cuong

Male

06/07/1996

Quang Nam

Last updated