Каталог
Веб-разработка с нуля: четыре курса по порядку.
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Каталог
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Урок 44 из 52 · 10 мин
Меняем существующие таблицы и удаляем ненужные.
Нужно указывать калории. Таблицу придётся создавать заново?
Нет. ALTER TABLE добавит столбец к живой таблице. Старые строки получат NULL или значение по умолчанию.
ALTER TABLEALTER TABLE имя действие; — добавить или удалить столбец, ограничение, переименовать, сменить тип.ALTER TABLE customers ADD COLUMN vip boolean NOT NULL DEFAULT false;
SELECT name, vip FROM customers LIMIT 3;ADD COLUMN · DROP COLUMNADD COLUMN имя тип добавляет, DROP COLUMN имя удаляет столбец вместе с данными.ALTER TABLE products DROP COLUMN weight_g;
SELECT * FROM products LIMIT 2;RENAMERENAME COLUMN старое TO новое или RENAME TO новое_имя_таблицы.ALTER TABLE staff RENAME COLUMN salary TO monthly_salary;
SELECT name, monthly_salary FROM staff LIMIT 2;DROP TABLECREATE TABLE tmp (x int);
DROP TABLE tmp;
SELECT count(*) AS tmp_tables FROM information_schema.tables WHERE table_name = 'tmp';IF EXISTS · IF NOT EXISTSDROP TABLE IF EXISTS не падает, если таблицы нет. CREATE TABLE IF NOT EXISTS — если уже есть.DROP TABLE IF EXISTS nothing_here;
CREATE TABLE IF NOT EXISTS categories (id int);
SELECT count(*) FROM categories;CASCADEDROP TABLE … CASCADE удаляет и то, что от таблицы зависит: внешние ключи, представления.В рабочей базе структура меняется миграциями — пронумерованными скриптами ALTER, которые идут только вперёд.
Добавь в products столбец warranty_months типа integer, а потом укажи у кружки с принтом (id = 11) гарантию 12 месяцев.
warranty_months типа integer — пока нетcategories — категории товаровid, nameproducts — товарыid, name, category_id, price, weight_g, is_available, added_oncustomers — покупателиid, name, email, city, phone, birthday, registered_onstaff — сотрудникиid, name, role, salary, hired_on, manager_idorders — заказыid, customer_id, staff_id, created_at, statusorder_items — позиции заказовorder_id, product_id, quantity, unit_pricereviews — отзывыid, customer_id, product_id, rating, comment, created_onВыберите один ответ.
Что окажется в новом столбце у существующих строк после ADD COLUMN warranty_months integer?
Выберите один ответ.
Зачем DROP TABLE IF EXISTS?
Проверяем состояние обучения…