[БЕЗ_ЗВУКА] [БЕЗ_ЗВУКА] Всем привет! В этом видео мы попробуем отредактировать те таблицы, которые мы создали в предыдущем видео. В частности, в предыдущем видео мы скопировали таблицу, и у неё потерялись связи с другими таблицами. Вот мы попробуем это исправить, а также поиграться с колонками, подобавлять, поредактировать, и так далее. Давайте приступим. Для этого мы будем использовать SQL Workbench. Для начала мы должны создать соединение с MySQL сервером. Поскольку MySQL сервер у нас запущен локально, я назову это соединение local. Он подставил уже здесь hostname 127.0.0.1, это как раз, действительно, то, что надо, и порт 3306, который является портом MySQL по умолчанию. Всё правильно. И даже пользователя root подставил. Мы можем назать test connettion — и он скажет нам, что соединение удалось. Отлично! Теперь мы используем созданное соединение и подключаемся к нашему MySQL. Здесь у меня есть ряд таблиц, ряд баз данных, точнее, и, в частности, база данных books, в которой мы создали в прошлом занятии таблицы. И вот в ней есть та самая таблица book, у которой потерялись связи с другими таблицами. Нажмём на кнопочку гаечного ключа, рядом с ней находящуюся, и откроем режим редактирования. Здесь мы видим прежде всего все колонки этой таблицы с их типами данных. И тут можем выбирать их, изменять эти типы данных, а также галочки напротив различных значений. Например, PK означает первичный ключ, NN — Not Null, UK — Unique, и так далее, UN — Unsigned, AI — Auto Increment. Вот здесь набор галочек позволяет полностью нам понять, что же из себя представляет каждая из этих колонок. Также здесь можно дописать к ней комментарии, и так далее. Также есть вкладка индексов, где показаны все индексы этой таблицы с их типами, с колонками, по которым они построены, и внешние ключи. Вот, собственно, что нам нужно было нужно. Внешних ключей у нас у этой таблицы нет, а должны быть. Давайте добавим. Во-первых, у нас должен быть внешний ключ на таблицу издательств за таблицей книг. Назовём его fk_publisher и скажем, что ссылается он на таблицу books, publisher. Дальше мы укажем, по какой колонке связь идёт. Вот мы указываем, что наша колонка publisher_id связывается с колонкой publisher_id, но уже в таблице publisher. Дальше мы укажем, что случается при обновлении и удалении. Вот здесь вот достаточно проставить, у нас будет cascade. Также мы добавим ещё ключ на жанры, это будет fk_genre, укажем, что ссылается он на таблицу жанров, и связь происходит по genre_id. Точно так же добавим, что cascade для update и delete. Смотрите, нажав на кнопку Apply, мы увидим SQL, который собирается выполнять SQL Workbench, то есть наши действия в графическом интерфейсе она перевела в SQL, с помощью которого и будет обновлена база данных. Вот мы видим, что мы делаем ALTER TABLE books book. ALTER TABLE значит изменить таблицу. И добавим ADD CONSTRAINT. И дальше указываем, какие, собственно, ограничения. По сути запись вот этого CONSTRAINT самого выглядит так же, как она выглядела бы в создании таблицы, только здесь вот добавляется ключевое слово ADD. То есть примерно так же вы бы написали в CREATE, но в ALTER мы добавляем ключевое слово ADD и понимаем, что мы добавляем какие-то новые значения. Мы можем начать Apply и этот SQL будет выполнен. Таким образом, наша табличка придёт в нужное состояние. Мы, например, можем теперь посмотреть её — show create table books book. Видите, она нам подсказывает даже. И можем здесь вот увидеть, но здесь, наверное, будет не очень удобно смотреть, как эта табличка создалась. Давайте отредактируем какую-то таблицу. Например, таблицу авторов, попробуем к ней добавить какие-то колонки дополнительные. Для этого мы точно так же нажимаем на редактировать таблицу авторов. Вот у нас есть имя, пол, дата рождения. Давайте, например, добавим к автору его рейтинг. Почему бы и нет? Добавим сюда поле rate, выберем тип, теперь здесь всё удобно. Мы просто выбираем отсюда, ну и пока нам, наверное, ничего не нужно. Рейтинг не может быть, допустим, с пустым значением, а по умолчанию у него будет ноль. И добавим, давайте, для этого рейтинга индекс, чтобы можно было удобно сортировать авторов по рейтингу. Назовём его dx_rate, выберем, что это обычный индекс, не уникальный, не какой-то ещё. И скажем, что он создан по полю rate. Вот и всё. Теперь нажимаем apply — и мы видим изменения, которые хочет опять внести Workbench в нашу таблицу. Мы видим, что изменяется таблица books author, добавляем колонку. Опять-таки описание колонки такое же, как это было бы при CREATE, то есть мы добавляем только ADD COLUMN, а дальше идёт то же самое название колонки INT NOT NULL DEFAULT 0 COMMENT нет. И здесь мы добавляем, в какое место она добавляется, поскольку это новая колонка, мы можем добавить её не только в конце, но и после какой-то любой другой колонки. Например, мы её добавляем после колонки birthday. Также мы добавляем индекс, указываем название индекса и по каким полям этот индекс строится. Применяем — и в нашей таблице теперь появляется новое поле rate. То есть мы перейдём к колонке, теперь мы видим, что оно всё есть. Вот так вот редактируются таблицы с помощью SQL и с помощью MySQL Workbench. [БЕЗ_ЗВУКА]