Статья из серии о создании Java-проекта (ссылки на другие материалы — в конце). Ее цель — разбор ключевых технологий, итог — написание телеграм-бота.поверить мне проверить результат, посмотрим, сколько осталось баз данных:
$ SHOW DATABASES;Как мы видим, базы данных с именем test_db нет. ЧТД :D
- Проверка домашнего задания
- Устанавливаем MySQL на MacOS
- Входим в командную строку MySQL
- Пишем свои первые строки в SQL
- Домашнее задание
- Итоги
Проверка домашнего задания
В прошлый раз я давал задание — установить себе на машину MySQL и зайти в него. Через консоль, или каким-то другим способом. Все сделали?Кто сделал — молодец! Не важно, на каком вы уровне в JavaRush — важно уметь установить и настроить по мануалам необходимые инструменты для работы. А я вас уверяю, их будет много. Кто пытался, но не получилось — тоже не страшно. Не всегда это бывает с первого раза: иногда нужно сделать перерыв и попробовать со свежими силами еще раз. Кто установил MySQL сам — напишите «+» в комментариях, чтобы я знал, что кто-то это делает. Сам буду это делать тоже. Так как у меня больше нет ноута на Windows, буду показывать на макбуке. Не думаю, что сильно будет отличаться процесс установки. Для тех, кто хочет-таки установить сам, используя английский мануал, прошу сюда.Устанавливаем MySQL на MacOS
Первым делом переходим по следующей ссылке, выбираем операционную систему, будь то Windows, Ubuntu или MacOS, как показано ниже:Скачиваем и запускаем. У меня, правда, не сразу все пошло правильно. Оказалось, что Apple не пропускает установку последней версии:Можно, конечно, отключить это дело, но макбук рабочий, и лезть в его настройки не буду. Поэтому методом проб и ошибок нашел версию, которую можно установить — это 5.7.21. Чтобы найти другие версии, перешел в Archive вкладку и выбрал нужную версию:Далее, запускаем скачанный файл. Нажимаем далее, далее, далее, а вот в конце будьте внимательны! Там будет имя и пароль для входа в базу данных. У меня это выглядело так:Здесь сказано, что будет юзер с именем root и паролем Vac/zto=.24q. На этом установка завершена.Входим в командную строку MySQL
Чтобы войти, нужно удостовериться, что MySQL сервер включен. Для этого заходим в System Preferences, находим там значок MySQL:Переходим в нее и видим, что сперва сервер нужно включить. Для этого просто нажимаем Start MySQL Server и все. Да, можно еще поставить галочку, чтобы сервер поднимался в фоновом режиме при каждом старте машины.Важно отметить, что все запросы в терминале я буду начинать с символа $, чтобы было понятно. Далее нужно непосредственно подключиться к MySQL серверу через командную строку. Для этого открываем terminal и пишем: $ mysql И тут два варианта:- Если ответ будет «ERROR 1045 (28000): Access denied for user 'roman_beskrovnyi'@'localhost' (using password: NO», то это значит, что сервер установлен и отзывается. Просто нужно ему передать правильную команду.
- Если будет ответ command not found: mysql, не страшно — просто нет ссылки на сервер. Для этого нужно будет сделать алиас с переменной mysql, поэтому пишем следующую строку:
$ alias mysql=/usr/local/mysql/bin/mysql
Это поможет только для этой сессии терминала. Но нам больше и не нужно — работать все время через терминал мы точно не будем.
- MySQL не установлен, не морочьте компьютеру голову.
Пишем свои первые строки в SQL
Как вы уже могли заметить выше, нам известны две команды:- CREATE DATABASE — создает базу данных на сервере;
- SHOW DATABASES — показывает все созданные и доступные базы данных на сервере.
Создаем свою базу данных и таблицу
Создаем базу данных cities: $ CREATE DATABASE cities; Чтобы работать в определенной базе данных, нужно войти в нее. Для этого используется команда USE database_name, после этого все команды для работы с таблицами будут проводиться именно в этой базе данных. $ USE cities; Как видно из ответа — Database changed, переход в эту базу данных прошел успешно.Следующий этап — создание таблицы. Какой? Ну, для начала создадим таблицу со странами. Почему так? Потому что для городов же нужен внешний ключ страны, в которой он находится. А его можно получить после того, как эти страны вообще начнут находится в БД (здесь и далее — сокращенно от базы данных). Как мы помним из предыдущей статьи, в таблице, где описаны страны, у нас два поля — ID и name, где ID — это уникальный идентификатор, а name — это имя страны. Поэтому создать базу данных такую проще простого. Пишем: $ CREATE TABLE country (id INT, name VARCHAR(30));Как видно, все прошло успешно. По аналогии с SHOW DATABASES, можем посмотреть список таблиц: $ SHOW TABLES;Вот она, наша таблица. Теперь научимся удалять таблицы. Для этого напишем: $ DROP TABLE country;Важно отметить, чтобы после удаления таблицы или базы данных восстановить ее не получится!Работаем с таблицей
Восстановим таблицу, которую мы создали. Для этого нужно просто повторить то, что уже делали. Чтобы посмотреть на структуру таблицы, нужно использовать следующую команду — DESC table_name: $ DESC country;Как вы видите, вся информация о таблице записана здесь. Чтобы добавить что-то в таблицу, нужно использовать команду INSERT INTO table_name VALUES(). Добавим три записи для трех стран: $ INSERT INTO country VALUES (1, ‘Ukraine’); $ INSERT INTO country VALUES (2, ‘Russia’); $ INSERT INTO country VALUES (3, ‘Belorus’);Чтобы посмотреть на то, что сохранено в БД, будем использовать простейший запрос на получение данных. Для этого мы хотим получить данные всех полей из таблицы country. Внимательно запомните предыдущее предложение, потому что запрос sql будет такой: $ SELECT * FROM country; Где * означает, что нужно взять все поля.Вот какая красота получилась у нас. Если нам захочется получить только конкретное поле — не проблема: вместо звезды пишем через запятую имена полей, которые должны быть. Попробуйте сами ;) Создали мы уже таблицу, но как-то мало информации у нас по ней. Численность населения явно бы не помешала, да? А как это сделать?- Добавить в схемы таблицы новое поле — население (population).
- Обновить существующие записи.
Домашнее задание
Домашнее задание будет следующим:- Нужно добавить в схему таблицы country первичный ключ (PRIMARY KEY) из поля ID.
- Добавить в таблицу country еще одну страну — Молдову.
- По схеме предыдущей статьи создать таблицу city, в которой будут все описанные поля. Имена полей будут следующими: id, name, country_id, population.
- Добавить первичный ключ в таблице city.
- Добавить внешний ключ в таблице city.
Подведем итоги
В рамках этой статьи мы сделали много чего. Во-первых, установили и запустили сервер БД MySQL. Во-вторых, выучили целый перечень ключевых слов и запросов, при помощи которых умеем теперь создавать/удалять базы данных, таблицы. Научились добавлять данные в таблицы, обновлять и удалять их. Вот все команды, которые мы использовали, вместе с их описанием:- CREATE DATABASE database_name; — создать новую БД
- SHOW DATABASES; — посмотреть список БД
- DROP DATABASE database_name; — удалить БД
- USE database_name; — работать в БД
- CREATE TABLE table_name (id INT, ....); — создать таблицу
- SHOW TABLES; — посмотреть список таблиц
- DESC TABLE table_name; — посмотреть схему таблицы
- DROP TABLE table_name; — удалить таблицу
- INSERT INTO table_name VALUES (); — добавить поле в таблицу
- SELECT * FROM table_name WHERE table_row = value; — получить поля в таблице при условии после WHERE
- SELECT * FROM table_name; — получить все поля в таблице
- ALTER TABLE table_name ADD COLUMN column_name COLUMN_TYPE; — добавить поле новое поле в схему таблицы
- UPDATE talbe_name SET talbe_row1 = value1 WHERE table_row2 = value2; — обновить записи в таблице: установить значения одного поля при условии для другого поля
- DELETE FROM table_name WHERE table_row1 = value1; — удалить поле (или поля) из таблицы при определенном условии.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ