1. Створення таблиці

Список таблиць у нас порожній, тому настав час створити нашу першу таблицю. Для цього є три способи:

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

Давай цього разу скористаємося локальним меню. Просто клацни правою кнопкою мишки на полі Tables, і ти отримаєш таку картинку:

MySQL Workbench Create Table

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

MySQL Workbench Create Table 1

Тобі тут потрібно всього 2 місця:

  1. Вказати ім'я таблиці у полі зверху.
  2. Вказати ім'я та тип колонок у полі в центрі.

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. Ми ж не хочемо, щоби хтось зберіг туди пару мільйонів символів і щось нам поламав. Надійність — наше все.

3. Вказуємо імена полів

Тепер давай додамо потрібні колонки — їх загалом 4:

MySQL Workbench Create Table 3

Зверни увагу на дві колонки зліва зверху:

  • Column Name — це імена колонок.
  • DataType — це типи колонки.

Все як ми планували.

А в нижній половині зображення ми бачимо детальну розшифровку поточного рядка таблиці, яка описує колонку таблиці user. Сподіваюся, все зрозуміло.

Важливо! Якщо ти вважаєш, що значення якоїсь колонки точно не повинні бути NULL, тоді тобі потрібно позначити її як Not Null (у правому нижньому кутку). Водночас MySQL-сервер стежитиме за тим, щоб так було завжди.

Також у нас id відзначена як Primary Key, який, як ти пам'ятаєш, позначає, що це унікальні Id записи.

4. SQL-запит на створення таблиці

Натискаємо Apply та отримуємо такий чудовий SQL-запит:

MySQL Workbench Create Table 4

Чимось схоже на оголошення класу в Java, чи не так?

Клікаємо Apply, і бачимо нашу першу створену таблицю:

MySQL Workbench Create Table 5