Конструктор sql запросов mysql

Обновлено: 24.04.2024

EMS SQL Query for PostgreSQL - это программа для быстрого и простого построения SQL запросов к базам данных PostgreSQL. В программе существует возможность как визуального создания запросов к PostgreSQL, так и использования многофункционального редактора SQL кода для написания текста запроса вручную. Простой и удобный графический интерфейс позволяет подключаться к базам данных PostgreSQL, выбирать таблицы и поля для запроса к серверу PostgreSQL, устанавливать критерии отбора и многое другое.

Программа позволяет работать с несколькими запросами одновременно, редактировать текст запроса во многофункциональном редакторе SQL, просматривать результаты выполнения в различных режимах, визуально создавать запросы PostgreSQL с объединениями и подзапросами, строить основанные на запросах диаграммы, просматривать план выполнения запросов PostgreSQL и выполнять другие операции необходимые для работы с запросами к базам данных PostgreSQL.

Ключевые особенности

  • Современный графический интерфейс пользователя
  • Полная поддержка PostgreSQL сервера вплоть до версии 12
  • Поддержка UTF8 данных
  • Соединение через SSH туннель: подсоединение к промежуточному SSH серверу и переадресация всех команд PostgreSQL через безопасный туннель
  • Соединение через HTTP туннель в случае доступа к Интернету только через HTTP прокси сервер, или если сервер не разрешает прямое подключение к PostgreSQL
  • Визуальный выбор таблиц и полей для запроса путем их перетаскивания
  • Работа с несколькими запросами в отдельных окнах
  • Возможность регистрации баз данных для работы только с выбранными базами
  • Соединение с несколькими базами данных одновременно
  • История недавно написанных запросов
  • Подсветка синтаксиса, возможность "быстрого кода" и клавиатурные шаблоны для ускоренного редактирования текста запросов
  • Инструменты для группировки и фильтрования данных
  • Возможность визуально создавать запросы с объединениями и подзапросами
  • Возможность создания диаграмм на основе запросов
  • Возможность представления планов запросов
  • Мощный редактор BLOB–полей с несколькими видами представления BLOB-данных
  • Гибкая система настройки интерфейса пользователя
  • Многоязыковая поддержка пользовательского интерфейса

При покупке Вы получите также:

  • Скидки при покупке двух и более лицензий одного продукта
  • Скидки на покупку сопутствующих продуктов
  • Гарантия возврата денег в течение 30 дней

Скриншоты продукта







SQL Query for PostgreSQL

Начните работу с SQL Query for PostgreSQL

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

Есть вопросы?

Если вам требуется какая-либо помощь, если у вас есть вопросы по нашим продуктам или по вариантам приобретения, просто свяжитесь с нами.

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

Вот наш список из 8 лучших конструкторов SQL-запросов:

  1. Redgate SQL Prompt Редактор SQL с контекстным предиктивным текстом, который может предложить следующее ключевое слово, которое вам нужно для вашего утверждения.
  2. dbForge Query Builder Визуальный конструктор SQL, включающий элементы перетаскивания и выбора списков, помогающие создавать операторы.
  3. SentryOne SQL Sentry Анализатор производительности базы данных, который выявляет неэффективные запросы, чтобы помочь вам быстрее запускать скрипты.
  4. FlySpeed ​​SQL Query Редактор SQL с визуальными функциями перетаскивания, проверкой орфографии и предложениями для написанных операторов SQL.
  5. SQL Query Tuner (Диспетчер диагностики SQL) Дополнение к SQL Diagnostics Manager, этот инструмент анализирует запросы и выявляет ошибки.
  6. RazorSQL Визуальный конструктор SQL-запросов, включающий синтаксическое цветовое кодирование и сопоставление скобок, чтобы помочь вам избежать распространенных ошибок.
  7. Data Xtractor Визуальный конструктор SQL предназначен для тех, кто не имеет опыта работы с SQL. Доступен в бесплатной и платной версиях.
  8. Idera Rapid SQL Визуальный конструктор SQL вместе с редактором текстовых операторов. Редактор включает синтаксическое цветовое кодирование и подсветку ошибок.

8 лучших построителей SQL-запросов

Мы рассмотрим восемь лучших разработчиков SQL-запросов.

1. Redgate SQL Prompt

Redgate SQL Prompt это Инструмент создания SQL это может обеспечить подсказки кода при вводе. Программное обеспечение делает контекстные рекомендации на основе правил анализа кода и есть библиотека фрагментов кода для пользователя, чтобы обратиться к. Есть также широкие возможности форматирования, так что вы можете точно выбрать, какие сценарии вы хотите отформатировать или заблокировать определенные блоки от форматирования.

Также очень легко проанализировать ваш код с Redgate SQL Prompt. Вы можете навести курсор на фрагмент кода, чтобы просмотреть проблемы с кодом, а затем щелкнуть значок лампочки для получения дополнительной информации. Есть более 90 правил доступны из коробки этим можно управлять через меню опций.

SQL Prompt Pro может интегрироваться с SQL Server Management Studio и Visual Studio так что вы можете создавать точные запросы SQL более эффективно. Есть несколько функций, которые являются уникальными для версии SQL Prompt Pro для SSMS. Вы можете спасти, предварительный просмотр, и восстановить вкладки из вашего последнего сеанса.

2. dbForge Query Builder

dbForge Query Builder это конструктор запросов, призванный помочь создавать сложные запросы SQL. Вы можете рисовать запросы сквозь визуальная схема запроса и добавить подзапросы опираться на основы основного запроса. Также есть функция перетаскивания так что вы можете легко добавлять таблицы. Тем не менее, вы также можете использовать завершение кода для создания высококачественного кода.

Чтобы помочь с редактированием кода, dbForge Query Builder имеет автоматическая проверка синтаксиса SQL. Для больших запросов вы можете использовать Структура документа окно для навигации быстрее. Существует также возможность использовать более общие функции редактирования SQL, такие как закладки, поиск текста, и раскраска.

макет окна можно настроить, с подсветкой и настройкой панели инструментов. Вы даже можете выбрать, какой скин интерфейса вы хотите использовать. Закончив кодирование, вы можете экспортировать данные в 10 различных форматах, включая HTML, CSV, XML, PDF, MS Excel, MS Access, DBF, ODBC, и Текст.

dbForge Query Builder предназначен для тех, кто хочет сделать процесс кодирования максимально безболезненным. Цена также очень конкурентоспособна. Стандартное издание dbForge Query Builder начинается с $ 99,95 (£ 76,97) за одну лицензию. Существует также 30-дневная бесплатная пробная версия.

3. SentryOne SQL Sentry

Автоматические оповещения уведомить вас, когда запрос соответствует определенным условиям или параметрам. Например, если запрос выполняется медленно, вам будет отправлено предупреждение. Есть более 100 условий оповещения доступны из коробки. Вы можете комбинировать оповещения с автоматическими ответами, поэтому после генерации оповещения программа может автоматически выполнить команду для устранения проблемы..

SentryOne SQL Sentry может также устранить тупики SQL-сервера. Вкладка взаимоблокировки показывает процессы, вовлеченные в взаимоблокировку, чтобы вы могли найти основную причину. Чтобы сделать вещи проще, есть тупиковые диаграммы так что вы можете просмотреть проблему в удобном для понимания формате.

Узнать цену SentryOne SQL Sentry вам придется связаться с компанией напрямую. Цена зависит от того, какие системы вы хотите отслеживать, количество лицензий, потребности ваших DevOps и количество пользователей или серверов, которые вы хотите отслеживать. Вы можете скачать двухнедельную бесплатную пробную версию.

4. Flyspeed SQL Query

Flyspeed SQL Query это Построитель запросов к базе данных на базе Windows что вы можете использовать для создания запросов SQL через перетащить и падение и визуальный построитель запросов. Создавайте сложные запросы и редактируйте подзапросы в визуальном и текстовом режимах SQL. Форматирование настраивается, поэтому вы можете решить, как будет представлен код.

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

Программное обеспечение поддерживает синтаксис SQL для Microsoft SQL Server, MySQL, PostgreSQL, оракул, InterBase, жар-птица, MS Access, MS Excel, SQLite, Advantage DB, и более. Он также многопоточный, каждый запрос выполняется в другом потоке..

Бесплатная версия позволяет создавать запросы SQL и просматривать данные результатов, но вам нужна полная версия для сохранения и экспорта данных. FlySpeed ​​SQL Query Desktop версия стоит $ 39 (£ 30,03), а FlySpeed ​​SQL Query Portable версия стоит 49 долларов. Существует также 30-дневная бесплатная пробная версия.

5. SQL Query Tuner (Диспетчер диагностики SQL)

SQL Query Tuner это дополнение для Диспетчер диагностики SQL которые могут дать рекомендации по настройке. Чтобы помочь пользователю улучшить производительность, SQL Query Tuner имеет цветовой индексный анализ для использованных, неиспользованных и отсутствующих индексов. Существует также функция анализа времени ожидания для обнаружения плохо выполняющихся SQL-запросов..

Для тех, кому требуется больше визуального опыта, есть Диаграммы настройки SQL-запросов. Диаграммы запросов позволяют просматривать Декартовы объединения и отношения многие ко многим как визуальный дисплей. Просмотр запросов в этом формате упрощает понимание влияния операторов SQL..

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

SQL Query Tuner за Диспетчер диагностики SQL отлично подходит для быстрого создания кода SQL. SQL Diagnostic Manager Pro стоит от 2156 долларов (1660 фунтов). Для крупных предприятий также предусмотрены скидки на несколько лицензий. Существует 14-дневная бесплатная пробная версия.

6. RazorSQL

RazorSQL имеет Инструмент SQL Query Builder это позволяет пользователю визуально строить запросы. Вы можете выберите тип оператора SQL, который вы хотите сгенерировать выбрав столбцы и операции, которые будут включены. Инструмент прост в навигации благодаря четырем вкладкам для внесения изменений в выписки; Выбрать, вставка, Обновить, и удалять. Например, нажимая вкладку «Вставка», пользователи могут выбрать столбцы, которые они хотели бы добавить в оператор..

Редактор SQL это еще один инструмент, который можно использовать для упрощения создания кода. Есть подсветка синтаксиса для облегчения навигации по коду и функции автозаполнения для ускорения производства кода.

Для дальнейшей поддержки навигации есть функция автоматического поиска так что, когда пользователь вводит запрос, появится список столбцов с таблицами, по которым пользователь может щелкнуть. Функция поиска совместима с SQL, Transact-SQL, SQL PL, PL / SQLm HP, Джава, JavaScript, HTML, XML, CSS, и более.

RazorSQL доступно для Windows, Mac OS, Linux и Solaris. Стоимость программного обеспечения зависит от количества пользователей, которых вы хотите поддержать. Для одного пользователя цена составляет $ 99,95 (£ 79,95) за пользователя. Для 2-9 пользователей стоимость снижается до 96,95 (76,95 фунтов) или 94,95 (74,95) для 10-19 пользователей. Для 20 и более пользователей цена снижается до 92,95 долл. США (72,95 долл. США) за пользователя. Вы можете скачать 30-дневную бесплатную пробную версию.

7. Data Xtractor

Data Xtractor это Инструмент SQL-запроса что позволяет пользователям создавать запросы без знания SQL. Data Xtractor поставляется с визуальный построитель SQL-запросов называется Запрос Xtractor. Query Xtractor может создавать только для чтения и поддерживает базы данных, в том числе MySQL, PostgreSQL, оракул, SQL Server, Amazon Redshift, SQLite, и лазурь. После выполнения запроса вы можете просмотреть результаты в формате электронной таблицы..

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

Data Xtractor бесплатно для SQLite, Microsoft Access, жар-птица, и Базы данных Microsoft SQL Server CE. Есть также три платные версии программы: базы данных с открытым исходным кодом, коммерческие базы данных. Все поддерживаемые базы данных. Для баз данных с открытым исходным кодом инструмент стоит 24 доллара США (18,48 фунта) в месяц и совместим с базами данных MySQL, MariaDB, Amazon Aurora, PostgreSQL и Amazon Redshift..

Версия коммерческих баз данных стоит $ 29 (£ 22,33) в месяц с поддержкой Microsoft SQL Server / Azure, Oracle, IBM Db2, Sybase / SAP SQL и Sybase SAP ASE. Пакет «Все поддерживаемые базы данных» стоит $ 39 в месяц и поддерживает все вышеупомянутые базы данных. Вы также можете скачать Query Xtractor бесплатно.

8. Идея быстрого SQL

Idera Rapid SQL это Инструмент создания кода SQL что вы можете использовать для строить сложные операторы SQL с визуальный построитель запросов. Когда вы печатаете, вы можете воспользоваться контекстными рекомендациями, которые предлагают такие элементы, как таблицы, функции и столбцы, которые вы можете использовать.

Idera Rapid SQL совместим с SQL Server, оракул, Db2, и SAP Sybase. Платформа отлично подходит для новых пользователей, поскольку предлагает шаблоны кода, так что вам не нужно запоминать синтаксис SQL. Навигация является одним из самых сильных аспектов Idera Rapid SQL. Авто форматирование и окраска синтаксиса упростить поиск кода и управление файлами SQL любого размера.

SQL IDE также предоставляет среду разработки. Пользователь может создавать код и просматривать обратную связь в реальном времени на вопросы и исправления, чтобы улучшить их код. Точно так же есть Отладчик SQL который находит ошибки кодирования, чтобы вы могли их отладить.

Если вы ищете конструктор SQL, который прост в использовании и навигации, то Idera Rapid SQL хороший выбор Однако, если вы хотите просмотреть цену на Idera Rapid SQL вам придется связаться напрямую с отделом продаж. Вы можете скачать 14-дневную бесплатную пробную версию.

Выбор SQL Query Builder

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

Инструменты, такие как SQL-запрос RedGate, dbForge Query Builder, и Диспетчер диагностики SQL все помогают управлять вашим кодом. В то время как некоторые могут использоваться для создания запросов с нуля, другие просто выделяют плохо выполняющиеся запросы. Поиск инструмента, который наиболее соответствует вашему варианту использования, даст наилучшие результаты.

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

Большинство реляционных баз данных, за исключением MS Access, состоят из двух отдельных компонентов: «back-end», где хранятся данные и «front-end» — пользовательский интерфейс для взаимодействия с данными. Этот тип конструкции достаточно умный, так как он распараллеливает двухуровневую модель программирования, которая отделяет слой данных от пользовательского интерфейса и позволяет сконцентрировать рынок ПО непосредственно на улучшении своих продуктов. Эта модель открывает двери для третьих сторон, которые создают свои приложения для взаимодействия с различными базами данных.

В Интернете каждый может найти много продуктов для разработки и администрирования баз данных MySQL. Мы решили собрать 10 самых популярных инструментов в одной статье, чтобы вы смогли сэкономить свое время.

1. Workbench

Первое место, по праву принадлежит инструменту Workbench (разработка компании Sun Systems/Oracle), который может работать на платформах Microsoft Windows, Mac OS X и Linux. Workbench объединяет в себе разработку и администрирование баз данных и является преемником DBDesigner4.

MySQL Workbench распространяется под свободной лицензией — Community Edition и с ежегодной оплачиваемой подпиской — Standard Edition. Последняя включает в себя дополнительные возможности, которые способны существенно улучшить производительность, как разработчиков, так и администраторов баз данных.

image

Что делает Workbench популярным?

  • возможность представить модель БД в графическом виде, а также редактирование данных в таблице;
  • наличие простого и функционального механизма по созданию связей между полями таблиц, среди которых реализована связь «многие-ко-многим» с возможностью создания таблицы связей;
  • функция Reverse Engineering позволяет восстанавливать структуру таблиц и связей из той, которая была реализована ранее и хранится на сервере БД;
  • наличие редактора SQL-запросов, который дает возможность при отправке на сервер получать ответ в табличном виде и другие возможности.

2. Navicat

Второе место занимает Navicat (разработка компании PremiumSoft CyberTech Ltd) — инструмент для разработки и администрирования баз данных, который работает на любом сервере MySQL, начиная с версии 3.21. Для MySQL, Navicat доступен для работы на платформах Microsoft Windows, Mac OS X и Linux.

Стоимость продукта варьируется от 199 до 379 долл. США.

image

Что делает Navicat популярным?

3. PHPMyAdmin

PHPMyAdmin — бесплатное приложение с открытым кодом, предназначенное для администрирования СУБД MySQL. PHPMyAdmin представляет собой веб-интерфейс с помощью которого можно администрировать сервер MySQL, запускать команды и просматривать содержимое таблиц и БД через браузер.

Что делает PHPMyAdmin популярным?

  • возможность управлять СУБД MySQL без непосредственного ввода SQL команд;
  • как панель управления PHPMyAdmin предоставляет возможность администрирования выделенных БД;
  • интенсивное развитие;
  • возможность интегрировать PHPMyAdmin в собственные разработки благодаря лицензии GNU General Public License и другие возможности.

4. dbForge Studio for MySQL

dbForge Studio for MySQL — инструмент, представляющий интерес как для пользователей MySQL, так и для разработчиков БД. С его помощью вы сумеете легко автоматизировать рутинную работу и сэкономить время. Сегодня dbForge Studio for MySQL представлен в трех редакциях: Express, Standard и Professional, что позволяет выбрать тот инструмент, который нужен именно вам. Пользоваться dbForge Studio for MySQL можно как коммерческой, так и бесплатной версией.

Существует как бесплатная, так и платная версии, цена последней составляет 49,95 долл. США (стандартное издание ) и 99,99 долл. США (профессиональное издание).

image

Что делает dbForge Studio популярным?

  • наличие средств для централизованного администрирования;
  • инструменты для сравнения БД;
  • визуальный профилировщик запросов;
  • возможность управлять привилегиями пользователей;
  • наличие Дизайнера БД, который позволяет строить визуальные диаграммы;
  • улучшенная работа с проектами БД и другие возможности.

5. HeidiSQL

HeidiSQL — бесплатный инструмент для управления базами данных. Достойная альтернатива PHPMyAdmin, которая позволяет создавать и редактировать таблицы, представления, триггеры, процедура, а также просматривать и редактировать данные. Также HeidiSQL предоставляет возможность экспорта данных как в SQL файл, так и в буфер обмена на других серверах.

Что делает HeidiSQL популярным?

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

6. SQL Maestro для MySQL

SQL Maestro для MySQL — инструмент для администрирования, разработки и управления наиболее востребованных СУБД. Удобный графический интерфейс дает возможность выполнять SQL запросы и скрипты, управлять привилегиями пользователей, экспортировать и создавать резервные копии данных.

В зависимости от выбранной лицензии и варианта использования, стоимость данного инструмента варьируется от 99 до 1949 долл. США.

Что делает SQL Maestro для MySQL популярным?

7. EMS SQL Manager для MySQL

EMS SQL Manager для MySQL — инструмент для разработки и администрирования баз данных, который поддерживает различные функции MySQL и работает со всеми версиями MySQL старше 3.23. С его помощью у вас есть возможность визуально редактировать, импортировать и экспортировать БД, выполнять сценарии SQL, управлять привилегиями пользователей, визуально проектировать базы данных MySQL.

Существует платная и бесплатная версии приложения. Последняя имеет ряд функциональных ограничений. Стоимость платной версии варьируется в пределах 95 – 245 долл. США.

image

Что делает EMS SQL Manager for MySQLпопулярным?

8. SQLyog

SQLyog — один из наиболее мощных инструментов, который сочетает в себе возможности MySQL Administrator, PHPMyAdmin и некоторые другие инструменты для администрирования и разработки баз данных. SQLyog работает на платформах Microsoft Windows, Windows NT. и Linux с помощью Wine.

Доступна как бесплатная, так и платная версия SQLyog. Стоимость платной версии — от 99 до 1499 долл. США (варьируется в зависимости от количества пользователей и лицензии, с поддержкой или без нее).

image

Что делает SQLyog популярным?

9. DBTools Manager

DBTools Manager — приложение для управления данными, с встроенной поддержкой MySQL, PostgreSQL, MSAccess, MSSQL Server, Oracle и других БД. Поддерживаемые платформы: Windows 2000, XP, Vista, 7.

DBTools Manager представлен в бесплатном (Standard) и платном варианте (Enterprise). Стоимость составляет 69.90 долл. США за одну лицензию, при покупке нескольких лицензий предусмотрены скидки.

image

Что делает DBTools Manager популярным?

  • управление базами данных, таблицами;
  • наличие редактора запросов;
  • наличие мастера создания форм и отчетов;
  • возможность импорта и экспорта данных из различных источников, среди которых MSAccess, MSExcel, Paradox, FoxPro, DBF, ODBC таблицы, текстовые и XML файлы;
  • конструктор диаграмм и другие возможности.

10. MyDB Studio

MyDB Studio — бесплатный инструмент для администрирования БД MySQL, который позволяет создавать, редактировать и удалять записи, таблицы и базы данных. Работает исключительно на платформе Windows.

Где-то полтора года назад я начал заниматься web разработкой. Начинал с функционального программирования. Примерно пол года назад я перешел на ООП и стал использовать MVC архитектуру проектирования. Недавно появилась задача оптимизировать работу с базой данных, т. к. вся связь и работа с базой осуществлялась через один класс. Это было неудобно потому, что все время приходилось вручную писать SQL — запросы. Задача была разбита на 2 этапа:

  1. Написать класс для подключения к базе данных
  2. Написать класс модели для работы с данными


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

Метод getRecords
    $what — передает массив полей, которые нужно выбрать из таблицы $where — передает ассоциативный массив ключей в виде array('Поле'=>array('знак','значение')). Это дает нам возможность более гибко использовать предикат WHERE
  • $limit — передает ассоциативный массив ключей в виде array('начальная запись', 'количество записей'). Такая структура дает нам возможность реализовать постраничный вывод или вывод ограниченного количества записей
  • $order — ассоциативный массив array('поле'=>'вид сортировки'). Дает возможность сортировки по любому количеству столбцов. $join — ассоциативный массив array('Тип связи', array('Таблица1', 'Таблица2'), array('Алиас1', 'Алиас2'), array('поле1','поле2')). Тип связи: LEFT, INNER, RIGHT, OUTER; Таблица1 и Таблица2: таблицы между которыми устанавливается связь; Аллиас1 и Аллиас2 — псевдонимы для таблицы; Поле1 и Поле2 — это соотв. PK и FK таблиц
  • $degub — этот параметр нужен для сохранения в свойства класса уже созданного sql запроса, а также параметров, которые нужно если мы используем prepare statement в PDO
Метод addRecord
  • $data — ассоциативный массив параметров в виде: 'поле'=>'значение', которые будут вставляться в таблицу
Метод deleteRecords
  • $table — название таблицы из которой будут удаляться данные
Метод setRecords
  • $what — В этом случает этот параметр передает массив в виде: 'поле'=>'значение', которые будут использоваться с оператором SET
Метод query

Рассмотрим эти методы подробнее.

Метод checkWhat

Единственным входным параметром этого метода является ассоциативный массив значений, которые либо нужно выбрать с помощью SELECT или нужно обновить с помощью UPDATE.
Параметр $what описан тут

Думаю тут все довольно ясно. Проверка на массив, обход всех элементов массива и построение части строки запроса.

Метод checkJoin

Параметр $join описан тут. Также предусмотрена ситуация, когда нужно объединить больше двух таблиц, тогда параметр $join может быть представлен в виде array($join1, $join2. $joinN)

Метод checkWhere

Метод проверяет наличие параметров для WHERE составляющей запроса. Параметр $where описан тут

Метод checkLimit

Генерация предикаты LIMIT запроса. Тут все довольно просто.

Метод checkOrder

Генерация предикаты ORDER.

Вот и все методы, которые нужны для генерации основных частей запроса. Но т.к. мы используем prepare statement в таких частях запроса как WHERE и WHAT, то нам нужно объединить параметры эти частей, чтобы передать в PDO. Для этой задачи я написал еще один метод

Метод checkParams


Следующим этапом построения SQL запросов является итоговая генерация sql кода. Для этого я создал 4 метода: prepareSelectSQL, prepareInsertSQL, prepareDeleteSQL, prepareUpdateSQL
Рассмотрим эти методы подробнее.

Метод prepareSelectSQL

Параметры этого метода совпадают с параметрами метода getRecords. Это $what, $where, $limit, $order, $join, $debug. Эти параметры описаны тут

Метод prepareInsertSQL

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

Метод prepareDeleteSQL

Запрос для удаления записей. Используем название таблицы и набор параметров для предикаты WHERE.

Метод prepareUpdateSQL

Генерируем sql запрос для обновления записей в таблице.


Выше был описан класс DataBase, который отвечает за подключение к базе данных и генерацию DML sql запросов. Ниже приведен полный код этого класса.

Теперь настало время описать класс модели News. Этот класс реализует все абстрактные методы класса-родителя DataBase и статический метод getObject. Этот метод возвращает экземпляр объекта этого класс. Этот метод был создан для того, чтобы отпала необходимость в создании объекта класса News путем использования ключевого слова new. Вот как это выглядит:

Каждый метод этого класса вызывает нужный ему генератор sql запроса и передает итоговый запрос и параметры в PDO для выполнения запроса. Ниже приведен полный код класса модели News.


В принципе на этом можно завершать. Конечно же, можно было еще добавить генерацию предикаты GROUP BY и HAVING, но я решил этого не делать. Думаю, что принцип построения запросов я изложил ясно и проблем с использованием не возникнет. В итоге мы получили механизм построения sql запросов, который не завязан на конкретной структуре таблицы в БД и может применяться к разным типам DML SQL запросов. Если нужно будет, могу создать репозиторий на github.
Буду рад услышать критику и предложения по улучшению метода.

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

SQL Query Builder

Scrutinizer Code Quality
SensioLabsInsight

An elegant lightweight and efficient SQL Query Builder with fluid interface SQL syntax supporting bindings and complicated query generation. Works without establishing a connection to the database.

The recommended way to install the SQL Query Builder is through Composer. Run the following command to install it:

The SQL Query Builder allows to generate complex SQL queries standard using the SQL-2003 dialect (default) and the MySQL dialect, that extends the SQL-2003 dialect.

2.1. Generic Builder ↑

The Generic Query Builder is the default builder for this class and writes standard SQL-2003.

All column aliases are escaped using the ' sign by default.

2.2. MySQL Builder ↑

The MySQL Query Builder has its own class, that inherits from the SQL-2003 builder. All columns will be wrapped with the tilde ` sign.

All table and column aliases are escaped using the tilde sign by default.

2.3. Human Readable Output ↑

Both Generic and MySQL Query Builder can write complex SQL queries.

Every developer out there needs at some point revising the output of a complicated query, the SQL Query Builder includes a human-friendly output method, and therefore the writeFormatted method is there to aid the developer when need.

Keep in mind writeFormatted is to be avoided at all cost in production mode as it adds unneeded overhead due to parsing and re-formatting of the generated statement.

Читайте также: