Sau khi tạo database bằng PHP thì chúng ta sẽ tiếp tục sử dụng PHP để tạo các table. Để tạo table thì ta sử dụng câu lệnh SQL Create Table.
1. Tạo table bằng code PHP
Tương tự như các bài trước mình sẽ đưa ra ví dụ cho cả ba trường hợp.
Giả sử mình cần tạo một table bằng lệnh SQL sau:
CREATE TABLE News ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, title VARCHAR(30) NOT NULL, content TEXT, created_date TIMESTAMP ) |
Bây giờ ta sẽ tìm hiểu các cách tạo table bằng code PHP.
Sử dụng MySQLi Object-oriented:
// Kết nối $conn = new mysqli('localhost', 'root', '', 'DevproDemo'); // Kiểm tra kết nối if ($conn->connect_error) { die("Kết nối không thành công: " . $conn->connect_error); } // sql to create table $sql = "CREATE TABLE News ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, title VARCHAR(30) NOT NULL, content TEXT, created_date TIMESTAMP )"; // Thực thi câu truy vấn if ($conn->query($sql) === TRUE) { echo "Tạo table thành công"; } else { echo "Tạo table thất bại: " . $conn->error; } // Ngắt kết nối $conn->close(); |
Sử dụng MySQLi Procedural:
// Kết nối $conn = mysqli_connect('localhost', 'root', '', 'DevproDemo'); // Kiểm tra kết nối if (!$conn) { die("Kết nối không thành công: " . mysqli_connect_error()); } // Câu lệnh SQL $sql = "CREATE TABLE News ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, title VARCHAR(30) NOT NULL, content TEXT, created_date TIMESTAMP )"; // Thực thi câu truy vấn if (mysqli_query($conn, $sql)) { echo "Tạo table thành công"; } else { echo "Tạo table thất bại: " . mysqli_error($conn); } // Ngắt kết nối mysqli_close($conn); |
Sử dụng PDO:
try { // Kết nối $conn = new PDO("mysql:host=localhost;dbname=DevproDemo", 'root', ''); // Thiết lập chế độ exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Câu lệnh SQL $sql = "CREATE TABLE News ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, title VARCHAR(30) NOT NULL, content TEXT, created_date TIMESTAMP )"; // Thực thi câu truy vấn $conn->exec($sql); echo "Tạo table thành công"; }catch (PDOException $e) { echo $e->getMessage(); } // Ngắt kết nối $conn = null; |
2. Kết hợp tạo table với tạo Database
Bây giờ mình sẽ đưa ra một ví dụ về cách kết hợp tạo database và tạo table cùng trên một file PHP. Để các bạn dễ hiểu thì mình sẽ lấy thư viện MySQLi hướng thủ tục để làm ví dụ nhé.
// BƯỚC 1: TẠO DATABASE // Tạo kết nối $conn = mysqli_connect('localhost', 'root', ''); // Nếu kết nối thất bại if (!$conn) { die("Kết nối thất bại: " . mysqli_connect_error()); } // Lệnh tạo database $sql = "CREATE DATABASE DevproDemo"; // Thực thi câu truy vấn if (mysqli_query($conn, $sql)) { echo 'Tạo database thành công!'; // BƯƠC 2: TẠO TABLE // Chọn database mysqli_select_db($conn, ''); // Câu lệnh SQL $sql = "CREATE TABLE News ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, title VARCHAR(30) NOT NULL, content TEXT, created_date TIMESTAMP )"; // Thực thi câu truy vấn if (mysqli_query($conn, $sql)) { echo "Tạo table thành công"; } else { echo "Tạo table thất bại: " . mysqli_error($conn); } } else { echo "Tạo database thất bại: " . mysqli_error($conn); } // Tạo xong thì ngắt kết nối mysqli_close($conn);
|