Топ-100
 
CerebroSQL

Редактор SQL запросов для баз SQLite

Не нашли нужных функций? Пишите в комментариях на форуме и мы добавим нужный функционал

Для работы с СУБД, установка дополнительного ПО не требуется. Все необходимые библиотеки идут в комплекте

 

Создание нового листа для работы с SQLite

  1. Нажать кнопку "New list "SQLite""

  2. File - New - SQLite

  3. Комбинация клавиш:  Shift + F2

Create new page for database SQLite.jpg
 

Подключение к базам SQLite

Соединение с базами данных выполняется двумя способами:

  • Используя команду "attach"

  • Создав в менеджере подключений статичные соединения для быстрого подключения к базам  

 

Структура листа

 
Connection manager

Мастер создания соединений с базам SQLite для быстрого подключения

SQLite connection manager.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"

SQLite attach database file.jpg
 
Дерево объектов

  • ATTACH - список алиасов баз подключенных к листу редактора

  • TABLE - список таблиц в подключенных базах. Имя состоит из алиаса БД и имени таблицы

  • INDEX - список индексов в подключенных базах. Имя состоит из алиаса БД и имени индекса

  • VIEW - список представлений в подключенных базах. Имя состоит из алиаса БД и имени индекса

  • TRIGGER - список триггеров в подключенных базах. Имя состоит из алиаса БД и имени индекса

  • PARAMETER - параметры выбранной базы. База выбирается из выпадающего списка "Database attached list"

  • HELP - описание команд поддерживаемых базой SQLite. Загружается отдельно.

 
Узел "ATTACH"

Содержит список подключенных баз.

CerebroSQL SQLite tree object - attach.j

Меню:​

  • Sweep - выполнить оптимизацию выбранной базы данных SQLite.

  • Backup - выполнить резервное копирование базы данных SQLite. Операция выполняется в случаи, если при сохранении соединения были указаны параметры резервного копирования.

  • Show all SQL - сформировать код всех объектов в БД

  • Detach - отключить базу данных SQLite от текущего листа 

 
Узел "TABLE"

Список таблиц в подключенной/ых базах

CerebroSQL SQLite tree object - table.jp

->Запрос для извлечения данных<-

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

->Запрос для извлечения данных<-

PRAGMA database_list;

select name from $$ATTACHDB.sqlite_master where U Upper(type) = 'INDEX'  order by 1

-----

 
Узел "VIEW"

Список представлений во всех подключенных базах

[CerebroSQL] SQLite list view.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

Список выполняемых 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.

  • Execute current SQL - Выполнить текущий выделенный запрос или все запросы на листе

 

Execute - аналогично нажатию на кнопку

To run the script from a file - выполнить скрипт с диска. Скрипт не загружается в редактор.

Check the script file for validate - проверить на корректность скрипт на диске без его выполнения

Show a list of command for execute - произвести разбор команд в редакторе на блоки выполнения. Выводится внутренний код и текст единичной команды

CerebroSQL for Oracle - execute menu
  • Commit - зафиксировать изменения

  • Rollback - откатить изменения внесенные в данные последними запросами

  • Stop execute - остановить выполнение текущего запроса

  • Close open cursor - закрыть текущий набор данных

  • Show plan - показать план выполнения выделенного запроса

[CerebroSQL] SQLite view query plan.jpg

 

->Запрос для извлечения данных<-

EXPLAIN QUERY PLAN <Query text>

-----

  • Export data in file - выгрузка данных грида (видимой части данных) в файл на диске в:

CerebroSQL for Oracle - export data

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 - открыть менеджер файлов

CerebroSQL for Oracle - open file

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

CerebroSQL - code block
 

 

Создание блока кода

  1. Нажать кнопку "New"

  2. Из выпадающего списка "Parent name" выбрать имя корневого узла. Корневой узел так же является родителем в меню. Для добавления новой записи в список нажать кнопку "Add new parent" и внести новые значения

  3. Из выпадающего списка "Page type" выбрать тип СУБД для которых должен отображаться блок кода в списке

  4. В поле "Code" ввести текст блока кода, данный текст добавляется в редактор

  5. Нажать кнопку "Save

CerebroSQL - code block saved
[CerebroSQL] Query block add list.jpg

  • Project manager - открыть менеджер проектов

Рабочая область

 

Это поле на листе для ввода запросов/команд.

Разделение кода на составные части

Движок редактора запросов перед выполнением команд производит разбор кода, определяя составные части.

Для разделения кода используются специальные символы (; - точка с запятой, / - слеш, go - ключевое слово на отдельной строке).

Программа поддерживает два синтаксиса кода:

  • Классический синтаксис Oracle: для отделения команд друг от друга используется символ ; (точка с запятой) за исключением команд create, begin, declate - данные команды отделяет от других символ / (слеш) на отдельной строке

  • Синтаксис MSSQL Server: для отделения команд друг от друга используется ключевое слово go на отдельной строке

Разрешено использовать любой из двух синтаксисов, в том числе оба одновременно

 
 
[CerebroSQL] PostgreSQL query execute.jp
 

 

Логирование выполняемых операций

Текст любой команды/запроса языка SQL после выполнения сохраняется в локальном хранилище (база Core - таблица cer_history_query). В базе фиксируется: текст запроса/команды фактически выполненной ядром программы, статус выполнения, время выполнения, количество измененных строк, сообщения БД (output)

CerebroSQL for Oracle - save query execute

 

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

CerebroSQL for Oracle - query executing messages
 

 

Иконки в левой части окна отображают прогресс выполнения(выполненные команды, текущая команда, ожидают выполнения, ошибка выполнения запроса, строка с ошибкой в запросе)

Подсказчик кода

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

Для схем - отображаются все объекты схемы

[CerebroSQL] code compliter 1.jpg

 

Для алиасов таблиц, представлений - список колонок

[CerebroSQL] code compliter 2.jpg

 

По части имени объекта - отображаются объекты в БД имя которых начинается с введенного текста. Подсказка отображается по комбинации клавиш Crtl+Space

CerebroSQL for Oracle - code compliter l
 
 
Алиасы запросов

В программе для запросов можно назначить алиас и в последствии выполнять запрос по нему, подробно смотрите в разделе "Диспетчер алиасов запросов"

Меню рабочей области
  • Copy - скопировать выделенный текст в буфер обмена

  • Past - вставить содержимое буфера обмена в окно редактора

  • Cut - вырезать выделенный текст

  • SelectAll - выделить весь текст в рабочей области

  • View table - просмотр подробной информации по выделенной таблице

  • Get DDL - показать код создания выделенной таблицы

  • Show command help - показать справку по выбранной команде

 
CerebroSQL for Oracle - Show selected command
[CerebroSQL] PostgreSQL help command.jpg

  • Show object data - показать данные выделенной таблицы, представления, синонима

  • Project manager -> Add object - создать страницу для выделенного кода в текущем проекте по умолчанию

CerebroSQL for Oracle - add code in project

  • Project manager -> Search object card - найти карточку выделенного объекта в текущем проекте по умолчанию

  • Comment -> Add current line - добавить символы комментария в начало текущей строки 

  • Comment -> Remove current line - удалить символы комментария в начале текущей строки

  • Comment -> Add selected text - добавить символы комментария в начало каждой из выделенных строк

  • Comment -> Remove selected text - удалить символы комментария в начале каждой из выделенных строк