Professional Documents
Culture Documents
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
2
BÀI THỰC HÀNH MySQL
3
BÀI THỰC HÀNH MySQL
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
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
8
BÀI THỰC HÀNH MySQL
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
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
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
17
BÀI THỰC HÀNH MySQL
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
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
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
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
26
BÀI THỰC HÀNH MySQL
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
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
34
BÀI THỰC HÀNH MySQL
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
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
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
41
BÀI THỰC HÀNH MySQL
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.
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
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
47
BÀI THỰC HÀNH MySQL
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
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
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
54
BÀI THỰC HÀNH MySQL
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
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
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
61
BÀI THỰC HÀNH MySQL
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:
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
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
68
BÀI THỰC HÀNH MySQL
69
BÀI THỰC HÀNH MySQL
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
72
BÀI THỰC HÀNH MySQL
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