PHP Створення таблиці 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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
Примітки до таблиці вище:
Тип даних визначає, який тип даних може містити стовпець. Щоб отримати повну довідку про всі доступні типи даних, перейдіть до Довідник типів даних.
Після типу даних ви можете вказати інші додаткові атрибути для кожного стовпця:
- NOT NULL – кожен рядок має містити значення для цього стовпця, нульові значення не допускаються
- DEFAULT значення – установіть значення за замовчуванням, яке додається, коли не передається жодне інше значення
- UNSIGNED – використовується для типів чисел, обмежує збережені дані додатними числами та нулем
- AUTO INCREMENT - MySQL автоматично збільшує значення поля на 1 кожного разу, коли додається новий запис
- PRIMARY KEY – використовується для унікальної ідентифікації рядків у таблиці. Стовпець із налаштуванням PRIMARY KEY часто є ідентифікаційним номером і часто використовується з AUTO_INCREMENT
Кожна таблиця повинна мати стовпець первинного ключа (у цьому випадку: стовпець "id"). Його значення має бути унікальним для кожного запису в таблиці.
У наступних прикладах показано, як створити таблицю в PHP:
Приклад (MySQLi Об’єктно-орієнтований)
<?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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
if ($conn->query($sql) === TRUE) {
echo "Таблицю MyGuest створено успішно";
} else {
echo "Помилка створення таблиці: " . $conn->error;
}
$conn->close();
?>
Приклад (MySQLi Процедурний)
<?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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
if (mysqli_query($conn, $sql)) {
echo "Таблицю MyGuests створено успішно";
} else {
echo "Помилка створення таблиці: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
Приклад (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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
// використовуйте exec(), оскільки результати не повертаються
$conn->exec($sql);
echo "Таблицю MyGuest створено успішно";
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>