Как добавлял новый столбец в таблице в БД

«Как добавлял новый столбец в таблице в БД» — вопрос из категории Базы данных, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для добавления нового столбца в таблицу используется SQL-запрос ALTER TABLE. В Go это можно сделать через database/sql пакет:

_, err := db.Exec(`
    ALTER TABLE users 
    ADD COLUMN IF NOT EXISTS phone VARCHAR(20)
`)
if err != nil {
    log.Fatal(err)
}

Ключевые моменты:

  1. Используем ADD COLUMN для добавления столбца
  2. IF NOT EXISTS предотвращает ошибку при повторном выполнении
  3. Указываем тип данных (VARCHAR, INT и т.д.)
  4. Можно добавить ограничения: NOT NULL, DEFAULT и т.п.

Пример с миграцией:

func migrate(db *sql.DB) error {
    _, err := db.Exec(`ALTER TABLE products ADD COLUMN price DECIMAL(10,2) DEFAULT 0`)
    return err
}