English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве вы узнаете, как создавать таблицы в базе данных 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-запросах может содержаться любое количество строк перерыва, при условии, что ни один из них не прерывает ключевые слова, значения, выражения и т.д.