Thứ Năm, 29 tháng 9, 2016

Bài 9. PHP căn bản - Tìm hiểu về cơ sở dữ liệu mysql

Mysql là một hệ cơ sở dữ liệu miễn phí, nó được dùng kết hợp với PHP để lưu trữ các thông tin, hành động... khi người dùng thao tác dữ liệu trên website của chúng ta

Ở bài này trước tiên chúng ta sẽ tìm hiểu cơ bản về các câu lệnh truy vấn của MYSQL và sau đó sẽ tiến hành kết hợp PHP với MYSQL, từ PHP kết nối đến cơ sở dữ liệu MYSQL, truy vấn lấy thông tin từ database lên bằng PHP...
1. KHÁI NIỆM VỀ DATABASE, CÁC TABLE VÀ FIELD

Cơ sở dữ liệu hay database dùng để chứa dữ liệu
- Trong cở sở dữ liệu sẽ có các bảng table, trong các table sẽ có các trường dữ liệu (hay còn gọi là field)

- Ví dụ : Trong hình dưới đây tôi có 1 database tên là students

- Trong database students này hiện đang có tất cả là 4 bảng : Bảng tbl_classes lưu trữ thông tin các lớp học, bảng tbl_students lưu trữ các thông tin của sinh viên, bảng tbl_teachers lưu trữ các thông tin của giảng viên và bảng tbl_scores lưu trữ điểm

- Trong mỗi table bảng lại có các trường field lưu trữ dữ liệu riêng, ví dụ như table tbl_students sẽ có các filed sau

Như chúng ta thấy, cấu trúc database của MYSQL là : database -> các table -> các field

- Trong các field có nhiều kiểu dữ liệu khác nhau, sau đây là 1 số kiểu dữ liệu thường dùng nhất

Tương tự với các table khác, khi phân tích databas khi chúng ta cần lưu trữ cái gì thì ta có thể tạo ra table và field riêng để lưu trữ chúng

2. CÂU LỆNH TRUY VẤN MYSQL

a. Câu truy vấn select
Dùng để select dữ liệu từ database 

SELECT tên_field FROM tên_bảng WHERE điều_kiện ORDER BY tên_field giá_trị LIMIT giá_trị_đầu, giá_trị_cuối

+ Có thể có điểu kiện WHERE hoặc không , có ORDER BY hoặc không, có LIMIT hoặc không, tuỳ theo ý đồ truy vấn của bạn
+ ORDER BY : Sắp sếp 1 field nào đó theo ý muốn, tăng dần là ASC, giảm dần là DESC...
+ LIMIT giá trị đầu, giá trị cuối : Lấy giới hạn từ vì trí này đến vị trí kia

Ví dụ  : SELECT student_name,student_pass FROM tbl_students ORDER student_id DESC LIMIT 1,3
(Lấy ra student_name và student_pass của tất cả các student có trong bảng tbl_students và sắp xếp theo thứ tự id giảm dần giới hạn từ vị trí 1 đến 3)

Ví dụ  : SELECT * FROM tbl_students WHERE student_id = 1
(Lấy ra tất cả các thông tin của sinh viên có id bằng 1 )

b. Câu lệnh Insert dữ liệu

Chèn dữ liệu vào database

INSERT INTO tên_bảng(tên_field) values("giá trị")

+ Khi insert nhiều field ta dùng dấu phảy " , " để ngăn cách
+ Cấu trúc : INSERT INTO tên_bảng(field1, field2, field3) VALUES("giá trị 1", "giá trị 2", "giá trị 3")

Ví dụ : INSERT INTO tbl_students(student_name,student_pass,student_email) VALUES("phpandmysql","123456","phpandmysl@gmail.com"); 

C. Câu truy vấn update


Update 1 hoặc nhiều dòng (record) dữ liệu đã có trong database

UPDATE tên_bảng SET field="giá trị" WHERE điều_kiện

+ Update nhiều field : UPDATE tên_bảng SET field1="giá trị1", field2="giá trị2", fieldn="giá trị n" WHERE điều_kiện 
+ Nếu không có điểu kiện WHERE thì nó sẽ update tất cả các record

Ví dụ  :  UPDATE tbl_students SET student_name="Nguyễn Văn Tèo" WHERE student_id = 1

d. Câu truy vấn delete

Xoá dữ liệu từ database

DELETE FROM tên_bảng WHERE điều_kiện

+ Nếu không có điều kiện WHERE nó sẽ xoá toàn bộ record

Ví dụ : DELETE FROM tbl_students where student_id = 1

(Xoá sinh viên có id bằng 1)

3. THỰC HÀNH

- Create 1 database có tên Students, nếu bạn chưa biết thao tác với phpmyadmin để tạo, và chèn dữ liệu thì có thể xem tại đây
1
2
mysql-> create database students
mysql-> use students
- Create table tbl_students :
1
2
3
4
5
6
7
8
9
mysql-> create table tbl_students(
mysql-> student_id INT(10) NOT NULL AUTO_INCREMENT,
mysql-> student_name VARCHAR(100) NOT NULL,
mysql-> student_pass CHAR(50) NOT NULL,
mysql-> student_fullname VARCHAR(100) NOT NULL,
mysql-> student_gender INT(1) NOT NULL,
mysql-> student_phone INT(15) NOT NULL,
mysql-> student_email VARCHAR(100) NOT NULL,
mysql-> PRIMARY KEY(student_id));
- Bảng tbl_students



- Insert data vào tbl_students, ở đây tôi insert demo một số student
1
2
3
4
mysql-> insert into tbl_students(student_name,student_pass,
        student_fullname,student_gender,student_email,student_phone)
        values("haanhdon","123456","ha anh don",
        "1","haanhdon@gmail.com","0974136509");
- Đây là 1 số student tôi vừa insert vào table tbl_students




- Sau khi đã có dữ liệu chúng ta có thể tiền hành truy vấn database một cách đơn giản, ở phần này chúng ta sẽ sử dụng trình quản lý database PHPMYADMIN để truy vấn thử

- Các bạn truy cập vào phpmyadmin sau đó chọn database students và tiếp theo chọn tab SQL, tại ô SQL này các bạn có thể truy vấn thử database của minh

- Gõ vào câu lệnh : Select * from tbl_students where student_id = 1 sau đó nhấn GO để tiến hành thực hiện truy vấn




- Sau khi ấn GO thì trình phpmyadmin sẽ thực hiện câu query, và đây là kết quả trả về



- Tương tự với các câu truy vấn khác, các bạn có thể test thử ngay trên database của mình, tuy chỉ dừng lại ở các câu truy vấn đơn giản, nhưngnó giúp các bạn mới học có được cái nhìn tổng quan cơ bản về MYSQL.

Ở bài sau chúng ta sẽ tiến hành kết hợp với PHP để kết nối với MYSQL, thực hiện các câu lệnh truy vấn MYSQL trong PHP, chúc các bạn thực hành tốt

Enjoy !  
Nguồn http://phpandmysql.net/


EmoticonEmoticon