Trong bài viết này, chúng ta sẽ học về cách để tạo bảng trong PHP. Một bảng cơ sở dữ liệu sẽ có tên riêng của nó và bao gồm các hàng và các cột.
Tạo bảng trong PHP
Lệnh CREATE TABLE dùng để tạo một bảng mới trong MySql.
Chúng ta sẽ tạo bảng có tên là “MyGuests” và có 5 cột: “id”, “firstname”, “lastname”, “email” and “reg_date”:
1 2 3 4 5 6 7 |
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 ) |
Lưu ý trong bảng trên:
Mỗi cột sẽ có một kiểu giá trị, Ví dụ: int(6), varchar(255) theo sau là kích thước của chúng.
Sau kiểu dữ liệu, bạn có thể chỉ định các thuộc tính tùy chọn khác cho mỗi cột:
- NOT NULL – Mỗi hàng phải chứa một giá trị cho cột đó, giá trị NULL không được phép
- DEFAULT value – Đặt giá trị mặc định được thêm vào khi không có giá trị nào khác.
- UNSIGNED – Được sử dụng cho các kiểu dữ liệu số, giới hạn dữ liệu được lưu trữ ở số dương và số 0
- AUTO INCREMENT – MySQL tự động tăng giá trị của trường lên 1 mỗi khi một bản ghi mới được thêm vào
- PRIMARY KEY – Được sử dụng để xác định giá trị duy nhất các hàng trong bảng. Cột có cài đặt PRIMARY KEY thường là ID và thường được sử dụng với AUTO_INCREMENT
Mỗi bảng phải có một cột khóa chính (trong trường hợp này là cột “id”). Giá trị của nó phải là duy nhất cho mỗi bản ghi trong bảng.
Các ví dụ sau đây cho thấy cách tạo bảng trong PHP:
Tạo bảng trong PHP sử dụng MySQLi Object-oriented
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // sql to create 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 ($conn->query($sql) === TRUE) { echo "Table MyGuests created successfully"; } else { echo "Error creating table: " . $conn->error; } $conn->close(); ?> |
Tạo bảng sử dụng MySQLi Procedural
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } // sql to create 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); } mysqli_close($conn); ?> |
Tạo bảng sử dụng PDO
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // sql to create 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 )"; // use exec() because no results are returned $conn->exec($sql); echo "Table MyGuests created successfully"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?> |
Bài viết liên quan
Tham khảo: https://www.w3schools.com/