PHP5 MySQL Создать таблицу
Таблица базы данных имеет свое уникальное имя и состоит из строк и столбцов.
MySQL Создание таблицы, используя mysqli и PDO
Заявление CREATE TABLE используется для создания таблицы в MySQL.
Мы создадим таблицу с именем "MyGuests"
, с пятью столбиками:
"id"
, "firstname"
, "lastname"
,
"email"
и "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
)
Примечания к таблице выше:
Тип данных определяет, какой тип данных столбец может содержать. Для полного ознакомления со всеми доступными типами данных перейдите к нашей Справочник на типы данных.
После, типов данных можно указать другие необязательные атрибуты для каждого столбца:
- NOT NULL - Каждая строка должна содержать значение для этого столбца, значения NULL не разрешены
- DEFAULT value - Задайте значение по умолчанию, добавляемое, когда никакое другое значение не передается
- UNSIGNED - Используется для типов чисел, ограничивает сохраненные данные положительными числами и нулем
- AUTO INCREMENT - MySQL автоматически увеличивает значение поля на 1 при каждом добавлении новой записи
- PRIMARY KEY - Используется для уникальной идентификации строк в таблице. Столбец с параметром PRIMARY KEY первичного ключа часто является ID идентификационным номером и часто используется с AUTO_INCREMENT
Каждая таблица, должна иметь столбец первичного ключа (в этом случае: "id"
столбец).
Его значение должно быть уникальным для каждой записи в таблице.
В следующих примерах показано, как создать таблицы в PHP:
Пример MySQLi - объектно-ориентированный
<?php
// Подключение к MySQL
$servername = "localhost"; // локалхост
$username = "root"; // имя пользователя
$password = ""; // пароль если существует
$dbname = "myDB"; // база данных
// Создание соединения
$conn = new mysqli($servername, $username, $password, $dbname);
// Проверка соединения
if ($conn->connect_error) {
die("Ошибка подключения: " . $conn->connect_error);
}
// Создание таблицы
$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 "Таблица MyGuests создана успешно";
} else {
echo "Ошибка создания таблицы: " . $conn->error;
}
// Закрыть подключение
$conn->close();
?>
Пример MySQLi - процессуальный
<?php
// Подключение к MySQL
$servername = "localhost"; // локалхост
$username = "root"; // имя пользователя
$password = ""; // пароль если существует
$dbname = "myDB"; // база данных
// Создание соединения
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Проверка соединения
if (!$conn) {
die("Подключение не удалось: " . mysqli_connect_error());
}
// Создание таблицы
$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);
?>
Пример PDO
<?php
// Подключение к MySQL
$servername = "localhost"; // локалхост
$username = "root"; // имя пользователя
$password = ""; // пароль если существует
$dbname = "myDBPDO"; // база данных
// Создание соединения и исключения
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// Установить режим ошибки PDO в исключение
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Создание таблицы
$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;
?>