Get in touch
or send us a question?
CONTACT

Tìm hiểu về SQL và một số câu lệnh SQL cơ bản

I. Khái niệm chung về SQL

1.1. SQL là gì?

SQL là một ngôn ngữ tiêu chuẩn để truy cập cơ sở dữ liệu (database). SQL là viết tắt của cụm từ Structured Query Language (Ngôn ngữ truy vấn cấu trúc). Cho phép bạn truy cập và thao tác với database. Ngoài ra, SQL là một tiêu chuẩn ANSI (American National Standards Institute- Viện tiêu chuẩn Quốc gia Mỹ).

1.2. SQL có thể làm gì?

• SQL có thể thực hiện những truy vấn với một cơ sở dữ liệu

• SQL có thể lấy data từ một cơ sở dữ liệu.

• SQL có thể insert (nhập) record vào một cơ sở dữ liệu

• SQL có thể update (cập nhật) record vào một cơ sở dữ liệu

• SQL có thể delete (xóa) record khỏi một cơ sở dữ liệu

• SQL có thể tạo cơ sở dữ liệu mới

• SQL có thể tạo bảng mới trong một cơ sở dữ liệu

• SQL có thể tạo phương thức tích trữ trong một cơ sở dữ liệu

• SQL có thể tạo những cái nhìn trong một cơ sở dữ liệu

• SQL có thể thiết lập (set) quyền cho bảng, phương thức và cái nhìn.

Trong bài viết này sẽ hướng dẫn các bạn cách sử dụng SQL để truy cập và thao tác data trong MySQL.

1.3. Câu lệnh SQL

Hành động mà bạn thực hiện nhiều nhất với một cơ sở dữ liệu là thực hiện câu lệnh SQL.

1.4. Dấu chấm phảy sau câu lệnh SQL có ý nghĩa gì?

Ở một vài hệ thống cơ sở dữ liệu đòi hỏi dấu chấm phảy ở cuối câu lệnh SQL. Dấu chấm phảy là cách tiêu chuẩn để phân chia các câu lệnh SQL trong hệ thống cơ sở dữ liệu mà cho phép nhiều hơn 1 câu lệnh SQL được thực hiện cùng một lúc đến server. Trong bài này, tôi sẽ sử dụng dấu chấm phảy ở cuối mỗi câu lệnh SQL.

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

Giải thích một số thuật ngữ dùng trong bài viết:

Table_name: Tên bảng

Column_name: Tên cột

Bảng dữ liệu sử dụng:

Danh sách nhận học bổng năm học 2015-2016

Bảng1: Danh sáchTable.png

1. Câu lệnh SELECT

1.1. Định nghĩa

Câu lệnh SELECT được dùng để lựa chọn dữ liệu từ một cơ sở dữ liệu. Kết quả được lưu trong một bảng kết quả và gọi là bộ kết quả.

1.2. Cú pháp

1.2.1. Lựa chọn tất cả

SELECT * FROM table_name;

Ví dụ: Chạy câu lệnh : SELECT * FROM Danhsach;

Sẽ ra nguyên bảng đó như sau:Table.png

1.2.2. Lựa chọn từ các cột trong 1 bảng

SELECT column_name,column_name

FROM table_name;

Ví dụ: Lựa chọn chỉ cột “Ten” từ bảng trên thì sẽ chạy câu lệnh SELECT sau:

SELECT Ten

FROM * Danhsach; (Trong đó, dấu ; để kết thúc câu lệnh).

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

Select_1.png

Ngoài ra, có thể lựa chọn từ 2 cột trở lên cùng 1 lúc. Ví dụ, lựa chọn cột Tên sinh viên và Lớp thì sẽ chạy câu lệnh SELECT như sau:

SELECT Ten, Lop (Trong đó, dấu “, “ để ngăn cách giữa các tên cột)

FROM * Danhsach;

Select_2.png

Thay đổi thứ tự cột trong câu lệnh SELECT trên chúng ta sẽ được kết quả sau khi chạy như sau:

Select_3.png

2. Câu lệnh SELECT DISTINCT

2.1. Định nghĩa

Câu lệnh SELECT DISTINCT được dùng để trả về chỉ các giá trị khác nhau.

Trong một bảng, một cột có thể bao gồm nhiều giá trị trùng nhau, và đôi khi bạn chỉ muốn liệt kê các giá trị khác nhau thôi.

Từ khóa DISTINCT có thể được dùng để trả về các giá trị khác nhau.

2.2. Cú pháp

SELECT DISTINCT column_name,column_name

FROM table_name;

Ví dụ: Trong cột “Lop” ở bảng trên, có lớp trùng nhau. Giờ muốn liệt kê các lớp khác nhau, chúng ta chạy câu lệnh SELECT DISTINCT và kết quả như sau:

Select_Distinct.png

3. Mệnh đề SQL WHERE

3.1. Định nghĩa

Mệnh đề WHERE được dùng để lọc các bản ghi.

Mệnh đề WHERE được dùng để trích xuất ra chỉ các bản ghi thỏa mãn tiêu chí chỉ định.

3.2. Cú pháp

SELECT column_name,column_name

FROM table_name

WHERE column_name operator value;

Ví dụ: Từ Bảng 1, chọn tất cả các sinh viên có quê là Hà Nội, chúng ta sẽ viết câu lệnh để chạy và kết quả như sau:

Where_1.png

3.3. Một số điểm lưu ý

3.3.1. Trường text và trường số

SQL đòi hỏi dấu nháy đơn bao quanh giá trị text. (Rất nhiều hệ thống cho phép dấu nháy kép). Tuy nhiên, trường số thì không cần được bao quanh bởi dấu nháy.

3.3.2. Toán tử trong mệnh đề WHERE

Toán tửMô tả
=Bằng nhau
<>Không bằng nhau. Ở một vài bản SQL, toán tử này được viết là !=
>Lớn hơn
<Nhỏ hơn
>=Lớn hơn hoặc bằng
<=Nhỏ hơn hoặc bằng
BETWEENTrong một khoảng, giới hạn nào đó
LIKETìm kiếm theo 1 mẫu nào đó
INChỉ định nhiều giá trị có nghĩa cho 1 cột

4. Toán tử SQL AND & OR

4.1. Định nghĩa

Toán tử AND & OR được dùng để lọc các bản ghi dựa vào 2 điều kiện trở lên.

Toán tử AND thể hiện một bản ghi nếu cả điều kiện thứ nhất và điều kiện thứ 2 đều đúng.

Toán tử OR thể hiện một bản ghi nếu điều kiện thứ nhất hoặc điều kiện thứ 2 đúng.

4.2. Cú pháp

4.2.1. Toán tử AND

SELECT * FROM table_name

WHERE column_name 1 operator value

AND column_name 2 operator value;

Ví dụ: Tìm kiếm các sinh viên học kiểm toán của khóa K53 từ Bảng Danh sách ở trên như sau:

Select AND.png

4.2.2. Toán tử OR

SELECT * FROM table_name

WHERE column_name operator value1

OR column_name operator value2;

Ví dụ: Tìm kiếm các sinh viên học kiểm toán hoặc học kế toán từ Bảng Danh sách ở trên như sau:

Select OR.png

4.2.3. Kết hợp toán tử AND & OR

Bạn có thể kết hợp AND và OR (sử dụng ngoặc đơn để thể hiện biểu thức phức tạp).

Ví dụ: Tìm kiếm các sinh viên Hà nội thuộc K51 và K52 từ Bảng Danh sách ở trên như sau:

Select AND_OR.png

5.Câu lệnh SQL ORDER BY bằng từ khóa

5.1. Định nghĩa

ORDER BY bằng từ khóa được dùng để sắp xếp bộ kết quả theo một hoặc nhiều cột. ORDER BY bằng từ khóa sẽ sắp xếp các bản ghi theo trình tự mặc định là tăng dần. Để sắp xếp theo trình tự giảm dần thì chúng ta sử dụng từ khóa DESC.

5.2.Cú pháp

SELECT column_name, column_name

FROM table_name

ORDER BY column_name ASC|DESC, column_name ASC|DESC;

Ví dụ 1: Sắp xếp cột quê quán theo trình tự tăng dần như sau:

Order by_1.png

Ví dụ 2: Sắp xếp cột Khóa theo thứ tự giảm dần như sau:

Order by_2.png

Ví dụ 3: Sắp xếp cột Quê quán và Lớp như sau:

Order by_3.png

Ví dụ 4: Sắp xếp theo thứ tự tăng dần cột Quê quán, giảm dần cột Năm sinh như sau:

Order by_4.png

6. Câu lệnh INSERT INTO của SQL

6.1. Định nghĩa

Câu lệnh INSERT INTO của SQL dùng để cho bản ghi mới vào trong một bảng.

6.2. Cú pháp

Có thể viết câu lệnh INSERT INTO bằng 2 cách.

Cách 1: Chỉ chỉ định giá trị, không chỉ định tên cột sẽ insert.

INSERT INTO table_name

VALUES (value1,value2,value3,…);

Cách 2: Chỉ định cả tên cột và giá trị sẽ insert.

INSERT INTO table_name (column1,column2,column3,…)

VALUES (value1,value2,value3,…);

Ví dụ1: Insert thêm dòng sau vào Bảng Danh sách ở trên như sau:

Dòng:

12Nguyễn Minh ChâuHòa Bình1992Tài chính – Ngân hàngK52
Insert into_1.png

Khi đó, nội dung trong bảng sẽ như sau:

Insert into_2.png

Ví dụ 2: Insert thêm Tên Trần Thế Hùng, quê Quảng Ninh, lớp Tài năng vào các cột tương ứng của bảng Danh sách như sau:

Insert into_3.png
https://viblo.asia/p/thaovtp-tim-hieu-ve-sql-va-mot-so-cau-lenh-sql-co-ban-jamoG8q1vz8P