Добавить в корзинуПозвонить
Найти в Дзене
Dull

PHP. Как создать таблицу если её нет

$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); $sql = "CREATE TABLE IF NOT EXISTS `user` ( `id` int(20) unsigned NOT NULL AUTO_INCREMENT, `email` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `name` varchar(255) DEFAULT NULL, `surname` varchar(255) DEFAULT NULL, `about` TEXT DEFAULT NULL, `phone` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;"; mysqli_query($mysqli, $sql); Этот код на PHP выполняет создание таблицы в базе данных MySQL с использованием расширения MySQLi. Давайте разберем его по частям: В итоге, данный код создает таблицу user в базе данных, если она еще не существует, с определенными столбцами и настройками.

$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$sql = "CREATE TABLE IF NOT EXISTS `user` (
`id` int(20) unsigned NOT NULL AUTO_INCREMENT,
`email` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`name` varchar(255) DEFAULT NULL,
`surname` varchar(255) DEFAULT NULL,
`about` TEXT DEFAULT NULL,
`phone` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;";
mysqli_query($mysqli, $sql);

Этот код на PHP выполняет создание таблицы в базе данных MySQL с использованием расширения MySQLi. Давайте разберем его по частям:

  1. Подключение к базе данных:$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
    Здесь создается новый объект $mysqli класса mysqli, который устанавливает соединение с базой данных.
    DB_HOST, DB_USER, DB_PASS и DB_NAME — это константы, которые должны быть определены заранее и содержат информацию о хосте базы данных, имени пользователя, пароле и имени базы данных соответственно.
  2. Создание SQL-запроса:$sql = "CREATE TABLE IF NOT EXISTS `user` (
    `id` int(20) unsigned NOT NULL AUTO_INCREMENT,
    `email` varchar(255) NOT NULL,
    `password` varchar(255) NOT NULL,
    `name` varchar(255) DEFAULT NULL,
    `surname` varchar(255) DEFAULT NULL,
    `about` TEXT DEFAULT NULL,
    `phone` varchar(255) DEFAULT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;";
    Здесь создается строка $sql, которая содержит SQL-запрос для создания таблицы.
    CREATE TABLE IF NOT EXISTS — команда SQL, которая создает таблицу user, если она еще не существует.

    Внутри скобок определяются столбцы таблицы:id — целочисленный столбец, который автоматически увеличивается (AUTO_INCREMENT) и является первичным ключом (PRIMARY KEY).
    email, password, name, surname, about, phone — различные столбцы с типами данных varchar и TEXT. NOT NULL означает, что значение не может быть пустым, а DEFAULT NULL позволяет оставлять значение пустым.
    ENGINE=InnoDB указывает, что таблица будет использовать механизм хранения InnoDB, который поддерживает транзакции и внешние ключи.
    DEFAULT CHARSET=utf8 устанавливает кодировку по умолчанию для таблицы на UTF-8.
  3. Выполнение SQL-запроса:mysqli_query($mysqli, $sql);
    Функция mysqli_query() выполняет SQL-запрос, который был создан ранее.
    В качестве параметров передаются объект соединения $mysqli и строка запроса $sql.

В итоге, данный код создает таблицу user в базе данных, если она еще не существует, с определенными столбцами и настройками.