You are on page 1of 74

BÀI THỰC HÀNH MySQL

x BÀI THỰC HÀNH SỐ 1


Chủ đề: - Tạo CSDL, Table
- Tạo Diagram
- Nhập dữ liệu
- Backup và Restore CSDL

 Lưu ý: - Sinh viên phải chuẩn bị bài trước buổi thực hành, nếu không sẽ không được
phép vào phòng máy.
- Giáo viên hướng dẫn sinh viên những nội dung cần thiết trước buổi thực hành.

1. Lý thuyết
2. Thực hành
2.1. Tạo CSDL có tên là QuanLyThuVien.
2.2. Tạo các bảng sau:
Bảng TAC_GIA
Tên cột Kiểu dữ liệu Độ dài xâu Ràng buộc khác
MA_TG Char 10 Khóa chính
TEN_TG Varchar 50
NAM_SINH Date
GIOI_TINH Bit

Bảng NHA_XUAT_BAN
Tên cột Kiểu dữ liệu Độ dài xâu Ràng buộc khác
MA_NHA_XB Char 10 Khóa chính
TEN_NHA_XB Varchar 50
DIA_CHI Varchar 80
DIEN_THOAI Char 10

Bảng SACH
Tên cột Kiểu dữ liệu Độ dài xâu Ràng buộc khác
MA_SACH Char 10 Khóa chính
TEN_SACH Varchar 50
MA_NHA_XB Char 10 Khóa ngoài, tham
chiếu tới bảng
NHA_XUAT_BAN

Bảng SANG_TAC
Tên cột Kiểu dữ liệu Độ dài xâu Ràng buộc khác
MA_SACH Char 10 Khóa chính
MA_TG Char 10 Khóa chính
1
BÀI THỰC HÀNH MySQL

Bảng DOC_GIA
Tên cột Kiểu dữ liệu Độ dài xâu Ràng buộc khác
SO_THE Char 10 Khóa chính
HO_TEN Varchar 50
DIA_CHI Varchar 80
DIEN_THOAI Char 10
Bảng MUON
Tên cột Kiểu dữ liệu Độ dài xâu Ràng buộc khác
SO_THE Char 10 Khóa chính
MA_SACH Char 10 Khóa chính
NGAY_MUON Date Khóa chính
NGAY_TRA Date

2.3. Tạo mối quan hệ cho các bảng trên: sử dụng diagram
2.4. Nhập dữ liệu cho các bảng sau:
Thêm các bộ giá trị sau vào bảng TAC_GIA
TAC_GIA
MA_TG TEN_TG NAM_SINH GIOI_TINH
TG001 Trần Duy Nghĩa 1/1/1950 1
TG002 Phan Ngọc Diệp 1/2/1949 0
TG003 Nguyễn Xuân Huy 5/5/1984 1
TG004 Phạm Thị Hiền 8/2/1980 0

Thêm các bộ giá trị sau vào bảng NHA_XUAT_BAN


NHA_XUAT_BAN
MA_NHA_XB TEN_NHA_XB DIA_CHI DIEN_THOAI
XB001 Lao động Hà Nội
XB002 Thanh niên Hà Nội
XB003 Phụ nữ Hồ Chí Minh

Thêm các bộ giá trị sau vào bảng SACH


SACH
MA_SACH TEN_SACH MA_NHA_XB
GT001 Giáo trình mạng XB002
KH001 Thế giới quanh ta XB003
KH002 101 Câu hỏi tại sao XB001
KH003 Thế giới các vì sao XB001

2
BÀI THỰC HÀNH MySQL

Thêm các bộ giá trị sau vào bảng SANG_TAC


SANG_TAC
MA_TG MA_SACH
TG001 KH001
TG001 KH002
TG002 GT001

Thêm các bộ giá trị sau vào bảng DOC_GIA


DOC_GIA
SO_THE HO_TEN DIA_CHI DIEN_THOAI
TTV001 Bùi Xuân Trường Hà Nội
TTV002 Nguyễn Quang Trung Hồ Chí Minh
TTV003 Nguyễn Thị Hội Huế
TTV004 Phan Đa Phúc Hà Nội
TTV005 Hàn Minh Phương Đà Nẵng

Thêm các bộ giá trị sau vào bảng MUON


SO_THE MA_SACH NGAY_MUON NGAY_TRA
TTV001 KH001 5/4/2008
TTV002 KH001 4/3/2008
TTV003 KH002 5/5/2008 7/5/2008
TTV004 KH001 5/4/2008

2.5. Sao lưu và phục hồi CSDL vừa mới tạo

3
BÀI THỰC HÀNH MySQL

BÀI THỰC HÀNH SỐ 2


Chủ đề: - Câu lệnh select đơn giản

 Lưu ý: - Sinh viên phải chuẩn bị bài trước buổi thực hành, nếu không sẽ không được
phép vào phòng máy.
- Giáo viên hướng dẫn sinh viên những nội dung cần thiết trước buổi thực hành.

1. Lý thuyết
 Cú pháp câu lệnh Select đơn giản
SELECT [ALL | DISTINCT] <*|danh_sách_các trường cần hiển
thị>
[INTO tên_bảng_mới]
FROM <danh_sách_bảng/khung_nhìn>
[WHERE điều_kiện_lọc dữ_liệu]
[ORDER BY < DS các trường cần sắp xếp> [ASC|DESC]]
[LIMIT n];

2. Thực hành
2.1. Bài thực hành
Sử dụng CSDL QuanLyThuVien đã tạo ở bài thực hành số 1 để thực hiện các công việc sau:
a. Đưa ra danh sách các đầu sách có trong thư viện. Mỗi đầu sách có những thông tin (Tên
sách, Tác giả, Nhà xuất bản). Danh sách được sắp xếp theo tên sách.
b. Lấy ra tất cả các quyển sách có tên có chứa từ là ‘Thế giới’.
c. Hiển thị các quyển sách được xuất bản tại Hà Nội.
d. Lấy ra danh sách các độc giả có mượn sách mà chưa trả.
e. Lấy ra các độc giả tới mượn sách trong tháng 4/2008.
f. Lấy ra các quyển sách của tác giả TG001.
g. Lấy ra các tác giả có tuổi dưới 35 và giới tính là nữ.
h. Hiển thị các độc giả tới mượn sách với các thông tin: mã độc giả, tên độc giả, địa chỉ, số
điện thoại, mã sách, tên sách, Nhà xuất bản, tác giả. Danh sách được sắp xếp theo tên
độc giả.
i. Hiển thị các tác giả có họ là Nguyễn.
j. Hiển thị 2 tác giả đầu tiên. Danh sách gồm có mã tác giả, tên tác giả, ngày sinh. Danh
sách được sắp xếp tăng dần theo tên và giảm dần theo ngày sinh.

2.2. Các đoạn mã lệnh của phần bài tập bắt buộc (SV phải chuẩn bị trước ở nhà)

...........................................................................................................................................................
...........................................................................................................................................................

4
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
5
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
2.3. Các kết quả đạt được của bài tập sau buổi thực hành
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
6
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
7
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
3. Đánh giá và nhận xét của giáo viên
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

Huế, ngày … tháng … năm 20…


Giáo viên

8
BÀI THỰC HÀNH MySQL

BÀI THỰC HÀNH SỐ 3


Chủ đề: - Câu lệnh Select đầy đủ (Group by, Having)

 Lưu ý: - Sinh viên phải chuẩn bị bài trước buổi thực hành, nếu không sẽ không được
phép vào phòng máy.
- Giáo viên hướng dẫn sinh viên những nội dung cần thiết trước buổi thực hành.

1. Lý thuyết
 Cú pháp câu lệnh Select đầy đủ
SELECT [ALL | DISTINCT] <*|danh_sách_các trường cần hiển
thị>
[INTO tên_bảng_mới]
FROM <danh_sách_bảng/khung_nhìn>
[WHERE điều_kiện_lọc dữ_liệu]
[GROUP BY danh_sách_cột_cần_gộp_nhóm]
[HAVING điều_kiện_lọc_dữ_liệu_khi sử dụng hàm gộp]
[ORDER BY < DS các trường cần sắp xếp> [ASC|DESC]]
[LIMIT n];

 Lưu ý:
- Các hàm gộp thường dùng: sum(), count(), avg(), max(), min()
- group by: được dùng khi muốn gom nhóm dữ liệu thành từng nhóm nhỏ rồi tính
toán (sử dụng hàm gộp) trên từng nhóm dữ liệu đó.
- Having: được dùng khi điều kiện lọc dữ liệu có sử dụng hàm gộp.
2. Thực hành
2.1. Bài thực hành
Có một siêu thị điện máy chuyên bán các mặt hàng như Máy giặt, tủ lạnh, bếp điện,…
Để quản lý bán hàng trong siêu thị này người ta đã thiết kế ra một CSDL như sau

9
BÀI THỰC HÀNH MySQL

- Bảng Customer lưu danh sách những khách hàng đã đến cửa hàng gồm cả những người
có mua hàng và cả những người không mua hàng.
- Mỗi khách hàng khi mua hàng thi siêu thị sẽ viết một hóa đơn mua hàng gồm các thông
tin mã khách(cID), số hóa đơn(oID), ngày mua(oDate), danh sách tên các sản phẩm được
mua, số lượng mỗi loại, giá tiền của sản phẩm. tất cả các thông tin trên được lưu trong 3
bảng Order, Orderdetail và Product.
- Mỗi khách hàng có thể mua hàng nhiều lần, nên có thể có nhiều hóa đơn cho mỗi khách.
- Mỗi hóa đơn có thể có nhiều mặt hàng
- Mỗi mặt hàng trong hóa đơn có thể được mua với số lượng nhiều hơn 1 cái.
Chú ý dữ liệu có thể được nhập thêm tùy ý.
 Hãy Tạo một CSDL đặt tên là ‘QLBH’ + <tên máy(tên Lab)>............................
 Hãy tạo 4 bảng và chèn dữ liệu như hình dưới đây: .............................................
Customer (Lưu danh sách các khách hàng)
cID (int primary cName (VarChar (25)) cAge (tinyint)
key)
1 Minh Quan 10
2 Ngoc Oanh 20
3 Hong Ha 50
Order (Lưu các hóa đơn)
oID (int primary cID (int foregin key oDate oTotalPrice (int)
key) tham chiếu tới cID của (Datetime) Tổng tiền của
Customer) (Ngày mua) hóa đơn
1 1 3/21/2006 Null
2 2 3/23/2006 Null
3 3 3/16/2006 Null
Product (Lưu danh sách tên và giá các sản phẩm có tại cửa hàng)

10
BÀI THỰC HÀNH MySQL

pID (int primary key) pName (varchar(25)) pPrice (int)


1 May Giat 3
2 Tu Lanh 5
3 Dieu Hoa 7
4 Quat 1
5 Bep Dien 2
OrderDetail (Lưu chi tiết của hóa đơn, gồm tên sản phẩm và số lượng)
oID (int foreign key pID (int foreign key odQTY (int)
tham chiếu tới oID của tham chiếu tới pID của (Số lượng)
Order) Product)
1 1 3
1 3 7
1 4 2
2 1 1
3 1 8
2 5 4
2 3 3

 Hãy thực hiện các truy vấn sau:nhuwng thang ngay binhyeen
a. Hiển thị 2 hóa đơn đầu tiên có giá cao nhất trong tháng 3 năm 2006
b. Hiển thị các thông tin gồm oID, oDate, oPrice của tất cả các hóa đơn trong bảng
Order, danh sách phải sắp xếp theo thứ tự ngày tháng, hóa đơn mới hơn nằm trên
như hình sau:..............................................................................................................................

c. Hiển thị danh sách các khách hàng đã mua hàng, và danh sách sản phẩm được
mua bởi các khách đó như sau:.............................................................................................

d. Hiển thị các hóa đơn được lập trong tháng 3 năm 2006

11
BÀI THỰC HÀNH MySQL

e. Hiển thị doanh thu của mỗi tháng trong năm 2006
f. Mỗi khách hàng đã đến mua bao nhiêu lần.
g. Mỗi khách hàng đã mua hàng bao nhiêu tiền trong năm 2006.
h. Hiển thị chi tiết của từng hóa đơnnhư sau :......................................................................

i. Hiển thị mã hóa đơn, ngày bán và giá tiền của từng hóa đơn (giá một hóa đơn được tính
bằng tổng giá bán của từng loại mặt hàng xuất hiện trong hóa đơn. Giá bán của từng
loại được tính = odQTY*pPrice) như sau:..............................................................................

j. Hiển thị những hóa đơn có tổng thành tiền trên 30.
k. HIển thị những khách hàng đã mua hàng trên 3 lần.
l. Lấy ra ds các khách hàng đã tới mua hàng trong năm 2006
m. Ds đc sap xep tăng dần theo tên. giảm dần theo tuổi.
n. Lấy ra các mặt hàng có chứa từ máy
o. Lấy ra các mặt hàng gần hết trong kho (số lượng nhỏ nhất)
p. Lấy ra các hoá đơn được lập trước ngày 23-3-2006
q. Lấy ra ds các khách hàng đã tới mua hàng mà tuổi nhỏ hơn 30

2.3. Các đoạn mã lệnh của phần bài tập bắt buộc (SV phải chuẩn bị trước ở nhà)
haihi

...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
12
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
13
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
14
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
15
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................

2.4. Các kết quả đạt được của bài tập sau buổi thực hành
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
16
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

3. Đánh giá và nhận xét của giáo viên


...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

Huế, ngày … tháng … năm 20…


Giáo viên

17
BÀI THỰC HÀNH MySQL

BÀI THỰC HÀNH SỐ 4


Chủ đề: - Câu lệnh Select đầy đủ
- Truy vấn con
- Union

 Lưu ý: - Sinh viên phải chuẩn bị bài trước buổi thực hành, nếu không sẽ không được
phép vào phòng máy.
- Giáo viên hướng dẫn sinh viên những nội dung cần thiết trước buổi thực hành.

1. Lý thuyết
 Cú pháp câu lệnh Select đầy đủ
SELECT [ALL | DISTINC T] <*|danh_sách_các trường cần
hiển thị>
[INTO tên_bảng_mới]
FROM <danh_sách_bảng/khung_nhìn>
[WHERE điều_kiện_lọc dữ_liệu]
[GROUP BY danh_sách_cột_cần_gộp_nhóm]
[HAVING điều_kiện_lọc_dữ_liệu_khi sử dụng hàm gộp]
[ORDER BY < DS các trường cần sắp xếp> [ASC|DESC]]
[LIMIT n];
 Lưu ý:
- Các hàm gộp thường dùng: sum(), count(), avg(), max(), min()
- group by: được dùng khi muốn gom nhóm dữ liệu thành từng nhóm nhỏ rồi tính
toán (sử dụng hàm gộp) trên từng nhóm dữ liệu đó.
- Having: được dùng khi điều kiện lọc dữ liệu có sử dụng hàm gộp.
- Truy vấn con là một câu lệnh SELECT được lồng vào bên trong một câu lệnh
SELECT, INSERT, UPDATE, DELETE hoặc bên trong một truy vấn con khác. Loại truy
vấn này được sử dụng để biểu diễn cho những truy vấn trong đó điều kiện truy vấn dữ liệu
cần phải sử dụng đến kết quả của một truy vấn khác.
- Phép hợp được sử dụng trong trường hợp ta cần gộp kết quả của hai hay nhiều
truy vấn thành một tập kết quả duy nhất. SQL cung cấp toán tử UNION để thực hiện
phép hợp. Cú pháp như sau:
Câu_lệnh_1
UNION [ALL] Câu_lệnh_2
[UNION [ALL] Câu_lệnh_3]
...
[UNION [ALL] Câu_lệnh_n]
[ORDER BY cột_sắp_xếp]
[COMPUTE danh_sách_hàm_gộp [BY danh_sách_cột]]
Trong đó
18
BÀI THỰC HÀNH MySQL

Câu_lệnh_1 có dạng
SELECT danh_sách_cột
[INTO tên_bảng_mới]
[FROM danh_sách_bảng|khung_nhìn]
[WHERE điều_kiện]
[GROUP BY danh_sách_cột]
[HAVING điều_kiện]
và Câu_lệnh_i (i = 2,..,n) có dạng
SELECT danh_sách_cột
[FROM danh_sách_bảng|khung_nhìn]
[WHERE điều_kiện]
[GROUP BY danh_sách_cột]
[HAVING điều_kiện]
Khi sử dụng toán tử UNION để thực hiện phép hợp, ta cần chú ý các nguyên tắc sau:
• Danh sách cột trong các truy vấn thành phần phải có cùng số lượng.
• Các cột tương ứng trong tất cả các bảng, hoặc tập con bất kỳ các cột được sử
dụng trong bản thân mỗi truy vấn thành phần phải cùng kiểu dữ liệu.
• Các cột tương ứng trong bản thân từng truy vấn thành phần của một câu lệnh
UNION phải xuất hiện theo thứ tự như nhau. Nguyên nhân là do phép hợp so
sánh các cột từng cột một theo thứ tự được cho trong mỗi truy vấn.
• Khi các kiểu dữ liệu khác nhau được kết hợp với nhau trong câu lệnh
UNION, chúng sẽ được chuyển sang kiểu dữ liệu cao hơn (nếu có thể được).
• Tiêu đề cột trong kết quả của phép hợp sẽ là tiêu đề cột được chỉ định trong
truy vấn đầu tiên.
• Truy vấn thành phần đầu tiên có thể có INTO để tạo mới một bảng từ kết
quả của chính phép hợp.
• Mệnh đề ORDER BY dùng để sắp xếp kết quả truy vấn hoặc tính toán các giá
trị thống kê chỉ được sử dụng ở cuối câu lệnh UNION. Chúng không được sử
dụng ở trong bất kỳ truy vấn thành phần nào.
• Mệnh đề GROUP BY và HAVING chỉ có thể được sử dụng trong bản thân
từng truy vấn thành phần. Chúng không được phép sử dụng để tác động lên kết
quả chung của phép hợp.
• Phép toán UNION có thể được sử dụng bên trong câu lệnh INSERT.
2. Thực hành
2.1. Bài thực hành

19
BÀI THỰC HÀNH MySQL

- Tạo CSDL có tên là QuanLySinhVien gồm có các bảng sau:

- Nhập dữ liệu cho các bảng:


Students
StudentID StudentName Age Email
1 Nguyen Quang An 18 an@yahoo.com
2 Nguyen Cong Vinh 20 vinh@gmail.com
3 Nguyen Van Quyen 19 Quyen
4 Pham Thanh Binh 25 binh@com
5 Nguyen Van Tai Em 30 taiem@sport.vn
Classes
ClassID ClassName
1 C0706L
2 C0708G
ClassStudent
ClassID StudentID
1 1
1 2
20
BÀI THỰC HÀNH MySQL

2 3
2 4
2 5

Subjects
SubjectID SubjectName
1 SQL
2 Java
3 C
4 Visual Basic
Marks
SubjectID StudentID Mark
1 1 8
2 1 4
1 1 9
1 3 7
1 4 3
2 5 5
3 3 8
3 5 1
2 4 3

- Thực hiện các truy vấn sau:


a. Hien thi danh sach nhung hoc vien nao co dia chi email chinh xac
b. Hien thi danh sach nhung hoc vien nao co Ho la Nguyen (danh sach phai sap xep theo
ten hoc vien)
c. Hien thi danh sach cac ban hoc vien cua lop C0706L
d. Hiển thị có bao nhiêu học viên đạt điểm 8 môn SQL
e. Hien danh sach va diem cua hoc vien ung voi cac mon hoc
f. Hien thi danh sach hoc vien chua thi mon nao (chua co diem)
g. Hien thi mon hoc chua duoc hoc vien nao thi
h. Lấy ra nữa ds hiện có
i. Tinh diem trung binh cho cac hoc vien
j. Hien thi mon hoc nao co hoc sinh thi duoc diem cao nhat
k. Hien thi mon hoc nao co nhieu diem duoi diem trung binh nhat ( <5)
Mỗi môn học có bao nhiêu sinh viên đăng ký học.
l. Hiển thị danh sách các học viên ứng với số lần thi của học viên đó. Nếu học viên nào
chưa thi lần nào thì ghi là 0.
m. Hiển thị các học viên có điểm trung bình các môn học trên 7.
n. Hiển thị các học viên có điểm trung bình chung là cao nhất.
o. Hiển thị các môn học mà có số sinh viên đăng ký học nhiều nhất.

2.2. Các đoạn mã lệnh của phần bài tập bắt buộc (SV phải chuẩn bị trước ở nhà)

21
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
22
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
23
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
2.3. Các kết quả đạt được của bài tập sau buổi thực hành
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
24
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
25
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

3. Đánh giá và nhận xét của giáo viên


...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

Huế, ngày … tháng … năm 20…


Giáo viên

26
BÀI THỰC HÀNH MySQL

BÀI THỰC HÀNH SỐ 5


Chủ đề: - Câu lệnh Select đầy đủ
- Câu lệnh Insert, Update, Delete

 Lưu ý: - Sinh viên phải chuẩn bị bài trước buổi thực hành, nếu không sẽ không được
phép vào phòng máy.
- Giáo viên hướng dẫn sinh viên những nội dung cần thiết trước buổi thực hành.

1. Lý thuyết
 Cú pháp câu lệnh Select đầy đủ
SELECT [ALL | DISTINCT] <*|danh_sách_các trường cần hiển
thị>
[INTO tên_bảng_mới]
FROM <danh_sách_bảng/khung_nhìn>
[WHERE điều_kiện_lọc dữ_liệu]
[GROUP BY danh_sách_cột_cần_gộp_nhóm]
[HAVING điều_kiện_lọc_dữ_liệu_khi sử dụng hàm gộp]
[ORDER BY < DS các trường cần sắp xếp> [ASC|DESC]]
[limit n]
 Cú pháp câu lệnh Insert đầy đủ
- Bổ sung từng dòng dữ liệu
INSERT INTO tên_bảng[(danh_sách_cột)]
VALUES(danh_sách_trị)
- Bổ sung nhiều dòng dữ liệu
INSERT INTO tên_bảng[(danh_sách_cột)]
câu_lệnh_SELECT
 Cú pháp câu lệnh Update đầy đủ
UPDATE tên_bảng
SET tên_cột = biểu_thức
[, ..., tên_cột_k = biểu_thức_k]
[FROM danh_sách_bảng]
[WHERE điều_kiện]
 Cú pháp câu lệnh Delete đầy đủ
DELETE FROM tên_bảng
[FROM danh_sách_bảng]
[WHERE điều_kiện]

2. Thực hành
2.1. Bài thực hành
Cho một CSDL như hình dưới

27
BÀI THỰC HÀNH MySQL

Int(4)
Bảng Test lưu danh sách các môn học. Bảng Student lưu danh sách các học viên. Bảng
StudentTest lưu danh sách điểm thi và ngày thi của mỗi học viên với môn thi.
Một học viên chưa thi môn nào nếu như mã học viên (rn) không xuất hiện trong bảng
StudentTest. Một môn học chưa có ai thi nếu mã môn học (TestID) không xuất hiện trong
bảng StudentTest.
Chú ý dữ liệu có thể được nhập thêm tùy ý.
- Hãy Tạo một CSDL đặt tên là ‘StudentTest’ + <tên máy(tên Lab)>.
- Tạo 3 bảng và chèn dữ liệu như hình dưới đây:
Student (Lưu danh sách các học viên gồm mã học viên(RN), tên(Name), tuổi(Age))
RN (int primary key) Name (VarChar (20)) Age (tinyint)
1 Nguyen Hong Ha 20
2 Truong Ngoc Anh 30
3 Tuan Minh 25
4 Dan Truong 22
Test (Lưu danh sách môn học gồm mã môn học (TestID, tên môn học(Name))
TestID (int primary key) Name (Varchar(20))
1 EPC
2 DWMX
3 SQL1
4 SQL2
StudentTest (Lưu điểm thi của học viên với từng môn thi, gồm mã học viên (RN), mã môn
học (TestID), ngày thi(Date), điểm thi(Mark))
RN (int foreign key TestID (int foreign key Date Mark
tham chiếu tới RN của tham chiếu tới TestID của (Datetime) (Float)
Student) Test)
1 1 7/17/2006 8
1 2 7/18/2006 5
1 3 7/19/2006 7
2 1 7/17/2006 7
2 2 7/18/2006 4
2 3 7/19/2006 2
3 1 7/17/2006 10
3 3 7/18/2006 1
- Hãy tạo các truy vấn sau:
a. Đưa ra tuổi trung bình của các học viên
b. Tính xem mỗi học viên đã thi được bao nhiêu ngày rồi
28
BÀI THỰC HÀNH MySQL

c. Đưa ra điểm của học viên dưới dạng 4 chữ số, 2 chữ số sau dấu phẩy
d. Hiển thị danh sách các học viên đã tham gia thi, các môn thi được thi bởi các học viên đó,
điểm thi và ngày thi giống như hình sau:........................................................................................

e. Hiển thị danh sách các bạn học viên chưa thi môn nào như hình sau:.....................................

f. Hiển thị danh sách học viên và điểm trung bình(Average) của các môn đã thi. Danh sách
phải sắp xếp theo thứ tự điểm trung bình giảm dần(nếu không sắp xếp thì chỉ được ½ số
điểm) như sau:........................................................................................................................................

g. Hiển thị tên và điểm trung bình của học viên có điểm trung bình lớn nhất như sau:...........

h. Hiển thị điểm thi cao nhất của từng môn học. Danh sách phải được sắp xếp theo tên môn
học như sau:............................................................................................................................................

i. Hiển thị danh sách tất cả các học viên và môn học mà các học viên đó đã thi nếu học viên
chưa thi môn nào thì phần tên môn học để Null như sau:...........................................................

29
BÀI THỰC HÀNH MySQL

j. Hiển thị danh sách sinh viên và số môn mà họ bị thi lại. Nếu học viên nào không bị thi lại
môn nào thì cột số môn ghi là 0.
k. Hãy viết câu lệnh dùng đểm thêm mới 1 học viên.
l. Hãy xóa học viên vừa mới thêm vào.
m. Sửa (Update) tuổi của tất cả các học viên mỗi người lên một tuổi...........................................
n. Thêm trường tên là Status có kiểu Varchar(10) vào bảng Student. Hãy cập nhật(Update)
trường Status sao cho những học viên nhỏ hơn 30 tuổi sẽ nhận giá trị ‘Young’, trường hợp
còn lại nhận giá trị ‘Old’ sau đó hiển thị toàn bộ nội dung bảng Student lên như sau:

2.2. Các đoạn mã lệnh của phần bài tập bắt buộc (SV phải chuẩn bị trước ở nhà)
Hello cac ban
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
30
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
31
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
32
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
2.4. Các kết quả đạt được của bài tập sau buổi thực hành
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
33
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
3. Đánh giá và nhận xét của giáo viên
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

Huế, ngày … tháng … năm 20…


Giáo viên

34
BÀI THỰC HÀNH MySQL

BÀI THỰC HÀNH SỐ 6


Chủ đề: - Thủ tục

 Lưu ý: - Sinh viên phải chuẩn bị bài trước buổi thực hành, nếu không sẽ không được
phép vào phòng máy.
- Giáo viên hướng dẫn sinh viên những nội dung cần thiết trước buổi thực hành.
1. Lý thuyết
 Cú pháp tạo:
Delimiter $$
CREATE PROCEDURE tên_thủ_tục
( [danh_sách_tham_số] )
begin
Các_câu_lệnh_của_thủ_tục;
End;$$
DELIMITER ;
Trong đó:

tên_thủ_tục Tên của thủ tục cần tạo. Tên phải tuân theo qui tắc
định danh và không được vượt quá 128 ký tự.
danh_sách_tham_số Các tham số của thủ tục được khai báo ngay sau tên
thủ tục và nếu thủ tục có nhiều tham số thì các khai
báo phân cách nhau bởi dấu phẩy. Khai báo của
mỗi một tham số tối thiểu phải bao gồm hai phần:
• tên tham số
• kiểu dữ liệu của tham số
Ví dụ: mamonhoc nvarchar(10)
các_câu_lệnh_của_thủ_tụcTập hợp các câu lệnh sử dụng trong nội dung thủ tục.
Các câu lệnh này có thể đặt trong cặp từ khoá
BEGIN...END hoặc có thể không.
 Cú pháp xóa thủ tục:
DROP PROCEDURE < tên_thủ_tục >
 Lời gọi thủ tục:
Call tên_thủ_tục [danh_sách_các_đối_số]

2. Thực hành
2.1. Bài thực hành
Sử dụng CSDL Quản lý bán hàng đã tạo ở bài thực hành số 3

35
BÀI THỰC HÀNH MySQL

, hãy viết các thủ tục sau:


a. Viết thủ tục dùng để hiển thị các thông tin gồm oID, oDate, oPrice của tất cả các hóa đơn
trong bảng Order, danh sách phải sắp xếp theo thứ tự ngày tháng, hóa đơn mới hơn nằm
trên như hình sau:

b. Viết thủ tục dùng để hiển thị danh sách các khách hàng đã mua hàng, và danh sách sản
phẩm được mua bởi các khách đó như sau:

c. Viết thủ tục dùng để hiển thị tên những khách hàng không mua bất kỳ một sản phẩm nào
như sau:

d. Viết thủ tục dùng để hiển thị các mặt hàng chưa được mua lần nào.

36
BÀI THỰC HÀNH MySQL

e. Viết thủ tục với tham số truyền vào là tháng, năm. Thủ tục dùng để hiển thị các hóa đơn
được lập và số tiền bán được trong tháng, năm truyền vào.
f. Viết thủ tục với tham số truyền vào là năm. Thủ tục dùng để hiển thị doanh thu của mỗi
tháng trong năm truyền vào
g. Viết thủ tục dùng để thêm mới một sản phẩm. Với các thông tin về sản phẩm mới là tham
số truyền vào
h. Viết thủ tục dùng để cập nhật một sản phẩm. Với các thông tin về sản phẩm cập nhật là
tham số truyền vào
i. Viết thủ tục dùng để xóa một sản phẩm với mã sản phẩm là tham số truyền vào.
j. Viết thủ tục dùng để hiển thị các khách hàng đã đến mua bao nhiêu lần.
k. Viết thủ tục dùng để hiển thị chi tiết của từng hóa đơn như sau :

l. Viết thủ tục dùng để hiển thị mã hóa đơn, ngày bán và giá tiền của từng hóa đơn (giá một
hóa đơn được tính bằng tổng giá bán của từng loại mặt hàng xuất hiện trong hóa đơn. Giá
bán của từng loại được tính = odQTY*pPrice) như sau:

m. Viết thủ tục dùng để hiển thị tên và giá của các sản phẩm có giá cao nhất như sau:

n. Viết thủ tục với tham số truyền vào là số tiền. Thủ tục dùng để hiển thị những hóa đơn có
tổng thành tiền trên số tiền truyền vào.
o. Viết thủ tục dùng để hiển thị những hóa đơn có tổng thành tiền là cao nhất.
p. Viết thủ tục dùng để hiển thị ra các khách hàng tới mua hàng với số lần họ đã tới mua
hàng. Nếu khách hàng nào chưa mua hàng lần nào thì số lần họ tới mua là 0.
q. Tạo một stored procedure tên là delProduct nhận vào 1 tham số là tên của một sản phẩm,
strored procedure này sẽ xóa sản phẩm có tên được truyên vào thông qua tham số, và các
thông tin liên quan đến sản phẩm đó ở trong bảng OrderDetail

2.2. Các đoạn mã lệnh của phần bài tập bắt buộc (SV phải chuẩn bị trước ở nhà)
...........................................................................................................................................................
37
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

Viết thủ tục lấy ra danh sách các sinh viên theo giới tính là nữ và theo tuổi

Thống kê mỗi lớp có bao nhiêu sinh viên của khoa muốn xem (với tên khoa là tham số truyền
vào)
Viết thủ tục dùng đẻ thêm mới của sinh viên với các tham số là thông tin của sinh viên
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

38
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
39
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
2.4. Các kết quả đạt được của bài tập sau buổi thực hành
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
40
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
3. Đánh giá và nhận xét của giáo viên
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

Huế, ngày … tháng … năm 20…


Giáo viên

41
BÀI THỰC HÀNH MySQL

BÀI THỰC HÀNH SỐ 7


Chủ đề: - Thủ tục

 Lưu ý: - Sinh viên phải chuẩn bị bài trước buổi thực hành, nếu không sẽ không được
phép vào phòng máy.
- Giáo viên hướng dẫn sinh viên những nội dung cần thiết trước buổi thực hành.

1. Lý thuyết: Xem bài thực hành số 6


2. Thực hành
2.1. Bài thực hành
Tạo CSDL có tên QuanLyGiaoVien với các bảng sau:
Bảng Bomon

Bảng Giang vien Bảng Monhoc

Bảng Dean Bảng Day

Sơ đồ quan hệ được thiết lập như sau :

42
BÀI THỰC HÀNH MySQL

Sau đó viết câu lệnh SQL để thực hiện các thủ tục sau:
a. Viết thủ tục với tham số truyền vào là mã giảng viên $magv, haừy cho biết danh sách
các môn học (tenmh) mà giảng viên này đã giảng dạy.
b. Viết thủ tục với tham số truyền vào là mã môn học $mamh , hãy cho biết họ tên các
giảng viên giảng dạy môn học này.
c. Viết thủ tục lấy ra tên giảng viên và tổng số đề án mà họ tham gia.
d. Viết thủ tục lấy ra tên bộ môn và tổng số môn học mà bộ môn này quản lý.
e. Viết thủ tục dùng để thống kê mỗi giáo viên dạy bao nhiêu môn.
f. Viết thủ tục với tham số truyền vào là tên giảng viên, hãy cho biết các giảng viên
có họ tên tương tự với tên truyền vào này.
g. Viết thủ tục lấy ra tên của các giảng viên không tham gia bất cứ một đề án nào.
h. Viết thủ tục với tham số truyền vào là số A, hãy cho biết danh sách các giảng viên dạy
có số môn trên số A truyền vào này.
i. Viết thủ tục dùng để lấy danh sách các giảng viên dạy nhiều môn nhất.
j. Viết thủ tục với tham số truyền vào mã môn học $mamh , hãy cho biết họ tên các
giảng viên giảng dạy môn học này, mà các giảng viên này không cùng bộ môn với
môn học.
k. Viết thủ tục để lập danh sách các giảng viên với số đề án họ tham gia. Nếu giáo viên
nào chưa tham gia đề án nào thỡ ghi số đề án của họ bằng 0.
l. Viết thủ tục để cho biết có bao nhiêu giảng viên dạy ít nhất 2 môn học.
m. Viết thủ tục dùng để thêm mới 1 một giáo viên. Với các thông tin của giáo viên cần
thêm là tham số truyền vào.
n. Viết thủ tục dùng để cập nhật 1 một giáo viên. Với các thông tin của giáo viên cần cập
nhật là tham số truyền vào.
o. Viết thủ tục dùng để xóa một giáo viên. Với mã giáo viên cần xóa là tham số truyền
vào.

2.2. Các đoạn mã lệnh của phần bài tập bắt buộc (SV phải chuẩn bị trước ở nhà)
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
43
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
44
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

2.4. Các kết quả đạt được của bài tập sau buổi thực hành
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
45
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
46
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
3. Đánh giá và nhận xét của giáo viên
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

Huế, ngày … tháng … năm 20…


Giáo viên

47
BÀI THỰC HÀNH MySQL

BÀI THỰC HÀNH SỐ 8


Chủ đề: - Hàm

 Lưu ý: - Sinh viên phải chuẩn bị bài trước buổi thực hành, nếu không sẽ không được
phép vào phòng máy.
- Giáo viên hướng dẫn sinh viên những nội dung cần thiết trước buổi thực hành.
1. Lý thuyết
 Cú pháp tạo/sửa hàm trả về 1 giá trị:
Delimiter $$
CREATE/ALTER FUNCTION tên_hàm([danh_sách_tham_số])
RETURNS <kiểu dữ liệu trả về>
Deterministic
BEGIN
Return (câu_lệnh_Select trả về 1 giá trị);
END;

Trong đó:
tên_hàm Tên của hàm cần tạo. Tên phải tuân theo qui tắc định
danh và không được vượt quá 128 ký tự.
danh_sách_tham_số Các tham số của hàm được khai báo ngay sau tên hàm
và nếu hàm có nhiều tham số thì các khai báo phân
cách nhau bởi dấu phẩy. Khai báo của mỗi một
tham số tối thiểu phải bao gồm hai phần:
• tên tham số được bắt đầu bởi dấu @.
• kiểu dữ liệu của tham số
Ví dụ: mamonhoc nvarchar(10)
 Cú pháp xóa hàm:
DROP FUNCTION < tên_Hàm >
 Lời gọi hàm:
- Hàm trả về một giá trị:
Select tên_hàm( [danh_sách_các_đối_số])

2. Thực hành
2.1. Bài thực hành
Sử dụng CSDL Quản lý Sinh Viên đã tạo ở bài thực hành số 4,

48
BÀI THỰC HÀNH MySQL

hãy viết các hàm sau:


a. Viết hàm dùng để lấy ra danh sách các học viên.
b. Viết hàm với tham số truyền vào là Họ, hàm dùng để lấy danh sách các học viên có họ
giống với họ truyền vào.
c. Viết hàm với tham số truyền vào là mã môn học, hàm dùng để lấy ra số học viên đăng
ký học môn học này.
d. Viết hàm hiển thị danh sách và điểm của các học viên ứng với các môn học.
e. Viết hàm lấy ra số học viên hiện có.
f. Viết hàm với tham số truyền vào là tuổi 1 đến tuổi 2, hàm dùng để lấy ra danh sách các
học viên có độ tuổi từ tuổi 1 đến tuổi 2.
g. Viết hàm tính điểm trung bình của các học viên
h. Viết hàm lấy ra điểm trung bình lớn nhất của các học viên
i. Viết hàm hiển thị danh sách các học viên chưa thi môn nào.
j. Viết hàm với tham số truyền vào là điểm trung bình, hàm dùng để lấy ra danh sách các
học viên có điểm trung bình lớn hơn điểm trung bình truyền vào.
k. Viết hàm lấy ra các môn học không có sinh viên nào đăng ký học
l. Viết hàm lấy ra những sinh viên có điểm trung bình cao nhất.
m. Viết hàm dùng để thống kê mỗi môn học có bao nhiêu học viên đăng kí thi.
n. Viết hàm với tham số truyền vào là SoSV, hãy lấy ra danh sách các môn học có số học
viên đăng ký thi là nhỏ hơn SoSV truyền vào.
o. Viết hàm để lấy ra danh sách học viên cùng với điểm trung bình của các học viên. Nếu
học viên nào chưa có điểm thì ghi 0.
2.2. Các đoạn mã lệnh của phần bài tập bắt buộc (SV phải chuẩn bị trước ở nhà)
...........................................................................................................................................................
...........................................................................................................................................................
49
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
50
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
51
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

2.4. Các kết quả đạt được của bài tập sau buổi thực hành
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
52
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
53
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

3. Đánh giá và nhận xét của giáo viên


...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

Huế, ngày … tháng … năm 20…


Giáo viên

54
BÀI THỰC HÀNH MySQL

BÀI THỰC HÀNH SỐ 9


Chủ đề: - Thủ tục, Hàm, Trigger

 Lưu ý: - Sinh viên phải chuẩn bị bài trước buổi thực hành, nếu không sẽ không được
phép vào phòng máy.
- Giáo viên hướng dẫn sinh viên những nội dung cần thiết trước buổi thực hành.
1. Lý thuyết
Mỗi một trigger được tạo ra và gắn liền với một bảng nào đó trong cơ sở dữ
liệu. Khi dữ liệu trong bảng bị thay đổi (tức là khi bảng chịu tác động của các câu lệnh
INSERT, UPDATE hay DELETE) thì trigger sẽ được tự đông kích hoạt.
Một trigger là một đối tượng gắn liền với một bảng và được tự động kích hoạt khi
xảy ra những giao tác làm thay đổi dữ liệu trong bảng. Định nghĩa một trigger bao gồm các
yếu tố sau:
• Trigger sẽ được áp dụng đối với bảng nào?
• Trigger được kích hoạt khi câu lệnh nào được thực thi trên bảng: INSERT,
UPDATE, DELETE?
• Trigger sẽ làm gì khi được kích hoạt?
 Cú pháp tạo/sửa đổi trigger
CREATE/ALTER TRIGGER tên_trigger
ON tên_bảng
FOR {[INSERT][,][UPDATE][,][DELETE]}
AS
[BEGIN]
các_câu_lệnh_của_trigger
[END]

2. Thực hành
2.1. Bài thực hành
Cho cơ sở dữ liệu Quản lý Đội Bóng (QLDB) như sau:

55
BÀI THỰC HÀNH MySQL

Hãy thực hiện các công việc sau:


a. Viết thủ tục/hàm với tham số truyền vào là ngày A(dd/mm/yyyy), thủ tục/hàm dùng để
lấy danh sách các trận đấu diễn ra vào ngày ngày A, danh sách được sắp xếp theo
MaTD, Sân đấu.
b. Viết thủ tục/ hàm với tham số truyền vào là tên A, thủ tục/hàm dùng để lấy ra danh sách
các cầu thủ có tên tương tự với tên A truyền vào này.
c. Tạo thủ tục/hàm có tham số truyền vào là MaTD. Thủ tục/hàm này dùng để lấy danh
sách các cầu thủ đã thi đấu trong trận đấu đó. Danh sách gồm có MaCT, TenCT, SoTrai
d. Tạo thủ tục/hàm dùng để thống kê mỗi trọng tài đã điều khiển bao nhiêu trận đấu.
e. Tạo thủ tục/hàm với tham số truyền vào là ngay1(dd/mm/yyyy) và
ngay2(dd/mm/yyyy), thủ tục/hàm dùng để thống kê số trận đấu của các đội bóng (làm
chủ nhà) đã thi đấu trong các ngày từ ngay1 đến ngay2.
f. Viết thủ tục dùng để thêm mới 1 dòng dữ liệu vào bảng đội bóng, bảng cầu thủ, bảng
trận đấu, và bảng tham gia.
g. Viết thủ tục dùng để cập nhật dữ liệu của một cầu thủ, với mã cầu thủ là tham số truyền
vào.
h. Viết hàm với tham số truyền vào là năm, hàm dùng để lấy ra số trọng tài đã tham gia
điều khiển các trận đấu trong năm truyền vào.
i. Viết thủ tục vào tham số truyền vào là mã cầu thủ, thủ tục dùng để xóa cầu thủ này.
(Gợi ý: nếu cầu thủ này đã từng tham gia ít nhất một trận đấu thì phải xóa dữ liệu ở
bảng ThamGia trước rồi tiến hành xóa cầu thủ này)
j. Viết hàm với tham số truyền vào là macauthu, hàm dùng để lấy ra tổng bàn thắng của
cầu thủ này.
k. Viết một hàm trả về tổng bàn thắng mà mỗi cầu thủ ghi được trong tất cả các trận.
56
BÀI THỰC HÀNH MySQL

l. Viết thủ tục/hàm lấy danh sách các cầu thủ ghi nhiều bàn thắng nhất.
m. Viết thủ tục/hàm với tham số truyền vào số A, thủ tục/hàm dùng để lấy ra danh sách các
cầu thủ ghi số bàn thắng lớn hơn số A này.
n. Viết một thủ tục dùng để tạo ra một bảng mới có tên CauThu_BanThang, bảng này
chứa tổng số bàn thắng mà mỗi cầu thủ ghi được. Nếu cầu thủ nào chưa ghi bàn thắng
nào thì ghi số bàn thắng là 0.
o. Viết một trigger với tham số truyền vào là mã cầu thủ, trigger này dùng để cập nhật
tổng bàn thắng của cầu thủ ở bảng CauThu_BanThang mỗi khi có cập nhật hoặc thêm
mới số bàn thắng của cầu thủ ở bảng ThamGia.
2.2. Các đoạn mã lệnh của phần bài tập bắt buộc (SV phải chuẩn bị trước ở nhà)
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

57
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
58
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

2.4. Các kết quả đạt được của bài tập sau buổi thực hành
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
59
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
60
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

3. Đánh giá và nhận xét của giáo viên


...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

Huế, ngày … tháng … năm 20…


Giáo viên

61
BÀI THỰC HÀNH MySQL

BÀI THỰC HÀNH SỐ 10


Chủ đề: - Thủ tục, Hàm, Trigger

 Lưu ý: - Sinh viên phải chuẩn bị bài trước buổi thực hành, nếu không sẽ không được
phép vào phòng máy.
- Giáo viên hướng dẫn sinh viên những nội dung cần thiết trước buổi thực hành.

1. Lý thuyết
2. Thực hành
2.1. Bài thực hành
Cho CSDL Quản lý thư viện sau:

Hãy thực hiện các công việc sau:


a. Viết thủ tục/hàm dùng để lấy ra danh sách các quyển sách có trong thư viện.
b. Viết thủ tục/hàm với tham số truyền vào là ngày. Thủ tục/hàm dùng để lấy ra danh sách
các quyển sách được mượn cùng các độc giả mượn sách trong ngày truyền vào.
c. Viết thủ tục/hàm với tham số truyền vào là tên độc giả. Thủ tục/hàm dùng để lấy ra các
độc giả có tên tương tự với tên truyền vào.
d. Viết thủ tục/ hàm với tham số truyền vào là mã tác giả, thủ tục/hàm dùng để lấy ra danh
sách các quyển sách mà tác giả này sáng tác.
e. Viết thủ tục/hàm dùng để lấy ra danh sách các độc giả chưa trả sách.
62
BÀI THỰC HÀNH MySQL

f. Viết hàm dùng để lấy ra số các quyển sách có trong thư viện.
g. Viết hàm với tham số truyền vào là ngày(dd/mm/yyyy), hàm dùng để lấy xem có bao
nhiêu độc giả tới mượn sách trong ngày này.
h. Viết thủ tục dùng để thêm mới một độc giả. Với các thông tin độc giả là tham số truyền
vào
i. Viết thủ tục với tham số truyền vào là mã sách. Thủ tục dùng để xóa quyển sách này
trong thư viện.
j. Viết thủ tục dùng để cập nhật lại thông tin của tác giả. Với các thông tin muốn cập nhật
là tham số truyền vào.
k. Viết thủ tục/hàm với tham số truyền vào là tháng, năm. Thủ tục/hàm dùng để thống kê
mỗi ngày có bao nhiêu người tới mượn sách trong tháng, năm truyền vào
l. Viết thủ tục/hàm dùng để thống kê mỗi độc giả đã tới thư viện mượn bao nhiêu lần.
m. Viết thủ tục/hàm với tham số truyền vào là số lần mượn sách. Thủ tục/hàm dùng để lấy
ra danh sách các độc giả đã tới mượn sách có số lần lớn hơn tham số truyền vào.
n. Viết hàm dùng để ra số quyển sách có trong thư viện.
o. Viết thủ tục/hàm dùng để thống kê mỗi quyển sách trong thư viện được mượn bao
nhiêu lần. Nếu quyển sách nào chưa được mượn lần nào thì ghi số lần là 0.
p. Viết thủ tục/hàm với tham số truyền vào là năm. Thủ tục/hàm dùng để lấy ra các tác giả
không sáng tác một quyển sách nào trong năm truyền vào.

2.2. Các đoạn mã lệnh của phần bài tập bắt buộc (SV phải chuẩn bị trước ở nhà)
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
63
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
64
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

2.4. Các kết quả đạt được của bài tập sau buổi thực hành
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
65
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
66
BÀI THỰC HÀNH MySQL
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

3. Đánh giá và nhận xét của giáo viên


...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................

Huế, ngày … tháng … năm 20…


Giáo viên
67
BÀI THỰC HÀNH MySQL

68
BÀI THỰC HÀNH MySQL

BÀI TẬP LÀM THÊM


BÀI SỐ 1
Tạo CSDL sau
Lưu ý: Các trường in đậm, nghiêng và gạch chân là các khóa chính.
DMKHOA – DANH MỤC KHOA
Field DataType Length Allow Description
Name Null
MaKH Char 2  Mã khoa
TenKH NVarChar 50  Tên khoa
DMMH – DANH MỤC MÔN HỌC
Field DataType Length Allow Description
Name Null
MaMH Char 2  Mã môn học
TenMH NVarChar 50  Tên môn học
HeSo Int 4  Hệ số
DMSV – DANH MỤC SINH VIÊN
Field DataType Length Allow Description
Name Null
MaSV Char 3  Mã sinh vien
TenSV NVarChar 50  Tên sinh viên
Nam Bit 1  1 : Nam, 0 : Nữ
MaKH Char 2  Mã khoa
SoMonDK Int 4  Số môn đăng ký
DiemTB Float 8  Điểm trung bình
Ràng buộc: 0<= DiemTB <= 10
KETQUA – KẾT QUẢ
Field DataType Length Allow Description
Name Null
MaSV Char 3  Mã sinh vien
MaMH Char 2  Mã môn học
Diem Float 8  Điểm
Ràng buộc: 0<= Diem <= 10

69
BÀI THỰC HÀNH MySQL

Câu 2: Viết các câu truy vấn sau


1 Liệt kê tất cả các sinh viên, thông tin gồm tất cả các trường của bảng DMSV
2 Liệt kê tất cả các sinh viên, thông tin gồm mã sv, tên sv, giới tính. Tên sịnh viên yêu
cầu viết hoa, sắp xếp tên sinh viên theo thứ tự giảm dần trong bảng chữ cái. ( sử dụng
hàm UPPER và ORDER BY)
3 Liệt kê 2 sinh viên của khoa tin học: thông tin gồm: tên sv, giới tính. ( sử dụng TOP)
4 Liệt kê 1 nửa số sinh viên trong bảng DMSV, thông tin gồm tất cả các trường của
bảng sinh viên. (sử dụng TOP)
5 Liệt kê sinh viên theo từng khoa, thông tin gồm: tên khoa, tên sinh viên. ( ORDER
BY)
6 Liệt kê sinh viên và điểm của sinh viên thông tin gồm: tên khoa, tên sinh viên, tên
môn học, điểm ( GROUP BY ).
7 Liệt kê tổng số sinh viên của từng khoa, thông tin gồm: mã khoa, tên khoa, số sinh
viên (COUNT)
8 Liệt kê sinh viên có điểm cao nhất của môn Đồ hoạ, thông tin gồm: mã sinh viên, tên
sinh viên, điểm cao nhất (MAX).
9 Tính điểm trung bình của từng sinh viên. Thông tin gồm: mã sinh viên, tên sinh viên,
điểm trung bình của tất cả các môn (hàm AVG)
10 Liệt kê sinh viên có điểm thấp nhất của mỗi khoa. Thông tin gồm: mã khoa, tên
khoa, mã sinh viên, tên sinh viên, điểm thấp nhất (MIN)
11 Liệt kê 3 sinh viên có điểm tổng số điểm cao nhất ( TOP và SUM)

70
BÀI THỰC HÀNH MySQL

12 Liệt kê toàn bộ sinh viên và tổng số điếm của mỗi sinh viên, thông tin gồm: mã sinh
viên, tên sinh viên, tổng số điểm của từng sinh viên(SUM)
13 Đếm xem có bao nhiêu người đạt được điểm 8 của môn đồ hoạ
14 Thông kê có bao nhiêu sinh viên thi lại ở mỗi môn.
15 Tính điểm Trung bình của mỗi sinh viên.
16 Lấy ra những sinh viên có điểm trung bình cao nhất.

BÀI SỐ 2

Tạo CSDL Quản Lý Dự Án với các bảng sau:


Bảng Nhân Viên: lưu thông tin về nhân viên

Tên Trường Kiểu Kích Thước Giải Thích


MANV Int Mã nhân viên(khóa chính)
HO_TEN Nvarchar 50 Họ và tên
NG_SINH Datetime Ngày sinh
GIOI_TINH Char 10 Giới tính
MA_DV Char 10 Mã đơn vị(khóa ngoại)
LUONG Int Lương
Bảng Phòng lưu thông tin về Phòng được quản lý theo thành phố

Tên Trường Kiểu Kích Thước Giải Thích


MA_PHONG Char 10 Mã phòng(Khóa chính)
TEN_PHONG Nvarchar 50 Tên phòng
MA_TP Int Mã thành phố
Bảng Địa Điểm Phòng lưu thông tin vị trí phòng

Tên Trường Kiểu Kích Thước Giải Thích


MA_PHONG Char 10 Mã phòng(khóa ngoại)
DIA_DIEM Nvarchar 50 Địa điểm
Bảng Dự án lưu thông tin về các dự án theo phòng quản lý

Tên Trường Kiểu Kích Thước Giải Thích


MA_DA Char 10 Mã dự án(khóa chính)
TEN_DA Nvarchar 50 Tên dự án
71
BÀI THỰC HÀNH MySQL

DIA_DIEM_DA Nvarchar 50 Địa điểm dự án


MA_PHONG Char 10 Mã phòng(khóa ngoại)
Bảng Chấm Công lưu thông tin về giờ làm việc của nhân viên

Tên Trường Kiểu Kích Thước Giải Thích


MA_NV Int Mã nhân viên(khóa ngoại)
MA_DA Char 10 Mã dự án(khóa ngoại)
SO_GIO Int Số giờ lao động

72
BÀI THỰC HÀNH MySQL

Tạo sơ đồ quan hệ giữa các Bảng.

II. Thực hiện các truy vấn sau trên CSDL QLBH
1. Cho biết tên, địa chỉ liên hệ của các nhà cung ứng hàng.
2. Đưa ra danh sách các khách hàng có địa chỉ ở Hà Tây.
3. Đưa ra danh sách các mặt hàng có giá bán lớn hơn hoặc bằng 10% giá mua.
4. Đưa ra danh sách các loại xe máy có màu đỏ.
5. Đưa ra danh sách các loại xe máy màu đỏ hoặc các loại xe máy có giá bán nằm trong
khoảng từ 25 đến 35 triệu đồng.
6. Đưa ra danh sách các loại xe máy không phải là màu đỏ hoặc có giá bán không vượt quá
15 triệu đồng.
7. Tìm ra những khách hàng có tên chứa vần ‘an’.
8. Liệt kê ra những khách hàng có độ dài tên bằng 5 và tên bắt đầu bằng kí tự ‘H’, kết thúc
bằng kí tự “n”.
9. Tìm mọi mặt hàng chưa xác định màu.
10. Đưa ra danh sách các mặt hàng có trọng lượng nhỏ hơn hay bằng 500 kg theo thứ tự tăng
của trọng lượng và nếu trọng lượng bằng nhau thì sắp xếp theo giá mua giảm dần.
11. Đưa ra tên và giá mua của hàng có giá mua đắt nhất trong kho?
12. Đếm số màu khác nhau của các mặt hàng có trong kho?
13. Đưa ra giá bán trung bình của từng loại hàng?

73
BÀI THỰC HÀNH MySQL
14. Hãy chọn các mặt hàng có màu đỏ với số hiệu mặt hàng, tên hàng, trọng lượng hàng, và tên
nhà cung ứng nó (kết quả sắp xếp theo giá trị tăng dần của trọng lượng).

15. Tìm mọi mặt hàng có trong lượng nhỏ hơn trọng lượng của mặt hàng có số hiệu là
‘MH02’.
16. Liệt kê ra tên các nhà cung ứng có bán mặt ít nhất 1 mặt hàng có màu đen.
17. Liệt kê ra danh sách các mặt hàng có giá bán lớn hơn giá bán của mọi mặt hàng có màu
trắng.
18. Đưa ra danh sách các cửa hàng chưa bán được một đơn hàng nào.
Các Bài Khá
19. Tìm thời gian trễ trung bình giữa ngày lập đơn hàng và ngày giao hàng dự kiến, kể cả
thời gian trễ tối đa?
20. Liệt kê danh sách tên các khách có số hiệu nhỏ hơn hay bằng ‘KH05’, cùng với ngày
tháng các lần mua của họ. Nếu khách hàng đó chưa mua gì cả thì tên của khách hàng đó
vẫn xuất hiện trên bảng với ngày tháng mua là chưa xác định.
21. Cho biết tên các mặt hàng đã bán và với mỗi mặt hàng thì cho biết giá bán trung bình,
tổng số lượng đã được bán. Kết quả sắp xếp theo chiều giảm dần của tổng số lượng bán?
22. Đưa ra danh sách các mặt hàng có cùng màu với mặt hàng MH10 và có trọng lượng lớn hơn
hoặc bằng trọng lượng trung bình của mọi mặt hàng.
23. Cho biết danh sách các khách hàng đã từng đặt hàng ít nhất ở 2 cửa hiệu khác nhau.
Các Bài Nâng Cao
24. Đưa ra mặt hàng có giá bán trung bình lớn nhất?
25. Tìm các cửa hàng mà trong khoảng từ ngày 6 đến ngày 7 tháng 6 đã thực hiện được trên một
lần bán hàng.
26. Cho biết tổng số lượng các khách hàng khác nhau từng tháng của năm 2005 đã từng lập
đơn hàng.

74

You might also like