Пишу статью по заявке @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
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;
Для select запросов выбираем тип запроса «обычный», для остальных «без ответа». Затем вводим текст запроса, выбираем разделители, выбираем куда кладем результат и можно запускать кубик
Вот и всё.
- Тема статьи
- Другое
- Номер конкурса статей
- Пятнадцатый конкурс статей
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.
Последнее редактирование модератором: