[БЕЗ_ЗВУКА] Всем привет! В этом видео мы узнаем, что делать, если надо внести изменения в структуру базы данных или в таблицы. Например, добавить или удалить колонки в таблице или изменить кодировку по умолчанию у базы. И начнем мы с alter database. Alter database очень похож на create database, но только alter. Соответственно, выглядит он так: alter database, имя базы данных, и дальше alter specification. Alter specification может быть либо character set, либо collate. В общем-то, действительно, очень похоже на create database. Дальше мы поговорим об alter table, который позволяет изменить таблицу уже существующую. Alter table, имя таблицы, и дальше alter specification, alter specification, alter specification и partition options. Что такое alter specification? Это любые действия с таблицей: добавление, удаление, изменение колонок, индексов и параметров таблицы. Давайте рассмотрим один из вариантов — это add — добавить, с помощью которого можно добавить колонку, индекс или ограничение. Для начала add column. Добавляется имя колонки, column definition, такое же, как в create, и указывается, куда она добавляется: либо first — в начало таблицы, перед всеми остальными колонками, либо after и имя колонки, после которой добавляется новая колонка. По сути, очень похоже на то, как это выглядит в создании таблицы. Только ключевое слово add и обязательно требуется указание — куда добавляется, в конец или после какой-то. Также мы можем добавить ключ или индекс с помощью add index, добавить ограничение: например, первичный ключ с помощью add primary key, добавить уникальный индекс, добавить внешний ключ с помощью add foreign key и так далее. Также, мы можем изменить уже существующую колонку с помощью change в alter specification. Например, мы можем написать change column, старое имя колонки, новое имя колонки, дальше идет column definition, в котором мы можем полностью переопределить все параметры колонки и также указать, куда поместится измененная колонка — в начало таблицы или после какой-то. В принципе, ее можно оставить и на текущем месте. Также в alter specification может быть drop. С помощью него мы можем удалить колонку, индекс, ключ, или внешний ключ, или вообще любые другие ограничения. Также в alter specification могут быть какие-то опции таблицы. С помощью него мы можем изменить значения автоинкремента, изменить кодировку по умолчанию в таблице, добавить или изменить комментарий, поменять даже движок таблицы. Дальше давайте рассмотрим действия над таблицами: drop, rename и truncate. С помощью drop мы можем удалить таблицу или временную таблицу. Для этого мы пишем: DROP, возможно, [TEMPORARY], TABLE и имя таблицы. Также можем добавить туда [IF EXISTS], который, как и в случае с базами данных, не будет ругаться, если такой таблицы нет. С помощью rename мы можем переименовать одну таблицу и сохранить ее под другим именем. Также мы можем с помощью rename, например, поменять две таблицы местами, то есть имена их сменить. Но это можно сделать только через промежуточную таблицу, то есть поменять таблицу A переименовать в TMP, таблицу B переименовать в B, а TMP переименовать в B. Но это все можно сделать внутри одного ринейма. Также можно очистить таблицу от данных с помощью truncate. Для этого надо сделать TRUNCATE [TABLE]. Но на самом деле truncate не удаляет данные, а внутри себя он полностью удаляет таблицу и пересоздает ее, поэтому это достаточно быстро, но не работает для indb с внешними ключами. Давайте подведем итоги занятия! В этом видео мы научились изменять уже существующие базы данных и таблицы, заметили, что синтаксис изменения слегка напоминает синтаксис создания, научились удалять таблицы и переименовывать и очищать данные в них. Далее рассмотрим более подробно типы данных колонок. [ЗВУК] [БЕЗ_ЗВУКА]