CREATE/DROP TABLE. Создание и удаление таблиц для базы данных в MySQL

Запрос на создание таблицы в MySQL

Для создания таблицы потребуется придумать:

  • Имя таблицы
  • Имена полей таблицы
  • Значения, которыми могут быть заполнены поля

Синтаксис запроса на создание таблицы.

Для примера создадим таблицу books со списком книг условной базы данных Bookstore.

Оповестим сервер MySQL с какой базой данных мы собираемся работать.

При именовании колонок таблицы старайтесь использовать знак подчеркивания в местах где предполагается пробел, не начинать имена с заглавной буквы (кроме имен собственных), а также использовать слова в единственном числе, не совпадающие с именем таблицы.

Составим запрос на создании таблицы со следующими полями:

  • id - Идентификатор записи.
  • title - название книги.
  • author - имя автора книги.
  • genre - жанр произведения в книге.
  • price - цена книги.
  • edition - номер издания.
  • isbn - номер ISBN.
  • page_num - число страниц в книге.
  • publish_year - год выхода книги в печать.
  • creation_date - дата создания записи (когда занесли книгу в БД).

После того как вы указали тип данных для поля, вы можете также указать дополнительные атрибуты:

  • UNSIGNED - позволяет увеличить диапазон числовых значений за счет отключения использования отрицательных чисел. Используется только с числовыми типами данных.
  • AUTO_INCREMENT - значение поля с этим атрибутом будет увеличиваться на 1 при каждом создании новой записи в таблице. Часто используется для автоматического заполнения полей с идентификатором записи.
  • PRIMARY_KEY - первичный ключ используется для идентификации записей в таблице. Первичным ключом может быть только уникальное значение поэтому чаще всего это значение поля id с атрибутом AUTO_INCREMENT.
  • NOT NULL - обязательное поле для заполнения (не может быть пустым).
  • DEFAULT - значение поля по умолчанию.

Каждая таблица должна иметь поле которое помечено как первичный ключ.

Создание таблицы в терминале:

[root@centos7 ~]# mysql -u root -p
Enter password:
mysql> USE Bookstore;
Database changed

mysql> CREATE TABLE books(
    -> id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    -> title VARCHAR(50) NOT NULL,
    -> author VARCHAR(50) NOT NULL,
    -> genre SET('Драма','Роман','Повесть','Рассказ','Поэма'),
    -> price DECIMAL(15,2),
    -> edition TINYINT UNSIGNED DEFAULT '1' NOT NULL,
    -> isbn VARCHAR(50),
    -> page_num SMALLINT UNSIGNED,
    -> publish_year SMALLINT(4),
    -> creation_date TIMESTAMP);
Query OK, 0 rows affected (0.22 sec)

mysql>

Создание таблицы в базе данных с помощью PHP (PDO)

Запрос на удаление таблицы в MySQL

Синтаксис запроса на удаление таблицы:

Удаление таблицы в терминале.

[root@centos7 ~]# mysql -u root -p
Enter password:
mysql> USE Bookstore;
Database changed

mysql> DROP TABLE books;
Query OK, 0 rows affected (0.05 sec)

mysql>

Удаление таблицы в базе данных с помощью PHP (PDO)