Создание таблицы

Список таблиц у нас пуст, так что пришло время создать нашу первую таблицу. Для этого есть три способа:

  • Кнопка Create Table в верхнем toolbar
  • Локальное меню
  • SQL-скрипт

Давай в этот раз воспользуемся локальным меню. Просто кликни правой кнопкой мышки на поле Tables и получи такую картинку:

Create Table MySQL Workbench

Дальше ты увидишь панель для создания таблицы – она страшнее, чем кажется:

Create Table MySQL Workbench 1

Тебе тут нужно всего 2 места:

  1. Указать имя таблицы в поле сверху.
  2. Указать имя и тип колонок в поле в центре.

Проектирование: как правильно выбирать имена и типы колонок

Давай создадим таблицу, которая будет хранить пользователей. В Java мы бы написали что-то типа такого:

class User {
   public int userId;
   public String name;
   public int level;
   public Date createdDate;
}

Как нам создать такую таблицу в SQL?

Для начала определимся с конвенцией имен. В Java используется camelCase, но так как SQL по большей части регистронезависимый, то тут обычно используется нижнее подчеркивание. Поэтому userId превращается в user_id, а createdDate в created_date.

Дальше нужно определиться с типами. Давай создадим таблицу по имени user, которая будет содержать 4 колонки:

  • id типа INT
  • name типа VARCHAR(100)
  • level типа INT
  • created_date типа DATE

Вместо user_id мы написали id, так как именно так принято в SQL, user_id мы бы написали, если бы где-то в другой таблице ссылались на колонку id таблицы user.

Также мы установили ограничение в 100 символов для поля name. Мы же не хотим, чтобы кто-то сохранил туда пару миллионов символов и что-то нам поломал. Надежность наше все.

Указываем имена полей

Теперь давай добавим нужные колонки – их всего 4:

Create Table MySQL Workbench 3

Обрати внимание на две колонки слева сверху:

  • Column Name – это имена колонок.
  • DataType – это типы колонки.

Все как мы и планировали.

А в нижней половине картинки мы видим детальную расшифровку текущей строки таблицы, которая описывает колонку таблицы user. Надеюсь, все понятно.

Важно! Если ты считаешь, что значения какой-то колонки точно не должны быть NULL, тогда тебе нужно пометить ее как Not Null (в правом нижнем углу). При этому MySQL-сервер будет следить за тем, чтобы так всегда и было.

Также у нас id отмечена как Primary Key, который как ты помнишь, обозначает, что это уникальные Id записи.

SQL-запрос на создание таблицы

Нажимаем Apply и получаем такой чудесный SQL-запрос:

Create Table MySQL Workbench 4

Чем-то похоже на объявление класса в Java, да?

Кликаем Apply и видим нашу первую созданную таблицу:

Create Table MySQL Workbench 6