English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Основной Урок

PHP Уровеньный Урок

PHP & MySQL

PHP Референс Мануал

Создание таблиц PHP MySQL

В этом руководстве вы узнаете, как создавать таблицы в базе данных MySQL с использованием PHP.

Создание таблиц в MySQL数据库 с использованием PHP

В предыдущей главе мы изучили, как создавать базы данных на сервере MySQL. Теперь пришло время создать несколько таблиц в этой базе данных, которые будут фактически хранить данные. Таблицы организуют информацию в строки и столбцы.

SQL CREATE TABLEЭта команда используется для создания таблицы в базе данных.

Давайте используем команду CREATE TABLE для выполнения SQL-запроса, а затем выполним этот SQL-запрос, передав его в функцию PHP mysqli_query(), чтобы в конечном итоге создать таблицу.

<?php
/* Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL.
Сервер с	default настройками (пользователь без пароля "root"). */
$link = mysqli_connect("localhost", "root", "");
 
// проверка подключения
if($link === false){
    die("ошибка: не удалось подключиться." . mysqli_connect_error());
}
//Попытка выполнения запроса CREATE TABLE
$sql = "CREATE TABLE persons("
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(30) NOT NULL,
    last_name VARCHAR(30) NOT NULL,
    email VARCHAR(70) NOT NULL UNIQUE
)";
if(mysqli_query($link, $sql)){
    echo "Таблица успешно создана.";
}
    echo "ошибка: не удалось выполнить $sql." . mysqli_error($link);
}
 
//Закрытие подключения
mysqli_close($link);
?>
<?php
/* Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL.
Сервер с	default настройками (пользователь без пароля "root"). */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
// проверка подключения
if($mysqli === false){
    die("ошибка: не удалось подключиться." . $mysqli->connect_error);
}
 
//Попытка выполнения запроса CREATE TABLE
$sql = "CREATE TABLE persons("
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(30) NOT NULL,
    last_name VARCHAR(30) NOT NULL,
    email VARCHAR(70) NOT NULL UNIQUE
)";
if($mysqli->query($sql) === true){
    echo "таблица создана успешно.";
}
    echo "ошибка: не удалось выполнить $sql." . $mysqli->error;
}
 
//Закрытие подключения
$mysqli->close();
?>
<?php
/* Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL.
Сервер с	default настройками (пользователь без пароля "root"). */
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", \
    //Установка режима ошибок PDO на исключения
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
    die("Ошибка: Не удалось подключиться. ". $e->getMessage());
}
 
//Попытка выполнения запроса CREATE TABLE
try{
    $sql = "CREATE TABLE persons("
        id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
        first_name VARCHAR(30) NOT NULL,
        last_name VARCHAR(30) NOT NULL,
        email VARCHAR(70) NOT NULL UNIQUE
    )";    
    $pdo->exec($sql);
    echo "Таблица успешно создана.";
} catch(PDOException $e){
    die("Ошибка: Не удалось выполнить $sql. ". $e->getMessage());
}
 
//Закрытие подключения
unset($pdo);
?>

PHP-код в предыдущем примере создает таблицу с именем person в демонстрационной базе данных, которая имеет четыре столбца: id, first_name, last_name и email.
Обратите внимание, что после каждого имени поля есть声明 типа данных; это заявление определяет тип данных, который может хранить столбец, целое число, строка, дата и т.д.

В предыдущем SQL-запросе после имен столбцов указаны дополнительные ограничения (также называемые модификаторами), такие как NOT NULL, PRIMARY KEY, AUTO_INCREMENT и т.д. Ограничения определяют правила, касающиеся разрешенных значений в столбце.

Пожалуйста, посмотрите наSQL-запрос CREATE TABLEинструкции, чтобы получить подробную информацию о грамматике и доступных типах данных и ограничениях в системе базы данных MySQL.

Внимание: В SQL-запросах может содержаться любое количество строк перерыва, при условии, что ни один из них не прерывает ключевые слова, значения, выражения и т.д.