Редактор SQL запросов для баз данных SQLite
-
Создание нового листа
-
Подключение к базам SQLite
-
Структура листа
-
Создание блока кода
-
Рабочая область
-
Разделение кода на составные части
-
Логирование выполняемых операций
-
Подсказчик кода
-
Алиасы запросов
-
Меню рабочей области
Создание нового листа для работы с SQLite
-
Нажать кнопку "New list "SQLite""
-
File - New - SQLite
-
Комбинация клавиш: Shift + F2
![[CerebroSQL] Create new list for SQLite.](https://static.wixstatic.com/media/513478_ba4eeeaa630c46fda4a2d0eeb1ad809e~mv2.jpg/v1/fill/w_900,h_607,al_c,q_85,usm_0.66_1.00_0.01/%5BCerebroSQL%5D%20Create%20new%20list%20for%20SQLite_.jpg)
Подключение к базам SQLite
Соединение с базами данных выполняется двумя способами:
-
Используя команду "attach"
-
Создав в менеджере подключений статичные соединения для быстрого подключения к базам
Структура листа
Connection manager
Мастер создания соединений с базам SQLite для быстрого подключения
![[CerebroSQL] Connection manager for SQLite.jpg](https://static.wixstatic.com/media/513478_285341dc38b74a1c8e7be74f1aa5c7c0~mv2.jpg/v1/fill/w_344,h_734,al_c,q_80,usm_0.66_1.00_0.01/%5BCerebroSQL%5D%20Connection%20%20manager%20for%20SQL.jpg)
Database list
Список ранее сохраненных соединений с базами данных SQLite
Создание нового соединения
-
Attach as - алиас под которым с которым будет подключатся БД
-
Database file - путь до файла БД SQLite.
Если база шифрованная,
-
Mode - протокол шифрования
-
Database password - пароль от базы
В программе реализована возможность выполнения резервного копирования баз данных SQLite из интерфейса программы после ее подключения к листу, для использования функционала, заполнить поля:
-
Указать путь к файлу файлу резервной копии в поле "Backup file"
Если необходимо шифровать бэкап,
-
Mode (bkp) - режим шифрования
-
Database password (bkp) - пароль
-
Сохранить соединение нажав кнопку "Save"
Attach database
Менеджер подключения сохраненных баз к текущему листу.
По умолчанию в списке присутствуют 4 базы программы
-
ASH - хранилище информации по активности сессий в БД за работой которой следит основное ядро программы
-
CONNECT - хранилище, для таблиц с данными соединений с разными СУБД работу с которыми поддерживает программы
-
CORE - основная база программы
-
EXIST - база хранящая информацию по мониторингу работы баз через механизм мониторинга работы "Облака"
Одновременно можно подключаться к любому количеству баз
-
Установить флажки напротив нужных баз
-
Нажать кнопку "Attach"

"The object tree"
-
ATTACH - список алиасов баз подключенных к листу редактора
-
TABLE - список таблиц в подключенных базах. Имя состоит из алиаса БД и имени таблицы
-
INDEX - список индексов в подключенных базах. Имя состоит из алиаса БД и имени индекса
-
VIEW - список представлений в подключенных базах. Имя состоит из алиаса БД и имени индекса
-
TRIGGER - список триггеров в подключенных базах. Имя состоит из алиаса БД и имени индекса
-
PARAMETER - параметры выбранной базы. База выбирается из выпадающего списка "Database attached list"
-
HELP - описание команд поддерживаемых базой SQLite. Загружается отдельно.
Узел "ATTACH"
Содержит список подключенных баз.
![[CerebroSQL] SQLite list attach databased.jpg](https://static.wixstatic.com/media/513478_1af947a4ef34461294b931d142d109a3~mv2.jpg/v1/fill/w_308,h_611,al_c,lg_1,q_80,usm_0.66_1.00_0.01/%5BCerebroSQL%5D%20SQLite%20list%20attach%20database.jpg)
Меню:
-
Sweep - выполнить оптимизацию выбранной базы данных SQLite.
-
Backup - выполнить резервное копирование базы данных SQLite. Операция выполняется в случаи, если при сохранении соединения были указаны параметры резервного копирования.
-
Show all SQL - сформировать код всех объектов в БД
-
Detach - отключить базу данных SQLite от текущего листа
Узел "TABLE"
Список таблиц в подключенной/ых базах
![[CerebroSQL] SQLite list table.jpg](https://static.wixstatic.com/media/513478_2f362362b1974a1a9f348abf0f1fdd39~mv2.jpg/v1/fill/w_314,h_535,al_c,q_80,usm_0.66_1.00_0.01/%5BCerebroSQL%5D%20SQLite%20list%20table.jpg)
->Запрос для извлечения данных<-
PRAGMA database_list;
SELECT Upper(name) "name" FROM $$ATTACHDB.sqlite_master where Upper(type)='TABLE' order by Upper(name);
-----
Меню:
-
Reindex - перестроить все индексы построенные по колонкам таблицы
->Команда<-
reindex <Table_name>
-----
-
Get DDL - сформировать код создания таблицы
->Запрос для извлечения данных<-
select sql from $$ATTACHDB.sqlite_master where Upper(name)=Upper($$TABLE_NAME)
-----
-
SQL [Select] - сформировать код запроса к таблице и добавить в редактор
-
SQL [Insert] - сформировать код команды на вставку данных в таблицу и добавить в редактор
-
SQL [Delete all rows] - сформировать код команды на удаление всех строк в таблице и добавить в редактор
-
SQL [Rename table] - сформировать код команды на изменение имени таблицы и добавить в редактор
-
SQL [Drop] - сформировать код удаления таблицы и добавить в редактор
-
Data - показать данные таблицы
Узел "Column"
Список колонок таблицы
->Запрос для извлечения данных<-
PRAGMA $$ATTACHDB.table_info($$TABLE_NAME)
-----
Узел "Index"
Список индексов по колонкам таблицы
->Запрос для извлечения данных<-
select name from $$ATTACHDB.sqlite_master where Upper(tbl_name) = Upper($$TABLE_NAME) and Upper(type) = 'INDEX' order by 1
-----
Дочерний узел "Details"
Информация о колонках по которым построен индекс
>Запрос для извлечения данных<-
pragma $$ATTACHDB.index_info($$INDEX_NAME)
-----
Узел "Trigger"
Список триггеров на таблице
>Запрос для извлечения данных<-
select name from $$ATTACHDB.sqlite_master where Upper(tbl_name) = Upper($$TABLE_NAME) and Upper(type) = 'TRIGGER' order by 1
-----
Узел "INDEX"
Список индексов во всех подключенных базах
![[CerebroSQL] SQLite list index.jpg](https://static.wixstatic.com/media/513478_35ddc767a84e45b69cb02053ac7b75fc~mv2.jpg/v1/fill/w_314,h_515,al_c,q_80,usm_0.66_1.00_0.01/%5BCerebroSQL%5D%20SQLite%20list%20index.jpg)
->Запрос для извлечения данных<-
PRAGMA database_list;
select name from $$ATTACHDB.sqlite_master where U Upper(type) = 'INDEX' order by 1
-----
Узел "VIEW"
Список представлений во всех подключенных базах
![[CerebroSQL] SQLite list view.jpg](https://static.wixstatic.com/media/513478_fa1dc085f8c141ddbeedd2494d8523ab~mv2.jpg/v1/fill/w_314,h_434,al_c,q_80,usm_0.66_1.00_0.01/%5BCerebroSQL%5D%20SQLite%20list%20view.jpg)
->Запрос для извлечения данных<-
PRAGMA database_list;
select name from $$ATTACHDB.sqlite_master where U Upper(type) = 'VIEW' order by 1
-----
Меню:
-
Source - сформировать код создания view и добавить его в редактор
->Запрос для извлечения данных<-
select sql from $$ATTACHDB.sqlite_master where Upper(name)=Upper($$VIEW_NAME)
-----
-
Data - показать данные представления
Узел "PARAMETER"
Параметры базы данных
![[CerebroSQL] SQLite database parameter.jpg](https://static.wixstatic.com/media/513478_7508af9d677a4d98b07a3a9f06f6a56e~mv2.jpg/v1/fill/w_398,h_653,al_c,q_80,usm_0.66_1.00_0.01/%5BCerebroSQL%5D%20SQLite%20database%20parameter_j.jpg)
Список выполняемых pragma:
PRAGMA automatic_index;
PRAGMA busy_timeout;
PRAGMA cache_size;
PRAGMA cache_spill;
PRAGMA checkpoint_fullfsync;
PRAGMA collation_list;
PRAGMA compile_options;
PRAGMA defer_foreign_keys;
PRAGMA encoding;
PRAGMA foreign_keys;
PRAGMA freelist_count;
PRAGMA fullfsync;
PRAGMA integrity_check;
PRAGMA journal_mode;
PRAGMA journal_size_limit;
PRAGMA locking_mode;
PRAGMA page_size;
PRAGMA max_page_count;
PRAGMA page_count;
PRAGMA query_only;
PRAGMA quick_check;
PRAGMA read_uncommitted;
PRAGMA recursive_triggers;
PRAGMA reverse_unordered_selects;
PRAGMA schema_version;
PRAGMA user_version;
PRAGMA secure_delete;
PRAGMA soft_heap_limit;
PRAGMA synchronous;
Кнопки управления
![[CerebroSQL] SQLite list control button.](https://static.wixstatic.com/media/513478_0cfea92e477045daaf0de9914f5204dd~mv2.jpg/v1/fill/w_699,h_82,al_c,lg_1,q_80,usm_0.66_1.00_0.01/%5BCerebroSQL%5D%20SQLite%20list%20control%20button_.jpg)
-
Execute current SQL - Выполнить текущий выделенный запрос или все запросы на листе
Execute - аналогично нажатию на кнопку
To run the script from a file - выполнить скрипт с диска. Скрипт не загружается в редактор.
Check the script file for validate - проверить на корректность скрипт на диске без его выполнения
Show a list of command for execute - произвести разбор команд в редакторе на блоки выполнения. Выводится внутренний код и текст единичной команды

-
Commit - зафиксировать изменения
-
Rollback - откатить изменения внесенные в данные последними запросами
-
Stop execute - остановить выполнение текущего запроса
-
Close open cursor - закрыть текущий набор данных
-
Show plan - показать план выполнения выделенного запроса
![[CerebroSQL] SQLite view query plan.jpg](https://static.wixstatic.com/media/513478_a2b3f5c542fc4e7bbcf1ce755703a8bd~mv2.jpg/v1/fill/w_700,h_502,al_c,q_80,usm_0.66_1.00_0.01/%5BCerebroSQL%5D%20SQLite%20view%20query%20plan.jpg)
->Запрос для извлечения данных<-
EXPLAIN QUERY PLAN <Query text>
-----
-
Export data in file - выгрузка данных грида (видимой части данных) в файл на диске в:

Export data in XLS - выгрузить данные в файл в формате XLS
Export data in TXT - выгрузить данные в файл в формате TXT
Export data in CSV - выгрузить данные в файл в формате CSV
Export data in HTML - выгрузить данные в файл в формате HTML
Export data in RTF - выгрузить данные в файл в формате RTF
-
Save current list in file - сохранить содержимое текущего листа в файл на диске
-
Open file - открыть менеджер файлов

-
List saving code - открыть менеджер создания блоков кода. Блоки кода - это конструкции кода сохраненные в программе, доступ к которым осуществляется из выпадающего меню кнопки

Создание блока кода
-
Нажать кнопку "New"
-
Из выпадающего списка "Parent name" выбрать имя корневого узла. Корневой узел так же является родителем в меню. Для добавления новой записи в список нажать кнопку "Add new parent" и внести новые значения
-
Из выпадающего списка "Page type" выбрать тип СУБД для которых должен отображаться блок кода в списке
-
В поле "Code" ввести текст блока кода, данный текст добавляется в редактор
-
Нажать кнопку "Save"

![[CerebroSQL] Query block add list.jpg](https://static.wixstatic.com/media/513478_11e18f054cec46c99a9c5417cf3e83e1~mv2.jpg/v1/fill/w_799,h_543,al_c,q_85,usm_0.66_1.00_0.01/%5BCerebroSQL%5D%20Query%20block%20add%20list.jpg)
-
Project manager - открыть менеджер проектов
Рабочая область
Это поле на листе для ввода запросов/команд.
Разделение кода на составные части
Движок редактора запросов перед выполнением команд производит разбор кода, определяя составные части.
Для разделения кода используются специальные символы (; - точка с запятой, / - слеш, go - ключевое слово на отдельной строке).
Программа поддерживает два синтаксиса кода:
-
Классический синтаксис Oracle: для отделения команд друг от друга используется символ ; (точка с запятой) за исключением команд create, begin, declate - данные команды отделяет от других символ / (слеш) на отдельной строке
-
Синтаксис MSSQL Server: для отделения команд друг от друга используется ключевое слово go на отдельной строке
Разрешено использовать любой из двух синтаксисов, в том числе оба одновременно
![[CerebroSQL] PostgreSQL query execute.jp](https://static.wixstatic.com/media/513478_c842162c1d554152a7be190ea88f770c~mv2.jpg/v1/fill/w_699,h_531,al_c,q_85,usm_0.66_1.00_0.01/%5BCerebroSQL%5D%20PostgreSQL%20query%20execute_jp.jpg)
Логирование выполняемых операций
Текст любой команды/запроса языка SQL после выполнения сохраняется в локальном хранилище (база Core - таблица cer_history_query). В базе фиксируется: текст запроса/команды фактически выполненной ядром программы, статус выполнения, время выполнения, количество измененных строк, сообщения БД (output)

Дополнительно к сохранению данных в БД прогресс выполнения каждой команды фиксируется на вкладке "Messages" листа: отображается статус выполнения команд, время выполнения, номера строк в редакторе на которых располагается выполненная команда. Данные вкладки очищаются перед запуском выполнения команд

Иконки в левой части окна отображают прогресс выполнения(выполненные команды, текущая команда, ожидают выполнения, ошибка выполнения запроса, строка с ошибкой в запросе)
Подсказчик кода
Подсказчик кода помогает ускорить написание запрос, подсказывая имена объектов, колонок.
Для схем - отображаются все объекты схемы
![[CerebroSQL] code compliter 1.jpg](https://static.wixstatic.com/media/513478_ba53102f9992430fb666bef20ccfa5c9~mv2.jpg/v1/fill/w_600,h_249,al_c,q_80,usm_0.66_1.00_0.01/%5BCerebroSQL%5D%20code%20compliter%201.jpg)
Для алиасов таблиц, представлений - список колонок
![[CerebroSQL] code compliter 2.jpg](https://static.wixstatic.com/media/513478_77d4fe985763449ebb4a5057493a56f3~mv2.jpg/v1/fill/w_599,h_251,al_c,q_80,usm_0.66_1.00_0.01/%5BCerebroSQL%5D%20code%20compliter%202.jpg)
По части имени объекта - отображаются объекты в БД имя которых начинается с введенного текста. Подсказка отображается по комбинации клавиш Crtl+Space

Алиасы запросов
В программе для запросов можно назначить алиас и в последствии выполнять запрос по нему, подробно смотрите в разделе "Диспетчер алиасов запросов"
Меню рабочей области
-
Copy - скопировать выделенный текст в буфер обмена
-
Past - вставить содержимое буфера обмена в окно редактора
-
Cut - вырезать выделенный текст
-
SelectAll - выделить весь текст в рабочей области
-
View table - просмотр подробной информации по выделенной таблице
-
Get DDL - показать код создания выделенной таблицы
-
Show command help - показать справку по выбранной команде

![[CerebroSQL] PostgreSQL help command.jpg](https://static.wixstatic.com/media/513478_b4a8078d9f93428f8edf971373bb166c~mv2.jpg/v1/fill/w_700,h_511,al_c,q_80,usm_0.66_1.00_0.01/%5BCerebroSQL%5D%20PostgreSQL%20help%20command.jpg)
-
Show object data - показать данные выделенной таблицы, представления, синонима
-
Project manager -> Add object - создать страницу для выделенного кода в текущем проекте по умолчанию

-
Project manager -> Search object card - найти карточку выделенного объекта в текущем проекте по умолчанию
-
Comment -> Add current line - добавить символы комментария в начало текущей строки
-
Comment ->Remove current line - удалить символы комментария в начале текущей строки
-
Comment -> Add selected text - добавить символы комментария в начало каждой из выделенных строк
-
Comment -> Remove selected text - удалить символы комментария в начале каждой из выделенных строк