Để kết nối và làm việc với cơ sở dữ liệu (database) trong PHP, bạn có thể sử dụng hai phương thức chính: MySQLi và PDO. Trong bài này chúng ta sẽ:
- Hiểu được khái niệm Database và ứng dụng của nó.
- Phân biệt được các loại Database phổ biến.
- Nắm được cách kết nối PHP với MySQL.
- Biết cách tạo Database, Table và thực thi truy vấn đơn giản.
1. Khái niệm Database, các loại Database
1.1. Database là gì?
-
Database (Cơ sở dữ liệu) là tập hợp có cấu trúc của dữ liệu được lưu trữ và quản lý trên hệ thống máy tính.
-
Nó cho phép chúng ta lưu trữ, truy xuất, sửa đổi và xóa dữ liệu một cách hiệu quả.
-
Ví dụ: Danh sách học sinh, sản phẩm trong cửa hàng, bài viết trên blog, ...
1.2. Các loại Database phổ biến:
-
Relational Database (RDBMS): Dữ liệu được tổ chức dưới dạng bảng (table), có mối quan hệ (relationship) với nhau. Ví dụ: MySQL, PostgreSQL, Oracle, SQL Server.
-
NoSQL Database: Không sử dụng cấu trúc bảng, dữ liệu được lưu trữ dưới nhiều dạng khác nhau như key-value, document, graph. Ví dụ: MongoDB, Cassandra, Redis.
1.3. Ưu điểm của việc sử dụng Database:
-
Tính toàn vẹn dữ liệu: Đảm bảo dữ liệu được lưu trữ nhất quán, chính xác và không bị trùng lặp.
-
Bảo mật dữ liệu: Kiểm soát truy cập, phân quyền người dùng để bảo vệ dữ liệu nhạy cảm.
-
Dễ dàng truy xuất và quản lý: Cung cấp các công cụ để truy vấn, sắp xếp, lọc dữ liệu hiệu quả.
-
Khả năng mở rộng: Dễ dàng mở rộng dung lượng lưu trữ và hiệu suất khi cần thiết.
2. Cách kết nối PHP với MySQL
2.1. Giới thiệu MySQL:
-
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở phổ biến.
-
Được sử dụng rộng rãi trong việc xây dựng các ứng dụng web.
2.2. Các bước kết nối PHP với MySQL:
Tạo kết nối sử dụng hàm mysqli_connect():
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
// Tạo kết nối
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Kiểm tra kết nối
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
Thay thế username, password, database_name bằng thông tin của bạn.
Đóng kết nối sau khi sử dụng:
// ... Thực hiện các thao tác với Database ...
// Đóng kết nối
mysqli_close($conn);
3. Cách tạo database, table và thực thi truy vấn
3.1. Tạo database:
$sql = "CREATE DATABASE myDB";
if (mysqli_query($conn, $sql)) {
echo "Database created successfully";
} else {
echo "Error creating database: " . mysqli_error($conn);
}
3.2. Tạo table:
// Tạo table
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
if (mysqli_query($conn, $sql)) {
echo "Table MyGuests created successfully";
} else {
echo "Error creating table: " . mysqli_error($conn);
}
3.3. Thực thi truy vấn INSERT, SELECT, UPDATE, DELETE:
// INSERT
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '[email protected]')";
// SELECT
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// Xuất dữ liệu cho mỗi dòng
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
// UPDATE
$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
// DELETE
$sql = "DELETE FROM MyGuests WHERE id=3";
Bài tập:
-
Tạo database testDB.
-
Tạo table users với các cột id, username, password, email.
-
Thực hiện các truy vấn INSERT, SELECT, UPDATE, DELETE với table users.
Lưu ý:
-
Bài học này chỉ giới thiệu cơ bản về Database và cách kết nối PHP với MySQL.
-
Trong các bài học sau, chúng ta sẽ tìm hiểu chi tiết hơn về SQL và các kỹ thuật truy vấn nâng cao.