- Để chạy [thực thi] mã lệnh MySQL bằng phpMyAdmin thì về cơ bản chúng ta có thể thực hiện lần lượt các bước như sau:
- Bước 1: Mở phpMyAdmin lên.
- Bước 2: Chọn cơ sở dữ liệu [database] mà mình muốn thao tác.
- Bước 3: Nhấp vô thẻ SQL để mở giao diện thao tác dữ liệu bằng dòng lệnh.
- Bước 4: Soạn thảo mã lệnh.
- Bước 5: Bấm nút Go để thực thi mã lệnh.
Bước 1: Mở phpMyAdmin.
- Để mở phpMyAdmin thì trước tiên các bạn mở XAMPP Control Panel, khởi động hai dịch vụ Apache & MySQL, sau đó sử dụng một trình duyệt bất kỳ rồi truy cập địa chỉ localhost/phpmyadmin.
Bước 2: Chọn cơ sở dữ liệu muốn thao tác.
- Tại giao diện chính của phpMyAdmin, các bạn nhìn về phía cột bên tay trái rồi nhấp vào tên của cơ sở dữ liệu mà mình muốn thao tác.
Bước 3: Mở giao diện thao tác dữ liệu bằng dòng lệnh.
- Sau khi đã chọn cơ sở dữ liệu mà mình muốn thao tác, các bạn nhìn lên thanh menu ngang ở phía trên rồi bấm vào thẻ SQL để mở giao diện thao tác dữ liệu bằng dòng lệnh.
Bước 4: Soạn thảo mã lệnh.
- Đây là nơi soạn thảo mã MySQL
[các bạn có thể viết một câu lệnh hoặc cả kịch bản tại nơi này]
Bước 5: Thực thi mã lệnh.
- Sau khi đã soạn thảo xong mã lệnh MySQL, nếu muốn cho nó thực thi thì các bạn bấm vào nút Go nằm ở gốc phía dưới bên tay phải.
Để chạy lệnh MySQL trên phpMyadmin có 4 bước cơ bản:
- Bước 1: Mở giao diện quản lý phpMyAdmin.
- Bước 2: Mở giao diện gõ lệnh MySQL.
- Bước 3: Gõ câu lệnh MySQL.
- Bước 4: Bấm nút chạy lệnh MySQL
Bước 1: Mở giao diện quản lý phpMyAdmin
Mở trình duyệt, gõ vào thanh địa chỉ localhost/phpmyadmin rồi bấm Enter. Giao diện quản lý phpMyAdmin sẽ hiện lên.
Bước 2: Mở giao diện gõ lệnh MySQL
Từ giao diện quản lý phpMyAdmin, nhìn trên thanh menu bạn thấy chữ SQL, bấm vào đó, giao diện gõ lệnh MySQL sẽ hiện ra.
Bước 3: Gõ câu lệnh MySQL
Tại giao diện gõ lệnh MySQL, gõ câu lệnh nào mà bạn muốn. Nếu chưa biết nhiều về MySQL, thì tôi giới thiệu cho bạn câu lệnh như sau: CREATE DATABASE new_database;
Bước 4: Bấm nút chạy lệnh MySQL
Sao khi gõ lệnh xong, bấm vào nút “Go”.
Nếu hiện ra thông báo tương tự phía dưới tức là bạn chạy câu lệnh MySQL thành công.
Join: truy vấn dữ liệu kết hợp từ nhiều bảng
Có 4 loại JOIN:
INNER JOIN: trả về bản ghi có mặt của 2 bảng
LEFT JOIN: trả về tất cả bản ghi của bảng chứa khóa chính và bản ghi tương ứng của bảng chứa khóa phụ
RIGHT JOIN: trả về tất cả bản ghi của bảng chứa khóa phụ và bản ghi tương ứng của bảng chứa khóa chính
FULL JOIN: trả về tất cả bản ghi của 2 bảng
SELF JOIN: 1 trường trỏ đến 1 trường khác trong bảng
VD: SELECT order_id, customer.customer_name FROM order INNER JOIN customer ON order.customer_id = customer_id
Câu lệnh trên sẽ lấy dữ liệu order_id, customer_name tử bảng order ánh xạ đến bảng customer với khóa ngoại customer_id của bảng order bằng khóa chính customer_id của bảng customer
VD: trường FOREIGN KEY `report_to` trỏ đến trường PRIMARY KEY `staff_id` là SELF JOIN
JOIN càng nhiều thì hiệu năng càng tăng
AS: sử dụng để đổi tên trường theo định danh, tuy nhiên khi truy vấn vẫn gọi tên trường cũ
GROUP BY: nhóm dữ liệu theo trường
HAVING: thỏa mãn điều kiện, sử dụng được với hàm tổng hợp: COUNT[], MIN[], MAX[], . . ., luôn đứng sau GROUP BY, khi không có GROUP BY thì HAVING = WHERE
WHERE: thỏa mãn điều kiện, đứng trước GROUP BY, không thể sử dụng với hàm tổng hợp
ORDER BY: sắp xếp trường theo tăng dần [ASC] hoặc giảm dần [DESC]
Thứ tự câu lệnh:
SELECT . . . FROM . . . WHERE . . . GROUP BY . . . HAVING. . . . ORDER BY . . . ASC/DESC
Trong lập tình PHP và MySQL thì câu lệnh SQL là chuỗi kết nối giữa chúng, Giúp PHP có thể kết nối đến CSDL và truy suất các dữ liệu cần thiết.
Hệ quản trị CSDL MySQL hỗ trợ khá nhiều câu lệnh để tương tác với CSDL. Trong đó có một số câu lệnh thương dùng cho lập trình PHP để hỗ trọ cho việc truy suất CSDL và hiển thị lên web. Một số câu lệnh thường dùng như sau:
I. Câu lệnh SELECT .... FROM
Câu lệnh SELECT ... FROM giúp chúng ta lấy dữ liệu trong bảng
Cú pháp:
SELECT danh_sach_cac_cot
FROM ten_bang
Ví dụ: Xuất ra danh sách các bài viết, thông tin cần lấy gồm: ma,tieu_de,tom_tat,ngay_dang
SELECT ma,tieu_de,tom_tat,ngay_dang
FROM bai_viet
* Một số thành phần mở rộng trong câu lệnh SELECT ... FROM
- Truy vấn có điều kiện
WHERE
Cú pháp:
SELECT danh_sach_cac_cot
FROM ten_bang
WHERE dieu_kien_loc
Ví dụ: Xuất ra danh sách các bài viết có ngay_tao lớn hơn hoặc bằng ngày 20/10/2015, thông tin cần lấy gồm: ma,tieu_de,tom_tat,ngay_dang
SELECT ma,tieu_de,tom_tat,ngay_dang
FROM bai_viet
WHERE ngay_tao >= '2015:10:20'
Một số toán tử trong mệnh đề WHERE: Ngoài các toán tử đã biết ở Bài 4: Một số toán tử thường dùng trong MySQL khi lập trình php
Cần chú ý thêm một số toán tử thương được sử dụng trong mệnh đề WHERE như sau:
Toán tử | Ý nghĩa | Ví dụ |
LIKE
| Lọc dữ liệu gần giống với chuỗi cần tìm | Tìm các bài viết có tiêu đề chứa từ 'php'.
Chú ý: % Đại diện cho nhiều kí tự, _ Đại diện cho 1 kí tự. |
IN
| Lọc dữ liệu nằm trong danh sách | Tìm các bài viết có mã là 3,4,7,9
|
BETWEEN
| Lọc dữ liệu nằm giữa hai giá trị | Lấy ra danh sách bài viết trong năm 2015
|
- Nhóm dữ liệu với
GROUP BY
Cú pháp:
SELECT danh_sach_cac_cot
FROM ten_bang
[WHERE dieu_kien_loc]
GROUP BY danh_sach_cot_can_nhom
Một số hàm thường đi chung với GROUP BY
HÀM | Ý NGHĨA |
AVG
| Tính giá trị trung bình |
COUNT
| Đếm số lượng |
MIN
| Lấy giá trị nhỏ nhất |
MAX
| Lấy giá trị lớn nhất |
SUM
| Tính tổng |
Ví dụ: Thống kê số lượng bài viết trong mỗi chủ đề. Danh sách cần lấy ma_chu_de, ten_chu_de, so_luong
SELECT cd.ma as ma_chu_de,cd.ten as ten_chu_de,count[bv.ma] as so_luong
FROM bai_viet bv,chu_de cd
WHERE bv.ma_chu_de = cd.ma
GROUP BY bv.ma_chu_de
- Điều kiện lọc sau khi gom nhóm
HAVING
Cú pháp:
SELECT danh_sach_cac_cot
FROM ten_bang
[WHERE dieu_kien_loc]
GROUP BY danh_sach_cot_can_nhom
HAVING dieu_kien_loc_sau_khi_nhom
Ví dụ: Thống kê các chủ đề có số lượng bài viết lớn hơn 10. Danh sách cần lấy ma_chu_de, ten_chu_de, so_luong
SELECT cd.ma as ma_chu_de,cd.ten as ten_chu_de,count[bv.ma] as so_luong
FROM bai_viet bv,chu_de cd
WHERE bv.ma_chu_de = cd.ma
GROUP BY bv.ma_chu_de
HAVING COUNT[bv.ma] >10
- Sắp xếp dữ liệu với
ORDER BY
Cú pháp:
SELECT danh_sach_cac_cot
FROM ten_bang
[WHERE dieu_kien_loc]
[GROUP BY danh_sach_cot_can_nhom]
ORDER BY danh_sach_cac_cot_can_sap_xep [DESC]
Chú ý: DESC dùng để sắp xếp giảm dần. Nếu không có DESC thì sắp xếp tăng dần
Ví dụ: Xuất ra danh sách các bài viết và sắp xếp theo ngày đăng giảm dần, thông tin cần lấy gồm: ma, tieu_de, tom_tat, ngay_dang
SELECT ma,tieu_de,tom_tat,ngay_dang
FROM bai_viet
ORDER BY ngay_dang DESC
- Giới hạn số dòng cần lấy
LIMIT
Cú pháp:
SELECT danh_sach_cac_cot
FROM ten_bang
[WHERE dieu_kien_loc]
[GROUP BY danh_sach_cot_can_nhom]
[ORDER BY danh_sach_cac_cot_can_sap_xep]
LIMIT n,m
Chú ý:
n
là vị trí bắt đầu,m
là vị trí kết thúc;n