Начало работы с MySQL для начинающих

Буквально недавно моему знакомому дали задачу разобраться с одной вещью, в которой он ну никак не может быть компетентным (он SEO оптимизатор) — mysql, точнее с одной из его функций. Естественно он написал мне спросив мол это ведь целый язык? Для чего он конкретно и т.п. 

Не разбирается человек, тут все понятно.

Я конечно же и сам заинтересовался тем как новичку начать работать с этим языком, ввел в Google фразу “Начало работы с Mysql”, и увидел ужас. Ужасно много информации с которой нужно серьезно разбираться. Уверен, если бы я увидел в свое время такую статью, мне бы было страшно — хотя с другой стороны она ужасно информативна и полезна, но в тот же момент будь я новичком я бы потребовал информацию для начала в более легкой форме. Потому надеюсь все найденное ниже поможет стартовать с минус первого уровня на нулевой.

Что такое MySQL?

MySQL — это свободная реляционная система управления базами данных. Свободная она по той причине, что мы можем свободно использовать и распространять mysql вместе с ПО (которое напишем сами). От себя скажу, что Mysql это отдельный язык программирования для работы с базами данных — у него есть свой набор условных операторов и операторов цикла, возможность работы с переменными и так дальше. 

То есть это язык для общения с базами данных — это все что нужно знать.

Как начать работать с Mysql?

Для начала работы нужно естественно установить Mysql сервер, который позволит вообще как-то работать с этим языком. 

Понятно, если речь о Windows, то самым простым решением будет установить OpenServer, который в своей сборке уже имеет MySQL сервер и веб-интерфейс PhpMyAdmin, которое позволит нам работать с базами данных в максимально простом графическом интерфейсе.

Как я работаю с MySQL?

В принципе я уже рассказал — если работаю с MySQL, то всегда ставлю либо PhpMyAdmin либо adminer, и то и то написано на php, просто последнее более легкое решение ограниченное одним файлом. Adminer я обычно использую тогда, когда заказчик не дает прямой доступ к базе данных. Тогда я просто устанавливаю этот файл на хостинг, доступы к базе данных можно получить в файле конфига, если к примеру это WordPress либо OpenCart, ну а дальше просто в браузере пишему путь к файлу и входим куда нам нужно.

В принципе всегда я беру веб-интерфейс, и лишь иногда использую консоль, редкий случай но бывает иногда нужно и через консольку поработать с MySQL. 

Для локальной работы, тут все понятно, ставим OpenServer, и получаем все необходимое. 

Когда я работаю на каком-то VDS сервере, например это DigitalOcean и операционная система Ubuntu, то по факту здесь все просто — ставим MySQL сервер, лучшая для меня инструкция по установке сервера находится здесь. Дальше когда все готово и MySQL установлен, создаем поддомен на сервере, и ставим туда скаченный PhpMyAdmin. 

Если речь об обычном хостинге, то там уже все готово и снова-таки предустановленный PhpMyAdmin. Дальше нужно просто знать 4 простейшие вещи которые позволят работать полноценно с базами данных. Зная эти простые команды, можно сделать очень крутой проект с использованием базы данных. 

Но стоит понимать, что чем больше используется MySQL, тем больше возможно придется расширять свои познания в этом языке, учить Join’ы и тому подобное, но это на будущее, для начала нужно просто легкий старт.

Создаем базу данных в phpMyAdmin

Для начала нужно создать пользователя, который будет работать с базой данных, либо всегда есть стандартный пользователь, в целом это не суть важно пользователь будет, так как на хостингах через Cpanel он делается ну уж очень просто, как и база данных. Но представим что у нас есть лишь пользователь.

Заходим в базу данных, нажимаем “Создать БД”, и попадаем на форму где нужно заполнить два поля.

В нем даем базе данных какое-то имя и кодировку, я обычно стандартно выбираю “utf8_general_ci”, тогда все работает отлично и на русской кодировке и даже на венгерской.

Пример четырех запрос важных запросов на MySQL

Ниже ты найдешь 4-ре команды, которые позволят тебя добавлять информацию в базу данных, вынимать, обновлять и удалять. В принципе больше ничего и не нужно для начала, понятно что чем сложнее программа которую ты хочешь написать, тем шире должны быть знания MySQL, но главное понять базу, а дальше все будет просто.

Первый шаг для работы

Давайте представим, что у нас есть сама база данных в которой мы создали таблицу — когда она у нас чистая, то мы видим такое окошко: 

Давайте назовем ее users и поставим значение на количество столбцов 5, далее нажимаем “вперед”.

Почему 5? Для того чтобы сделать следующие поля:

Можете заполнить все поля по своему, но все же вот как это сделал я. A_I означает auto increment, ведь поле id, будет отвечать за назначение ID для пользователя, мы ведь должны понимать какой номер пользователь будет иметь в базе, к тому же это поле должно будет заполняться автоматически.

insert — добавление записей в базу данных

Итак, база данных готова и мы тоже готовы начать — все выше описанное можно за часик настроить, но все-же если имеется опыт, то хватит и 5-ти минут. Ну и давайте напишем свой первый запрос добавления записи в базу данных.

INSERT INTO `users` (`id`, `name`, `email`, `password`, `date`) VALUES (NULL, 'andrey', '[email protected]', '123456', '2021-01-02 15:20:38');

То есть таким запросом мы говорим базе данных, “добавить в users в поля (поле 1 … поле 5), информацию (информация для поля 1 … инфо для поля 5)”. ну и все — данные добавлены, причем обрати внимание, что для первого поля я передал null, для того чтобы он сам решил какую цифру ему присвоить, ведь это поле автозаполняемое.

Кроме того можно делать запросы побольше и добавлять много записей за один раз, выглядит также но немного иначе:

INSERT INTO `users` (`id`, `name`, `email`, `password`, `date`) VALUES (NULL, 'test1', '[email protected]', '123456', '2021-01-02 15:27:35'), (NULL, 'test2', '[email protected]', '1234567', '2021-01-02 15:27:35');

То есть как видишь идет команда values, после в скобках мы уже пересчитываем информацию разделяя это дело комой.

Если мы хотим добавить за раз сотню пользователей, то лучше делать именно последним способом, для того чтобы не создавать нагрузку на базу данных, ведь так мы даем лишь одну команду, а первый способ требует ста запросов. Причем на сотне нагрузки мы не увидим, но если это будет 10 000 запросов, то все будет лишь зависить от сервера и его возможностей.

Что же курс ввода на этом заканчивается, и идем дальше.

select — выборка записей из базы данных

После ввода данных в базу понятно что нужно будет вывести их для просмотра, для этого имеется запрос с видом select.

Это запрос позволяет выводить данные как все сразу так и с использованием определенного фильтра. Очень удобно когда нужно найти в базе данных либо определенного пользователя, либо целую группу пользователей.

Давайте я приведу несколько примеров которые позволят точно понять как это работает.

SELECT * FROM `users`

Это самый первый запрос который мы видим когда заходим в PhpMyAdmin, и выводит он все, а его ближайший аналог который я рекомендую использовать:

SELECT * FROM `users` WHERE 1

На самом деле это одно и тоже самое, просто бывают версии sql на которых предыдущий пример может выдавать ошибку, либо проще делать в будущем допись, хотя разницы правда никакой.

Но если мы хотим все-таки искать конкретную запись мы должны понимать, что после WHERE мы пишем то что нам нужно найти. К примеру мы хотим найти конкретного пользователя по ID.

SELECT * FROM `users` WHERE `id` = 2

Вот пример того что мы получим:

Также мы можем найти и несколько записей, для этого я сделал две записи которые имеют одинаковый емейл, что по сути не порядок, но так мы и найдем наши дубликаты:

SELECT * FROM `users` WHERE `email` = "[email protected]"

И получаем такой ответ:

То есть как видите получается такая структура:

SELECT (какое поле, “звездочка = все поля”) FROM (таблица) WHERE поле = значение

Практически можно прочитать как обычный текст, кто знает английский на кухонном.

Ну раз мы все-таки нашли у себя неурядицу, в который у нас пользователи имеют одинаковые емейлы, нам нужно взять и отредактировать эту запись, что мы и сделаем в следующем блоке.

update — редактирование или обновление данных в базе

Когда я начинал мне казалось, что это самая сложная часть в этом языке, но по факту тут все легко и понятно и также читается просто как пример выше. Делаем запрос:

UPDATE `users` SET `email` = '[email protected]' WHERE `users`.`id` = 3;

И получаем следующий результат:

Вот какая получается структура у запроса:

UPDATE (какую таблицу) SET поле = 'значение' WHERE `поле` = значение;

Получается тоже такая строчка, мол “обновить поле users и призначнить полю вот это значение, где поле имеет следующее значение.

Вот и все — очень просто.

delete — удаление данных и базы mysql

Удаление я даже сравниваю с селектом, просто с ним нужно быть немного аккуратнее, ведь взяв значение мы не сделаем ничего безобидного, а вот удаление удаляет — простите за тавтологию.

К примеру если мы хотим удалить определенную запись:

DELETE FROM `users` WHERE `users`.`id` = 3

Но если мы дадим запрос:

DELETE FROM `users` WHERE 1

То удалим все имеющиеся записи в таблице. 

DELETE FROM `users`

Так тоже нам получится удалить все, а не дай бог база очень огромная, потому следует быть аккуратным.

Структура тоже очень простая:

DELETE FROM таблица WHERE поле = значение

Читается как “удалить из таблицы (имя) где поле имеет следующее значение. Вот и все. Курс молодого бойца пройден.

Правда в изучении Mysql нужно учитывать много факторов, ведь если база очень сложная то можно сильно загрузить процессор — поэтому чем точнее и внятнее мы говорим на языке MySQL тем послушнее сам компьютер.

Но на этом моя серия статей по SQL только начинается. Если тебе понравился этот материал, большая просьба поделиться этой статьей в любой из социальных сетей которые ты видишь ниже.

Так ты очень сильно поможешь развитию этого проекта, и сильно мотивируешь меня делать качественный контент для тебя!

Метки: , ,

Оставьте комментарий