Как автоматизировать выполнение sql-запросов?

Ссылка скопирована
1 ответ

Как автоматизировать выполнение SQL-запросов. Запросы к разным БД, IDE - DataGrip. В DG есть планировщик?

Дополнительно:

Вам верно ответили, что зависит от СУБД. Создавайте ивенты и вызывайте процедуры, при необходимости складывайте куда-то.

  • Постойте, какой ещё select в shell? Что вы собрались делать с результатами этого селекта?
    Опять не вопрос, а какой-то огрызок вопроса
    Вы можете по-человечески написать, что за запросы вам надо выполнять и зачем?
    Какую исходную задачу вы пытаетесь решить этой "автоматизацией"?
  • в целом вопрос выглядит как троллинг
  • Ответы:

    Зависит от СУБД, а не от IDE. Есть ли в СУБД планировщик запросов по расписанию.
    А универсальный способ - это наличие любой среды выполнения, способной вызывать скрипт по расписанию - хоть shell, хоть cron + php/python, хоть планировщик windows + любой exe со скомпилированным запросом.

    • а где можно изучить конкретику (подключение к БД через shell, как правильно написать скрипт для исполнения селекта)?
    • durachok666, Для mssql можно вот так например:
      sqlcmd -q "SELECT * FROM YourTable"

      Вот тут можно посмотреть подробнее:
      https://docs.microsoft.com/ru-ru/sql/ssms/scriptin...

      Для postgres
      psql -U username -d database -c 'SELECT * FROM YourTable'

      Вот тут подробнее:
      https://www.postgresql.org/docs/current/app-psql.html

      У многих СУБД есть CLI утилиты нужно доку читать но нужной СУБД.

    • Руслан ., осталось понять, что потом с результатами этого селекта делать. в /dev/nul отправлять?
    • Ипатьев, возможно это будет вовсе не select, а хранимка ну или DML операция, а если и select. то можно в файл сохранить. Есть такая опция.
    • Руслан ., есть. опций много есть.
      просто есть такая традиция, перед тем как давать ответ, сначала поинтересоваться у автора вопроса, что ему нужно.
    • Ипатьев, если подняться вверх, то можно увидеть вопрос:

      а где можно изучить конкретику (подключение к БД через shell, как правильно написать скрипт для исполнения селекта)?

      Вопрос именно про подключение к БД и про исполнение select

    • Руслан ., если подняться наверх, то можно увидеть что вопрос про автоматическое выполнение запросов. к разным БД. Если для вас тут всё логично, то у меня больше вопросов нет

    Вам определенно нужен девопс который автоматизирует вам выполнение ваших скриптов по календарю. Добавит дашборды с графиками и прочее.

    DataGrip насколько я понимаю это среда разработки. Тоесть она активна пока у вас крышка ноутбука отрыта. Закрыли - всё. Капец все планам.

    Поэтому девопс и еще раз девопс.

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Юрий Linux Ответ

    Для автоматизации выполнения SQL-запросов существует несколько способов, в зависимости от конкретных потребностей и предпочтений пользователя. Рассмотрим несколько вариантов:

    1. Использование хранимых процедур: Создание хранимых процедур в базе данных позволяет сохранить SQL-запросы и выполнить их с помощью вызова процедуры. Это удобно, если вам часто приходится выполнять один и тот же запрос или группу запросов.

    ```php

    DELIMITER //
    CREATE PROCEDURE get_users()
    BEGIN
        SELECT * FROM users;
    END //
    DELIMITER ;
     
    CALL get_users();

    DELIMITER // CREATE PROCEDURE get_users() BEGIN SELECT * FROM users; END // DELIMITER ; CALL get_users();

    ```

    2. Использование планировщика задач: Вы можете настроить планировщик задач (например, cron в Unix или Task Scheduler в Windows) для запуска SQL-запросов в определенное время или с определенной периодичностью.

    ```php

    0 0 * * * mysql -u username -p password -h hostname -e "SELECT * FROM users" dbname

    0 0 * * * mysql -u username -p password -h hostname -e "SELECT * FROM users" dbname

    ```

    3. Использование скриптов на языках программирования: Написание скриптов на языках программирования (например, PHP, Python, Ruby) для выполнения SQL-запросов. Вы можете использовать библиотеки для работы с базами данных, такие как PDO в PHP или SQLAlchemy в Python.

    ```php

    prepare("SELECT * FROM users");
    $stmt->execute();
     
    $result = $stmt->fetchAll();
    print_r($result);
    ?>

    prepare("SELECT * FROM users"); $stmt->execute(); $result = $stmt->fetchAll(); print_r($result); ?>

    ```

    4. Использование специализированных инструментов: Существуют специализированные инструменты для автоматизации выполнения SQL-запросов, такие как DBeaver, SQL Server Management Studio, MySQL Workbench и другие.

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

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно