3 Cách Tạo bảng trong CSDL MySQL

“Hãy hòa nhã với những kẻ dở hơi. Ai biết được ngày sau bạn có thể phải làm việc cho một kẻ như vậy.”

Bill Gates

Microsoft

Trong bài hướng dẫn tự học lập trình PHP này, bạn sẽ được tìm hiểu về cách tạo bảng trong cơ sở dữ liệu MySQL bằng PHP.

Tạo bảng bên trong cơ sở dữ liệu MySQL bằng PHP

Trong bài trước, chúng ta đã học cách tạo cơ sở dữ liệu MySQL. Bây giờ là lúc chúng ta tìm hiểu cách tạo các bảng bên trong cơ sở dữ liệu MySQL vừa tạo để sử dụng chứa dữ liệu.

Một bảng bên trong MySQL chứa dữ liệu được phân chia thành các hàng và cột, trông như thế này:

Ví dụ Bảng CSDL trong MySQL
Ví dụ Bảng CSDL trong MySQL

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.

3 Cách tạo bảng CSDL trong MySQL
3 Cách tạo bảng CSDL trong MySQL

Ví dụ tạo Bảng CSDL trong MySQL

1. Tạo bảng CSDL trong MySQL bằng MySQLi hướng thủ tục

<?php
/* Cố gắng kết nối máy chủ MySQL. Giả sử bạn đang chạy MySQL
Máy chủ có cài đặt mặc định (user là 'root' và không có mật khẩu) */
$link = mysqli_connect("localhost", "root", "", "demo");
 
// Kiểm tra kết nối
if($link === false){
    die("ERROR: Không thể kết nối. " . mysqli_connect_error());
}
 
// Thực thi tạo bảng CSDL trong MySQL
$sql = "CREATE TABLE persons(
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(30) NOT NULL,
    last_name VARCHAR(30) NOT NULL,
    email VARCHAR(70) NOT NULL UNIQUE
)";
if(mysqli_query($link, $sql)){
    echo "Tạo bảng thành công.";
} else{
    echo "ERROR: Không thể thực thi $sql. " . mysqli_error($link);
}
 
// Đóng kết nối
mysqli_close($link);
?>

2. Tạo bảng CSDL trong MySQL bằng MySQLi hướng đối tượng

<?php
/* Cố gắng kết nối máy chủ MySQL. Giả sử bạn đang chạy MySQL
Máy chủ có cài đặt mặc định (user là 'root' và không có mật khẩu) */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
// Kiểm tra kết nối
if($mysqli === false){
    die("ERROR: Không thể kết nối. " . $mysqli->connect_error);
}
 
// Thực thi tạo bảng CSDL trong MySQL
$sql = "CREATE TABLE persons(
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(30) NOT NULL,
    last_name VARCHAR(30) NOT NULL,
    email VARCHAR(70) NOT NULL UNIQUE
)";
if($mysqli->query($sql) === true){
    echo "Tạo bảng thành công.";
} else{
    echo "ERROR: Không thể thực thi $sql. " . $mysqli->error;
}
 
// Đóng kết nối
$mysqli->close();
?>

3. Tạo bảng CSDL trong MySQL bằng PDO

<?php
/* Cố gắng kết nối máy chủ MySQL. Giả sử bạn đang chạy MySQL
Máy chủ có cài đặt mặc định (user là 'root' và không có mật khẩu) */
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
    // Thiết lập PDO erorr thành Ngoại lệ
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
    die("ERROR: Không thể kết nối. " . $e->getMessage());
}
 
// Thực thi tạo bảng CSDL trong MySQL
try{
    $sql = "CREATE TABLE persons(
        id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
        first_name VARCHAR(30) NOT NULL,
        last_name VARCHAR(30) NOT NULL,
        email VARCHAR(70) NOT NULL UNIQUE
    )";    
    $pdo->exec($sql);
    echo "Tạo bảng thành công.";
} catch(PDOException $e){
    die("ERROR: Không thể thực thi $sql. " . $e->getMessage());
}
 
// Đóng kết nối
unset($pdo);
?>

Đoạn code PHP trong ví dụ trên tạo ra một bảng có tên person với bốn cột id, First_name, last_nameemail 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 khai báo kiểu dữ liệu. Khai báo này chỉ định loại dữ liệu mà cột có thể giữ, cho dù là kiểu integer, string, date, v.v.

Có một vài ràng buộc bổ sung (còn được gọi là bổ nghĩa) được chỉ định sau tên cột trong câu lệnh SQL trước đó, như NOT NULL (Không null), PRIMARY KEY (Khóa chính), AUTO_INCREMENT (Tự động tăng), v.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.


Lưu ý: Bạn có thể xuống dòng trong khi viết câu lệnh SQL để dễ đọc code hơn, với điều kiện là bất kỳ ngắt dòng nào sẽ không phá vỡ các từ khóa, giá trị, biểu thức, v.v.


Mẹo: Thiết lập thuộc tính PDO::ATTR_ERRMODE thành PDO::ERRMODE_EXCEPTION yêu cầu PDO ném ngoại lệ bất cứ khi nào xảy ra lỗi cơ sở dữ liệu.


Hãy thử tạo Bảng CSDL 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 CSDL 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 thông tin người dùng…

Cố gắng luyện tập và ghi nhớ thật kỹ bạn nhé!

PHPDev

Có thể bạn muốn xem

Leave a reply

Please enter your comment!
Please enter your name here