Учебное пособие Санкт-Петербург «бхв-петербург»



Pdf көрінісі
бет47/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   43   44   45   46   47   48   49   50   ...   256
sql osnovi yazika

Глава 4. Типы данных СУБД PostgreSQL
Выберем только СУБД с открытым исходным кодом:
SELECT * FROM databases WHERE is_open_source;
is_open_source | dbms_name
----------------+------------
t
| PostgreSQL
t
| MySQL
(2 строки)
Обратите внимание, что в условии WHERE для проверки логических значений можно
не писать выражение WHERE is_open_source = 'yes', а достаточно просто указать
имя столбца, содержащего логическое значение: WHERE is_open_source.
4.5. Массивы
PostgreSQL позволяет создавать в таблицах такие столбцы, в которых будут содер-
жаться не скалярные значения, а массивы переменной длины. Эти массивы могут
быть многомерными и могут содержать значения любого из встроенных типов, а так-
же типов данных, определенных пользователем.
Предположим, что нам необходимо сформировать и сохранить в базе данных в удоб-
ной форме графики работы пилотов авиакомпании, т. е. номера дней недели, когда
они совершают полеты. Создадим таблицу, в которой эти графики будут храниться
в виде единых списков, т. е. в виде одномерных массивов.
CREATE TABLE pilots
(
pilot_name text,
schedule integer[]
);
CREATE TABLE
Для указания на то, что это массив, нужно добавить квадратные скобки к наимено-
ванию типа данных. При этом задавать число элементов не обязательно.
Давайте добавим в таблицу четыре строки. Массив в команде вставки представлен
в виде строкового литерала с указанием типа данных и квадратных скобок, означаю-
щих массив. Обратите внимание, что все массивы имеют различное число элементов.
64


4.5. Массивы
INSERT INTO pilots
VALUES ( 'Ivan', '{ 1, 3, 5, 6, 7 }'::integer[] ),
( 'Petr', '{ 1, 2, 5, 7
}'::integer[] ),


Достарыңызбен бөлісу:
1   ...   43   44   45   46   47   48   49   50   ...   256




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет