Bài 7: Giới Thiệu Database

Bài 7: Giới Thiệu Database

Để 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: MySQLiPDO. 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:

// 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.