You are on page 1of 22

Bài 7: MySQL (P2)

Môn học: Cơ sở dữ liệu


Mục tiêu

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


Câu lệnh truy vấn SELECT trên một bảng
Mệnh đề WHERE
Mệnh đề GROUP BY
Mệnh đề ORDER BY
Ngôn ngữ thao tác dữ
Ngôn ngữ truy vấn dữ liệu (DQL)

Bao gồm các lệnh cho phép truy vấn dữ liệu


mà không làm thay đổi dữ liệu hoặc các đối
tượng trong CSDL.
Các truy vấn bắt đầu bằng từ khoá SELECT
Trả về một bộ các thuộc tính hoặc một tập
hợp các bộ thuộc tính.
Ngôn ngữ truy vấn dữ liệu: Cú pháp

SELECT [DISTINCT] Column1, Column2, …


FROM table_name
[WHERE Conditions]
[ORDER BY Columns [ASC|DESC]]
[GROUP BY Row]
Trong đó:
DISTINCT có thể là các giá trị
all
distinct
top
Ngôn ngữ truy vấn dữ liệu: Cú pháp

Trong đó:
Mệnh đề WHERE cho phép truy vấn lựa
chọn theo hàng.
Mệnh đề ORDER BY cho phép sắp xếp dữ
liệu theo cột.
Mệnh đề GROUP BY cho phép nhóm dữ
liệu theo hàng.
Câu lệnh SELECT
Truy vấn lựa chọn tất cả các hàng và cột
SELECT * FROM table_name

Truy vấn lựa chọn một số cột


SELECT column1, column2, … FROM
table_name
Câu lệnh SELECT: Ví
Mệnh đề AS
Mệnh đề AS giúp thay đổi tên cột hiển thị
trong tập kết quả.
SELECT col1 AS ‘Tên_bí_danh’
FROM table_name

Ví dụ:
Biểu thức trong mệnh đề SELECT

Ngoài danh sách các cột, chúng ta có thể chứa


các biểu thức trong mệnh đề SELECT.
Ví dụ:
Mệnh đề DISTINCT
Loại bỏ các hàng trùng nhau trong tập kết
quả
Ví dụ:
Mệnh đề TOP
Hiển thị N hàng hoặc N% hàng đầu tiên
trong bảng.
Ví dụ:

Hiển thị 5 hàng đầu tiên trong bảng


SELECT TOP 5 * FROM NhanVien

Hiển thị 10% hàng đầu tiên trong bảng


SELECT TOP 5 PERCENT * FROM NhanVien
Mệnh đề WHERE
Giúp loại bỏ các hàng không thoả mãn điều
kiện trong tập kết quả.
Cú pháp:
SELECT [DISTINCT] Column
FROM table_name
[WHERE conditions]
Một số toán tử sử dụng trong biểu thức điều
kiện:
-
Toán tử so sánh: >, >=, <, <=,
-
Toán tử logic: AND, OR,
-
So sánh chuỗi dùng toán tử LIKE
-
BETWEEN/AND
-
IN
So sánh dùng toán tử LIKE
Các hàm tổng hợp
Aggregate Functions gồm:
-
max (column): Tìm giá trị lớn nhất trong
cột column
-
min (column): Tìm giá trị nhỏ nhất trong
cột column
-
avg (column): Tìm giá trị trung bình của
cột column
-
count(): Hàm đến số dòng
Mệnh đề GROUP BY
Mệnh đề GROUP BY cho phép nhóm các
hàng dữ liệu có giá trị giống nhau thành
một nhóm.
Các tính toán - thường sử dụng các hàm
tổng hợp, sẽ được tính trên mỗi nhóm.
Ví dụ: Đếm số lương nhân viên trong mỗi
phòng
SELECT count(*) AS ‘So luong’,
MaPB AS ‘Ma Phong Ban’,
FROM NhanVien
GROUP BY MaPB
Mệnh đề HAVING
Mệnh đề HAVING đi kèm với GROUP BY giúp
loại bỏ các nhóm không thoả mãn điều kiện.
Ví dụ:
SELECT max(luong) AS ‘Luong cao nhat’,
MaPB AS ‘Ma phong ban’
FROM NhanVien
GROUP BY MaPB
HAVING max(luong) > 1000
Mệnh đề ORDER BY
Cho phép sắp xếp kết quả truy vấn theo
cột.
Cú pháp:
SELECT [DISTINCT] columns
FROM table_name
ORDER BY column_name [ASC|DESC]

Chú ý:
ASC: sắp xếp tăng dần
DESC: sắp xếp giảm dần
Ngôn ngữ thao tác dữ liệu
DML (Data Manipulation Language) gồm
các truy vấn cho phép thêm, sửa, xoá dữ
liệu trong các bảng.
Bao gồm các truy vấn bắt đầu bằng từ
khoá:
-
INSERT
-
UPDATE
-
DELETE
Câu lệnh INSERT
Câu lệnh insert giúp thêm dòng dữ liệu vào
bảng.
Cú pháp:
INSERT INTO table_name (cột1, cột2, ..)
VALUES (giá_trị1, giá_trị2, …)

Ví dụ:
INSERT INTO PhongBan (MaPB, TenPB)
VALUES ('PB001', 'Truyen thong')
Câu lệnh Update
Câu lệnh update giúp thay đổi dữ liệu hàng
đã có trong bảng.
Cú pháp:
UPDATE table_name
SET cột1 = ‘giá trị mới’,
cột2 = ‘giá trị mới …’
[WHERE <điều_kiện>]
Ví dụ:
UPDATE PhongBan
SET TenPB = ‘Công nghệ 1’
WHERE MaPB = ‘PB001’
Câu lệnh DELETE
Câu lệnh DELETE để xoá hàng đã tồn tại
trong bảng.
Cú pháp:
DELETE FROM table_name
[WHERE <điều kiện>]

Ví dụ: Xoá phòng ban có mã PB007


DELETE FROM PhongBan
WHERE MaPB = ‘PB007’
Tóm tắt

Ngôn ngữ thao tác dữ liệu gồm các truy vấn cho phép thêm,
sửa, xoá dữ liệu trong các bảng.
Để thêm bản ghi vào bảng dùng lệnh INSERT
Để xoá các bản ghi trong bảng dùng lệnh DELETE
Để chỉnh sửa các bảng ghi đã tồn tại trong bảng dùng lệnh

You might also like