NTM Solutions

Facebook Youtube Google+

Thứ Sáu, 12 tháng 10, 2018

MYSQL – Bài 03 – Tạo bảng


XEM MỤC LỤC CÁC BÀI VIẾT PHP

01 bảng cơ sở dữ liệu có 01 tên duy nhất và chứa các dòng và cột.

Tạo 01 bảng MySQL dùng MySQLi và PDO


Câu lệnh CREATE TABLE được dùng để tạo bảng trong MySQL.

Chúng ta sẽ tạo 01 bảng có tên "MyGuests", có 05 cột: "id", "firstname", "lastname", "email" and "reg_date":

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
)

Ghi chú:

Kiểu dữ liệu xác định loại dữ liệu mà cột đó chứa.

Xem thêm phần tham khảo các kiểu dữ liệu trong mySQL tại đây: Data Types reference.

Sau kiểu dữ liệu, bạn có thể định các tùy chọn thuộc tính khác cho từng cột:

·         NOT NULL – không cho phép cột dữ liệu RỖNG.

·         DEFAULT – giá trị mặc định sẽ được gán khi không có giá trị nào được thêm vào.

·         UNSIGNED – Dùng cho kiểu số , giới hạn dữ liệu không được âm và bằng 0.

·         AUTO INCREMENT - MySQL tự động tăng giá trị thêm 01 mỗi lần tạo mới 01 bản ghi.

·         PRIMARY KEY – dùng để xác định khóa chính của bảng. Cột có thiết lập PRIMARY KEY thường là 01 ID , và thường đi kèm thiết lập AUTO_INCREMENT

Mỗi bảng phải có 01 cột làm khóa chính (trong ví dụ này là cột "id"). Giá trị của nó phải là duy nhất trong từng dòng bảng ghi trong bảng.

Các ví dụ sau cho thấy cách tạo 01 bảng trong PHP.

Trước khi chạy các ví dụ , ta phải tạo sẵn 02 cơ sở dữ liệu RỖNG:mydb và mydbpdo

Ví dụ (MySQLi hướng đối tượng)


<?php
$servername = "localhost";
$root = 
"root";
$password = 
"";
$dbname = 
"myDB";

// Tạo kết nối
$conn = new mysqli($servername, $root, $password, $dbname);
// Kiểm tra kết nối
if ($conn->connect_error) {
     
die("Lỗi kết nối: " . $conn->connect_error);
}

// Câu sql tạo bảng
$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
)"
;

if ($conn->query($sql) === TRUE) {
    
echo "Bảng MyGuests tạo thành công!";
else {
    
echo "Lỗi khi tạo bảng: " . $conn->error;
}

$conn->close();
?>

Ví dụ (MySQLi thủ tục)


<?php
$servername = "localhost";
$root = 
"root";
$password = 
"";
$dbname = 
"myDB";

// Tạo kết nối
$conn = mysqli_connect($servername, $root, $password, $dbname);
// Kiểm tra kết nối
if (!$conn) {
 die("Lỗi kết nối: " . mysqli_connect_error());
}

// câu sql tạo bảng
$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
)"
;

if (mysqli_query($conn, $sql)) {
    
echo "Bảng MyGuests tạo thành công!";
else {
    
echo "Lỗi khi tạo bảng: " . mysqli_error($conn);
}

mysqli_close($conn);
?>
 

Ví dụ (PDO)


<?php
$servername = "localhost";
$root = 
"root";
$password = 
"";
$dbname = 
"myDBPDO";

try {
    $conn = 
new PDO("mysql:host=$servername;dbname=$dbname", $root, $password);
    
// thiết lập chế độ PDO bắt lỗi bằng ngoại lệ
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    
// câu sql tạo bảng
    $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
    )"
;

    
// dùng exec() vì không có kết quả trả về
    $conn->exec($sql);
    
echo "Bảng MyGuests tạo thành công!";
    }
catch(PDOException $e)
    {
    
echo $sql . "<br>" . $e->getMessage();
    }

$conn = null;
?>

Nếu vẫn chưa rõ các bạn xem them video clip sau:

XEM MỤC LỤC CÁC BÀI VIẾT PHP

By #tiensim

Nguồn: sưu tầm