Manual belajar ...login
Manual belajar kendiri lengkap PHP
pengarang:php.cn  masa kemas kini:2022-04-15 13:53:54

PHP MySQL mencipta jadual data



Jadual data mempunyai nama unik dan terdiri daripada baris dan lajur.


Membuat jadual MySQL menggunakan MySQLi dan PDO

Pernyataan CREATE TABLE digunakan untuk mencipta jadual MySQL.

Tutorial video yang disyorkan: "tutorial mysql" http://www.php.cn/course/list/51.html

Kami akan membuat jadual bernama "MyGuests" dengan 5 lajur: "id", "firstname", "lastname", "email" dan "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
)

Nota daripada jadual di atas:

Jenis data menentukan jenis data yang boleh disimpan oleh lajur. Untuk jenis data yang lengkap, sila rujuk kami Manual rujukan jenis data.

Selepas menetapkan jenis data, anda boleh menentukan sifat pilihan lain untuk setiap lajur:

  • BUKAN NULL - setiap baris mesti mengandungi nilai (tidak boleh kosong) ), nilai nol tidak dibenarkan.

  • Nilai DEFAULT - Tetapkan nilai lalai

  • UNSIGNED - Gunakan jenis angka tidak bertanda, 0 dan nombor positif

  • TAMBAH AUTO - Tetapkan nilai medan MySQL untuk meningkat secara automatik sebanyak 1 setiap kali rekod baharu ditambahkan

  • KUNCI UTAMA - Tetapkan pengecam unik setiap rekod dalam jadual data. Biasanya KUNCI UTAMA lajur ditetapkan kepada nilai ID, yang sama dengan Digunakan bersama-sama dengan AUTO_INCREMENT.

Setiap jadual harus mempunyai kunci utama (lajur ini ialah lajur "id") dan kunci utama mesti mengandungi nilai unik.

Contoh berikut menunjukkan cara membuat jadual dalam PHP:

Contoh (MySQLi - Berorientasikan Objek)

<?php
$servername = "localhost";
$username = "username";
$password = 
"password";
$dbname = 
"myDB";
// 创建连接
$conn = 
new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
// 使用 sql 创建数据表
$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 "Table 
MyGuests created successfully";
} else {
    echo 
"创建数据表错误: " . $conn->error;
}
$conn->close();
?>

Instance (MySQLi - Berorientasikan Prosedur)

<?php
$servername = "localhost";
$username = "username";
$password = 
"password";
$dbname = 
"myDB";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, 
$dbname);
// 检测连接
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}
// 使用 sql 创建数据表
$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 "数据表 MyGuests 
创建成功";
} else {
    echo "创建数据表错误: " . mysqli_error($conn);
}
mysqli_close($conn);
?>

Instance (PDO)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = 
"myDBPDO";
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", 
$username, $password);
    
// 设置 PDO 错误模式,用于抛出异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, 
PDO::ERRMODE_EXCEPTION);
    // 使用 sql 创建数据表
   
$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
    )";
    // 使用 exec() ,没有结果返回 
    $conn->exec($sql);
    
echo "数据表 MyGuests 创建成功";
}
catch(PDOException $e)
 {
    
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>

Laman web PHP Cina