В большей степени, Firebird соответствует стандарту SQL и если имеется опыт работы с другими СУБД, сложностей не возникнет. Данная инструкция является шпаргалкой с базовыми командами SQL по выборке, редактированию, вставке и удалению данных.
Обычная выборка всех данных в таблице:
SELECT * FROM <table>
* где <table> — название таблицы.
Выборка с условием (WHERE):
SELECT * FROM <table> WHERE <field>=’15’
* в данном примере будут выбраны только те строки, где значение поля <field> равно 15.
SELECT * FROM <table> WHERE <field> LIKE ‘%foo%’
* а в этом примере будут выбраны только те строки, где в поле <field> встретиться foo .
Используя условия с русскими символами (кириллица) необходимо передавать запросы в той же кодировке, что используется СУБД. Например, если скрипты программы в кодировке UTF-8, в значения в базе хранятся в windows-1251 (cp1251), необходимо конвертировать кодировку.
Регистронезависимая выборка с условием (WHERE):
Вся выборка в Firebird зависит от регистра символов — то есть, если в поле будет слово ‘Магазин’, запрос LIKE ‘магазин’ не вернет никакого результата.
Чтобы найти нужную строку, выполняем следующий запрос:
SELECT * FROM <table> WHERE UPPER(<field>) LIKE ‘%МАГАЗИН%’
* UPPER конвертирует значение поля в верхний регистр, таким образом делая все символы большими.
Выборка с лимитом (LIMIT, а точнее FIRST):
SELECT FIRST 5 SKIP 0 * FROM <table>
* выбрать первые 5 строк.
SELECT FIRST 5 SKIP 5 * FROM <table>
* выбрать 5 строк, начиная с 6-й.
Группировка данных (GROUP BY):
SELECT field1, MAX(field2) FROM <table> GROUP BY field1
* в данном примере выполнена группировка по полю field1. Извлекаются строки со значениями самого field1 и максимальные значения для field2.
Выборка уникальных значений (DISTINCT):
SELECT DISTINCT(field) FROM <table>
* выборка уникальных значений поля field.
Получение списка полей для таблицы (аналог SHOW FIELDS):
SELECT Fields.RDB$FIELD_NAME as FIELD FROM RDB$RELATION_FIELDS Fields WHERE Fields.RDB$RELATION_NAME = ‘USERS’ and Fields.RDB$SYSTEM_FLAG = 0 ORDER BY Fields.RDB$FIELD_POSITION
* где USERS — имя таблицы, для которой хотим получить список полей;
Список таблиц (аналог SHOW TABLES):
SELECT RDB$RELATION_NAME FROM RDB$RELATIONS
Простая вставка:
INSERT INTO <table> (field1, field2) VALUES (‘data1’, ‘data2’);
* в таблицу <table> добавляем строку и заполняем поля field1 и field2 соответствующими значениями data1 и data2.
Вставка с копирование:
INSERT INTO <table> SELECT * FROM <table2> WHERE ID > ‘111’;
* в данном примере в таблицу <table> будет вставлено все, что выбрано из таблицы <table2>
Простое обновление данных:
UPDATE <table> SET field1 = ‘data3’ WHERE id = ‘111’;
* для записи с ID 111 в таблице <table> меняем значение поля field1 на data3.
DELETE FROM <table> WHERE id = 111;
* удаляем строку с ID 111 таблицы <table>
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…