LAB PHP (CB) 14
LÀM VIỆC VỚI HỆ QUẢN TRỊ CSDL MYSQL
(PHẦN III – MYSQL NÂNG CAO)
A – LÝ THUYẾT
I – MỘT SỐ CÚ PHÁP THAO TÁC VỚI SQL NÂNG CAO
1 – Cú pháp sql AND &
OR
Cách dùng AND và
OR để kết nối hai hay nhiều điều kiện trong mệnh đề WHERE.
Ví dụ:
SELECT * FROM thanhvien WHERE tai_khoan = “admin” AND
mat_khau = “admin”
Ví dụ:
SELECT * FROM thanhvien WHERE id_thanhvien = 2 OR id_thanhvien = 3
2 – Cú pháp sql LIKE
Cách dùng LIKE
trong MySQL để tìm kiếm sự tồn tại của một mẫu trong Cột dữ liệu
Cú pháp:
SELECT ten_cot FROM ten_bang WHERE ten_cot LIKE mau_can_tim
Chú ý: Mẫu cần tìm có dạng như sau:
“%abcxyz%”, trong đó có hoặc không cần sử dụng %, ký tự % dùng để dại diện cho
một ký tự hoặc nhóm ký tự bất kỳ nào đó
Ví dụ:
SELECT * FROM thanhvien WHERE tai_khoan LIKE "%mi%"
3 – Cú pháp sql ORDER BY
Cách dùng từ khóa
ORDER BY để trả về các hàng được sắp xếp theo một thứ tự định trước
a)
Sắp xếp theo thứ tự tăng
dần
Cú pháp:
SELECT ten_cot FROM ten_bang ORDER BY ten_cot ASC
SELECT * FROM thanhvien ORDER BY id_thanhvien ASC
b) Sắp xếp theo thứ tự giảm dần
Cú pháp:
SELECT ten_cot FROM ten_bang ORDER BY ten_cot DESC
Ví dụ:
SELECT * FROM thanhvien ORDER BY id_thanhvien DESC
4 – Cú pháp sql LIMIT
Cách dùng LIMIT
dùng để lựa chọn ra số mẩu tin mong muốn trong Bảng dữ liệu
Cú pháp:
SELECT ten_cot FROM ten_bang LIMIT vi_tri_lay, so_mau_tin_muon_lay
Chú ý: Nếu chúng ta không điền tham số vị trí lấy thì mặc định vị trí này có giá trị là 0, tức là lấy từ mẩu tin đầu tiên từ trên xuống
Ví dụ:
SELECT * FROM thanhvien LIMIT 1, 1
5 – Cú pháp sql RAND()
Cách dùng RAND()
để lấy ra số mẩu tin một cách ngẫu nhiên
Cú pháp:
SELECT * FROM ten_bang ORDER BY RAND() LIMIT so_mau_tin_muon_lay
Ví dụ:
SELECT * FROM thanhvien ORDER BY RAND() LIMIT 1, 1
6 – Cú pháp sql INNER JOIN
Giải thích cách
chọn thông tin từ nhiều bảng
Cú pháp:
SELECT ten_cot FROM ten_bang_1 INNER JOIN tean_bang_2 ON ten_bang_1.ten_cot_chung = ten_bang_2.ten_cot_chung
Ví dụ:
SELECT tai_khoan, mat_khau, ho_ten, gioi_tinh FROM thanhvien INNER JOIN chitiet_thanhvien ON thanhvien.id_thanhvien = chitiet_thanhvien. id_thanhvien
B – THỰC HÀNH
I – BÀI TẬP THỤC HÀNH
Bài 1:
Thực hiện việc tạo 2 Bảng
danhmuc_sanpham và san pham trong CSDL appleshop với cấu trúc các Bảng như sau
danhmuc_sanpham |
|
id_dm |
ten_dm |
Đồng thời thêm 5 đến 10 thông tin danh mục sản phẩm vào trong Bảng
trên
sanpham |
|||||||
id_sp |
id_dm |
ten_sp |
gia_sp |
anh_mo_ta |
chi_tiet_sp |
dac_biet |
xem_nhieu |
Đồng thời thêm 5 đến 10 thông tin sản phẩm vào trong Bảng trên
Bài 2:
Lọc toàn bộ thông tin của các sản
phẩm trong Bảng sanpham
Bài 3:
Lọc toàn bộ thông tin của các cột
ten_sp, gia_sp, chi_tiet_sp trong Bảng sanpham
Bài 4:
Lọc toàn bộ thông tin của tất cả các
sản phẩm có giá trị của trường dac_biet = 1
Bài 5:
Lọc toàn bộ thông tin của tất cả các
sản phẩm có giá trị của trường dac_biet = 1 và giá lớn hơn 5.000.000
Bài 6:
Lọc toàn bộ thông tin của tất cả các
sản phẩm có giá trị của trường ten_sp chứa chuỗi ký tự “phone”
Bài 7:
Lọc toàn bộ thông tin của tất cả các
sản phẩm và sắp xếp theo id_sp từ cao xuống thấp
Bài 8:
Lọc toàn bộ thông tin của tất cả các
sản phẩm và sắp xếp theo ten_sp từ thấp đến cao
Bài 9:
Lọc ra tất cả thông tin của 2 sản
phẩm từ trên xuống
Bài 10:
Chỉ lọc ra tất cả thông tin của 2
sản phẩm bắt đầu từ sản phẩm thứ 2
Bài 11:
Lọc ra tất cả thông tin của 2 sản
phẩm ngẫu nhiên trong Bảng sanpham
Bài 12:
Lọc ra thông tin về
ten_sp, gia_sp, chi_tiet_sp, ten_dm của tất cả các sản phẩm
>>Xem bài trước: Bài 34 - MYSQL PHẦN II - SQL CƠ BẢN
>>Xem bài tiếp theo: BÀi 36 PHP VÀ MYSQL
No comments:
Post a Comment