PHP complete se...login
PHP complete self-study manual
author:php.cn  update time:2022-04-15 13:53:54

PHP MySQL creates data table



A data table has a unique name and consists of rows and columns.


Creating a MySQL table using MySQLi and PDO

The CREATE TABLE statement is used to create a MySQL table.

Related video tutorial recommendations: "mysql tutorial"http://www.php.cn/course/list/51.html

We will create a table named "MyGuests" with 5 columns: "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
)

Notes in the above table:

The data type specifies what type of data the column can store. For complete data types, please refer to our Data types reference manual.

After setting the data type, you can specify the properties of other options for each column:

  • NOT NULL - Each row must contain a value (cannot be empty) ), null values ​​are not allowed.

  • DEFAULT value - Set the default value

  • UNSIGNED - Use unsigned numeric type, 0 and positive numbers

  • AUTO INCREMENT - Set the value of the MySQL field to automatically increase by 1 each time a new record is added

  • ##PRIMARY KEY - Set the unique identifier of each record in the data table. Usually the PRIMARY KEY of the column is set to the ID value, which is the same as Used together with AUTO_INCREMENT.

Every table should have a primary key (this column is the "id" column), and the primary key must contain a unique value.

The following example shows how to create a table in PHP:

Example (MySQLi - Object Oriented)

<?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();
?>
Example (MySQLi - Procedure Oriented)

<?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);
?>
Example (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;
?>