Trước khi thao tác với dữ liệu trong cơ sở dữ liệu [ví dụ. MySQL], chúng ta cần tạo cơ sở dữ liệu. Lệnh CREATE DATABASE được sử dụng để tạo cơ sở dữ liệu mới trong MySQL
Chúng ta hãy tạo một truy vấn SQL bằng cách sử dụng câu lệnh CREATE DATABASE, sau đó chúng ta sẽ thực hiện truy vấn SQL này thông qua việc chuyển nó đến hàm mysqli_query[] của PHP để cuối cùng tạo ra cơ sở dữ liệu của
1. Tạo cơ sở dữ liệu MySQL bằng MySQLi
2. Tạo bảng bên trong cơ sở dữ liệu MySQL bằng PHP
Chúng ta sẽ sử dụng câu lệnh SQL là CREATE TABLE để tạo bảng trong cơ sở dữ liệu
Chúng ta hãy thử tạo một truy vấn SQL bằng cách sử dụng câu lệnh CREATE TABLE, sau đó chúng ta sẽ thực hiện truy vấn SQL này thông qua việc chuyển nó đến hàm mysqli_query[] của PHP để cuối cùng tạo bảng như chúng ta muốn
Đoạn mã PHP trong ví dụ về việc tạo ra một bảng có tên khách hàng với bốn cột id, first_name, last_name và email bên trong cơ sở dữ liệu demo
Lưu ý rằng mỗi tên trường được theo sau bởi một loại dữ liệu khai báo. Khai báo này chỉ định loại dữ liệu mà cột có thể giữ nguyên, cho dù là kiểu số nguyên, chuỗi, ngày, v. v
Có một vài ràng buộc bổ sung [còn được gọi là bổ sung] được chỉ định sau tên cột trong câu lệnh SQL trước đó, chẳng hạn như NOT NULL [Không null], PRIMARY KEY [Khóa chính], AUTO_INCREMENT [Tự động tăng], . v
Các ràng buộc này xác định các quy tắc liên quan đến các giá trị được cho phép trong các cột
3. Hãy thử tạo bảng của cơ sở dữ liệu của bạn trong MySQL
Đến đây bạn đã được hướng dẫn kết nối CSDL, tạo CSDL trên máy chủ MySQL và tạo bảng CSDL trong CSDL MySQL của mình
Hãy thử thực hiện lại tất cả các bước này để tạo Bảng cơ sở dữ liệu của riêng bạn phục vụ cho một nhu cầu nào đó, ví dụ:. Bảng CSDL lưu trữ thông tin sản phẩm, Bảng CSDL lưu trữ danh mục sản phẩm, Bảng CSDL lưu trữ thông tin đơn hàng,…
Ví dụ sau đây truy xuất các cột id, firstname và lastname từ bảng MyGuests và hiển thị nó trên trang
connect_error] {
die["Connection failed: " . $conn->connect_error];
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query[$sql];
if [$result->num_rows > 0] {
// output data of each row
while[$row = $result->fetch_assoc[]] {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 results";
}
$conn->close[];
?>
This is results
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
Đầu tiên, chúng tôi tạo một truy vấn SQL truy xuất các cột id, tên và họ từ bảng MyGuests. Dòng mã tiếp theo sẽ thực hiện truy vấn và lưu dữ liệu kết quả vào biến
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
4Sau đó, hàm
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
5 sẽ kiểm tra dữ liệu được trả về hay khôngNếu có thì hàm
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
6 sẽ gán tất cả kết quả vào một mảng kết hợp mà chúng ta có thể duyệt qua. Vòng lặp id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
7 sẽ duyệt qua kết quả tệp và hiển thị các cột id, tên và họ trên trangVí dụ sau đây tương tự như ví dụ trên, nhưng nó sử dụng MySQLi thủ tục
________số 8This is results
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
Truy xuất dữ liệu với PDO
Ví dụ sau sử dụng PDO để truy xuất dữ liệu
0
This is results
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
Lọc dữ liệu từ cơ sở dữ liệu MySQL
Mệnh đề WHERE được sử dụng để lọc các bản ghi trả lời một điều kiện cụ thể
2
Lọc dữ liệu với MySQLi
Ví dụ sau đây truy xuất các cột id, firstname và lastname từ bảng MyGuests những người có họ là "Doe" và hiển thị nó trên trang
3
This is results
4
Đầu tiên, chúng tôi tạo truy vấn SQL truy xuất các cột id, tên và họ từ bảng MyGuests những người có họ là "Doe". Dòng mã tiếp theo sẽ thực hiện truy vấn và lưu dữ liệu kết quả vào biến
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
4Sau đó, hàm
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
5 sẽ kiểm tra dữ liệu được trả về hay khôngNếu có thì hàm
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
6 sẽ gán tất cả kết quả vào một mảng kết hợp mà chúng ta có thể duyệt qua. Vòng lặp id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
7 sẽ duyệt qua kết quả tệp và hiển thị các cột id, tên và họ trên trangVí dụ sau đây tương tự như ví dụ trên, nhưng nó sử dụng MySQLi thủ tục
________số 8This is results
4
Filter data with PDO
Ví dụ sau sử dụng PDO để truy xuất dữ liệu
connect_error] {
die["Connection failed: " . $conn->connect_error];
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query[$sql];
if [$result->num_rows > 0] {
// output data of each row
while[$row = $result->fetch_assoc[]] {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 results";
}
$conn->close[];
?>
2This is results
4
Sắp xếp dữ liệu từ cơ sở dữ liệu MySQL
Lệnh ORDER BY được sử dụng để sắp xếp các bản ghi theo thứ tự tăng dần [ASC] theo mặc định. Để sắp xếp các bản ghi theo thứ tự giảm dần, hãy sử dụng từ khóa DESC
connect_error] {
die["Connection failed: " . $conn->connect_error];
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query[$sql];
if [$result->num_rows > 0] {
// output data of each row
while[$row = $result->fetch_assoc[]] {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 results";
}
$conn->close[];
?>
4Sắp xếp dữ liệu với MySQLi
Ví dụ sau đây truy xuất các cột id, firstname và lastname từ bảng MyGuests theo thứ tự họ tăng dần và hiển thị nó trên trang
connect_error] {
die["Connection failed: " . $conn->connect_error];
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query[$sql];
if [$result->num_rows > 0] {
// output data of each row
while[$row = $result->fetch_assoc[]] {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 results";
}
$conn->close[];
?>
5This is results
connect_error] {
die["Connection failed: " . $conn->connect_error];
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query[$sql];
if [$result->num_rows > 0] {
// output data of each row
while[$row = $result->fetch_assoc[]] {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 results";
}
$conn->close[];
?>
6Đầu tiên, chúng tôi tạo một truy vấn SQL truy xuất các cột id, tên và họ từ bảng MyGuests theo thứ tự họ tăng dần. Dòng mã tiếp theo sẽ thực hiện truy vấn và lưu dữ liệu kết quả vào biến
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
4Sau đó, hàm
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
5 sẽ kiểm tra dữ liệu được trả về hay khôngNếu có thì hàm
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
6 sẽ gán tất cả kết quả vào một mảng kết hợp mà chúng ta có thể duyệt qua. Vòng lặp id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
7 sẽ duyệt qua kết quả tệp và hiển thị các cột id, tên và họ trên trangVí dụ sau đây tương tự như ví dụ trên, nhưng nó sử dụng MySQLi thủ tục
________số 8This is results
connect_error] {
die["Connection failed: " . $conn->connect_error];
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query[$sql];
if [$result->num_rows > 0] {
// output data of each row
while[$row = $result->fetch_assoc[]] {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 results";
}
$conn->close[];
?>
6Sắp xếp dữ liệu với PDO
Ví dụ sau sử dụng PDO để truy xuất dữ liệu
connect_error] {
die["Connection failed: " . $conn->connect_error];
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query[$sql];
if [$result->num_rows > 0] {
// output data of each row
while[$row = $result->fetch_assoc[]] {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 results";
}
$conn->close[];
?>
9This is results
connect_error] {
die["Connection failed: " . $conn->connect_error];
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query[$sql];
if [$result->num_rows > 0] {
// output data of each row
while[$row = $result->fetch_assoc[]] {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 results";
}
$conn->close[];
?>
6Giới hạn truy xuất dữ liệu từ cơ sở dữ liệu MySQL
MySQL cung cấp mệnh đề GIỚI HẠN để chỉ định số lượng bản ghi sẽ trả về
Mệnh đề GIỚI HẠN dễ dàng giúp nhanh chóng giới hạn kết quả trả về hoặc phân trang bằng SQL và rất hữu ích trên các bảng lớn. Trả về quá nhiều dữ liệu trong một lần truy vấn có thể ảnh hưởng đến hiệu suất của hệ thống
Giả sử chúng tôi muốn truy xuất tất cả các bản ghi từ 1 - 30 từ một bảng MyGuests. Truy vấn SQL sẽ trông như thế này
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
1Khi chạy truy vấn SQL ở trên nó sẽ trả về 30 bản ghi đầu tiên
Nếu chúng tôi muốn truy xuất bản ghi thứ 10 từ bản ghi thứ 16 thì sao?
Mysql cũng cung cấp một cách để xử lý công việc này đó là sử dụng từ khóa OFFSET. Ví dụ dưới đây minh họa sử dụng từ khóa OFFSET