Пишу статью по заявке @Konrod_m . Так-то не собирался участвовать, т.к. банально не знал, о чём написать. Ну раз уж идею для статьи подкинули, то быстренько публикуюсь в последний момент. Итак, без долгих предисловий погнали.
Я сам долгое время не пользовался БД и не понимал, а зачем она. Теперь же я не представляю, как без неё работать. Итак, представим, что у нас есть такая таблица с аккаунтами

Логин, пароль, ссылка на стр, путь к профилю, статус, живой или нет, прокси, дата регистрации, последняя активность, предназначение, количество активных действий.
Итак, пусть у вас данные в обычной таблице excel. Как вы будете отбирать аккаунт, если вам хочется, скажем, отобрать вот такой:
Дай мне логин, пароль, путь к профилю от аккаунта, у которого возраст не менее 14 дней, он сейчас свободен, его предназначение является парсинг, его прокси сейчас не занят и он сделал менее 100 активных действий и при этом он должен быть использован позже всех. Если отбирать из таблицы, то у нас будет просто гора условий типа:
И т.д. Короче, нереально. В БД же всё делается одной строкой вроде:
И составлять такие запросы совсем несложно, в чём вы сможете убедиться далее.



Затем надо добавить свой айпи

Если у вас айпи меняется (как у меня), можете добавить диапазон. Например, я для основного ПК сделал так:
177.51.31.*
177.51.32.*
И т.д. до 39
Далее нам понадобится программка HeidiSQL - https://www.heidisql.com/download.php. Она нужна для того, чтобы видеть вашу БД в виде таблички. Там же будем тестировать SQL запросы.

Установка простая: жмем далее, далее и всё. Затем запускаем, жмем создать и заполняем данные как на скрине

Имя хоста следующее: mysql.вашЛогин.myjino.ru. Логин-пароль от самого jino.ru
Для создания новой БД жмем правой кнопкой мыши -> создать -> БД

Щелкаем по нашей БД правой кнопкой мыши -> создать таблицу

Дадим имя таблице, добавим 3 столбца, нажмем сохранить

Столбец id – это уникальный идентификатор нашей строки. Чтобы он работал корректно, нам надо сказать, что его значение обязательно должно быть уникальным (правая кнопка мыши по нему)

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

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

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

Начнем с выборок. На самом деле ничего сложного. Переходим во вкладку «Запрос» и составляем первый запрос (просто создайте аналогичную табличку, вставляйте каждый из этих запросов и смотрите, что происходит)

P.S. бывает, если имя таблицы совпадает с ключевым словом, БД начинает ругаться. В этом случае можно прописывать имена полностью «таблица.название столбца»:






Хватит пока?
Вот так можно добавить данные в таблицу:

Переходим во вкладку «данные», жмем f5 для обновления данных и видим нашу строку

Теперь научимся изменять данные:
Здесь можно применять всё то, что мы применяли выше, например:
Удаление данных происходит следующим образом:
Создаем кубик «добавить действие» -> «данные» -> «базы данных»
Создаем переменную, куда помещаем такую строку:
Выбираем MySQLClient

Для select запросов выбираем тип запроса «обычный», для остальных «без ответа». Затем вводим текст запроса, выбираем разделители, выбираем куда кладем результат и можно запускать кубик

Вот и всё.
Зачем нужна БД
Я сам долгое время не пользовался БД и не понимал, а зачем она. Теперь же я не представляю, как без неё работать. Итак, представим, что у нас есть такая таблица с аккаунтами

Логин, пароль, ссылка на стр, путь к профилю, статус, живой или нет, прокси, дата регистрации, последняя активность, предназначение, количество активных действий.
Итак, пусть у вас данные в обычной таблице excel. Как вы будете отбирать аккаунт, если вам хочется, скажем, отобрать вот такой:
Дай мне логин, пароль, путь к профилю от аккаунта, у которого возраст не менее 14 дней, он сейчас свободен, его предназначение является парсинг, его прокси сейчас не занят и он сделал менее 100 активных действий и при этом он должен быть использован позже всех. Если отбирать из таблицы, то у нас будет просто гора условий типа:
Код:
Если
{
Если
{
если {}
}
}
SQL:
SELECT login, PASSWORD, link FROM db_vkaccounts WHERE STATUS='свободен' AND db_vkaccounts.CHECK='живой' AND destination='парсинг' AND kolPostov < 100 AND date_registration > '2021-02-07' ORDER BY last_activity LIMIT 1
И составлять такие запросы совсем несложно, в чём вы сможете убедиться далее.
Установка



Затем надо добавить свой айпи

Если у вас айпи меняется (как у меня), можете добавить диапазон. Например, я для основного ПК сделал так:
177.51.31.*
177.51.32.*
И т.д. до 39
Далее нам понадобится программка HeidiSQL - https://www.heidisql.com/download.php. Она нужна для того, чтобы видеть вашу БД в виде таблички. Там же будем тестировать SQL запросы.

Установка простая: жмем далее, далее и всё. Затем запускаем, жмем создать и заполняем данные как на скрине

Имя хоста следующее: mysql.вашЛогин.myjino.ru. Логин-пароль от самого jino.ru
Для создания новой БД жмем правой кнопкой мыши -> создать -> БД

Щелкаем по нашей БД правой кнопкой мыши -> создать таблицу

Дадим имя таблице, добавим 3 столбца, нажмем сохранить

Столбец id – это уникальный идентификатор нашей строки. Чтобы он работал корректно, нам надо сказать, что его значение обязательно должно быть уникальным (правая кнопка мыши по нему)

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

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

Жмем сохранить.
Кратко про типы данных. Я пользуюсь следующими:
- Varchar – строки
- Int – числа
- TimeStamp – дата
- Enum – перечисление (выбор из нескольких доступных вариантов)

Переходим к практике
Начнем с выборок. На самом деле ничего сложного. Переходим во вкладку «Запрос» и составляем первый запрос (просто создайте аналогичную табличку, вставляйте каждый из этих запросов и смотрите, что происходит)

SQL:
/* Отбери все данные из таблицы zennolab */
SELECT * FROM zennolab
SQL:
/* Отбери данные из столбца name таблицы zennolab */
SELECT name FROM zennolab
P.S. бывает, если имя таблицы совпадает с ключевым словом, БД начинает ругаться. В этом случае можно прописывать имена полностью «таблица.название столбца»:
SQL:
/* Аналогичен предыдущему запросу */
SELECT zennolab.name FROM zennolab
SQL:
/* Отбери данные из столбца name таблицы zennolab, у которого id равен 5 */
SELECT zennolab.name FROM zennolab WHERE id=5

SQL:
/* Отбери данные из столбца name таблицы zennolab, у которого name равен Нина (обратите внимание, что когда у нас в столбце тип VARCHAR (строка), то надо заключать в одинарные кавычки) */
SELECT zennolab.name, zennolab.age FROM zennolab WHERE zennolab.name='Нина'
SQL:
/* Отбери данные из столбца name таблицы zennolab, у которого name НЕ равен Нина */
SELECT zennolab.name FROM zennolab WHERE NOT zennolab.name='Нина'
SQL:
/* Отбери данные из столбца name таблицы zennolab, у которого age больше 23 (для знаков больше или меньше столбец должен быть числовом (помните, что age у нас int)) */
SELECT zennolab.name FROM zennolab WHERE age > 23
SQL:
/* Отбери данные из столбца name таблицы zennolab, у которого age больше 23 И id больше 2 */
SELECT zennolab.name FROM zennolab WHERE age > 23 AND id > 2
SQL:
/* Отбери данные из столбца name таблицы zennolab, у которого age больше 23 ИЛИ id больше 2 */
SELECT zennolab.name FROM zennolab WHERE age > 23 OR id > 2
SQL:
/* Отбери данные из столбцов name, age таблицы zennolab */
SELECT zennolab.name, zennolab.age FROM zennolab

SQL:
/* Отбери данные из столбцов name, age таблицы zennolab, а затем отсортируй по возрасту */
SELECT zennolab.name, zennolab.age FROM zennolab ORDER BY age
SQL:
/* Отбери данные из столбцов name, age таблицы zennolab, а затем отсортируй по возрасту В ОБРАТНОМ ПОРЯДКЕ */
SELECT zennolab.name, zennolab.age FROM zennolab ORDER BY age DESC

SQL:
/* Отбери данные из столбцов name, age таблицы zennolab, где age больше 23 И id больше 2, затем отсортируй по столбцу age */
SELECT zennolab.name, zennolab.age FROM zennolab WHERE age > 23 AND id > 2 ORDER BY age
SQL:
/* Отбери данные из столбцов name, age таблицы zennolab и оставь только 1 результат */
SELECT zennolab.name, zennolab.age FROM zennolab LIMIT 1

SQL:
/* Отбери данные из столбцов name, age таблицы zennolab, оставь 2 результата начиная с 4 строки (счет идет с нуля, поэтому пишем 3) */
SELECT zennolab.name, zennolab.age FROM zennolab LIMIT 2 OFFSET 3

SQL:
/* Отбери данные из столбцов name, age таблицы zennolab, где age больше 23 И id больше 2 и оставь только 1 результат */
SELECT zennolab.name, zennolab.age FROM zennolab WHERE age > 23 AND id > 2 LIMIT 1
SQL:
/* Выведи уникальные значения из столбца name таблицы zennolab. Важно: нельзя отбирать больше 1 столбца. Если в столбце name будут одинаковые значения, то из всех них выведется один случайный. */
SELECT DISTINCT zennolab.name FROM zennolab
SQL:
/* Отбери данные из столбца name таблицы zennolab, у которого в name идет Ал… (что угодно) */
SELECT zennolab.name FROM zennolab WHERE zennolab.name LIKE 'Ал%'

SQL:
/* Первая буква любая, затем лексей. */
SELECT zennolab.name FROM zennolab WHERE zennolab.name LIKE '_лексей'
SQL:
/* Подсчитай количество строк в таблице zennolab */
SELECT COUNT(*) FROM zennolab
SQL:
/* Подсчитай сумму чисел в столбце age таблицы zennolab */
SELECT SUM(age) FROM zennolab
Хватит пока?
Запросы insert, update, delete
Вот так можно добавить данные в таблицу:
SQL:
INSERT INTO zennolab (name, age) VALUES('vacy','25');

Переходим во вкладку «данные», жмем f5 для обновления данных и видим нашу строку

SQL:
/* Пример вставки сразу нескольких значений */
INSERT INTO zennolab (name, age) VALUES('pety','24'), ('koly','42');
Теперь научимся изменять данные:
SQL:
/* Обнови данные в столбце name на nasty, в столбце age на 18 табл zennolab у которого id=8 */
UPDATE zennolab SET NAME='nasty', age='18' WHERE id=8
Здесь можно применять всё то, что мы применяли выше, например:
SQL:
UPDATE zennolab SET age='18' WHERE id < 6 AND age > 18
Удаление данных происходит следующим образом:
SQL:
/* Удали строку из табл zennolab у которой id=8 */
DELETE From zennolab WHERE id=8
Как пользоваться в ZennoPoster
Создаем кубик «добавить действие» -> «данные» -> «базы данных»
Создаем переменную, куда помещаем такую строку:
SQL:
Data source=то_что_мы_вводили_в_имя_хоста;UserId=логин_jino;Password=пароль_jino;database=имяБД;Charset=utf8;
Выбираем MySQLClient

Для select запросов выбираем тип запроса «обычный», для остальных «без ответа». Затем вводим текст запроса, выбираем разделители, выбираем куда кладем результат и можно запускать кубик

Вот и всё.
- Номер конкурса статей
- Пятнадцатый конкурс статей
- Тема статьи
- Другое
Последнее редактирование модератором:




