![]() |
![]() |
![]() |
Специальные символы Специальные символы имеют особое синтаксическое значение в PostgreSQL. По этой причине они обычно не могут использоваться в идентификаторах, хотя, как упоминалось выше в пункте «Защищенные идентификаторы» подраздела «Ключевые слова и идентификаторы», данное ограничение обычно удается обойти при помощи кавычек. Синтаксические символы Некоторые специальные символы выполняют в командах SQL примерно те же функции, что и знаки препинания в английском языке. В табл. 3.5 перечислены основные синтаксические символы PostgreSQL. Таблица 3.5. Синтаксические символы
Операторы Другую категорию специальных символов составляют операторы, предназначенные для выполнения различных операций с идентификаторами или константами. Операторы могут использоваться как для математических вычислений (сложение, вычитание и т. д.), так и для сравнения и логических операций. Вернемся к таблице books и ее числовому полю author_id. Вспомните, что в этом поле хранится целочисленный код, определяющий автора книги. Теперь представьте, что вследствие модификации системы все коды авторов должны быть увеличены на 1500. Задача решается командой UPDATE и выполнением операции с полем author_id. При этом используется оператор сложения (+). Пример приведен в листинге 3.10. Листинг 3.10. Операторы в командах SQL booktown=# SELECT * FROM books; id | title author_id | subject_id 7808 | The Shining |4156 | 9 156 | The Tell-Tale Heart| 15| 9 4513 | Dune |1866 |15 4267 | 2001: A Space Odyssey| 2001| 15 1608 | The Cat in the Hat |1809| 2 1590 | Bartholomew and the Oobleck |1809| 2 (6 rows) booktown=# UPDATE books SET author_id = author _id + 1500; UPDATE 6 booktown=# SELECT * FROM books; id title | author_id | subject_id 7808 | The Shining | 5656 | 9 156 | The Tell-Tale Heart 1515| 9 4513| Dune 3366 | 15 4267 | 2001; A Space Odyssey 3501 | 15 1608 | The Cat in the Hat | 3309 |2 1590 | Bartholomew and the Oobleck | 3309 | 2 Как видно из листинга 3.10, выполнение операции сложения с предыдущим значением поля author_id приводит к модификации этого поля во всех записях таблицы. Вероятно, вы уже знакомы с основными математическими операторами: + (суммирование двух числовых величин), - (вычитание) и т. д. Существуют и другие, более экзотические операторы — например, поразрядные операторы & и |, которые модифицируют значения на уровне двоичного представления. Некоторые ключевые слова SQL также часто относятся к категории операторов. В первую очередь это логические операторы AND, OR и NOT. Формально являясь ключевыми словами, они причисляются к операторам, поскольку предназначаются для выполнения операций с константами и идентификаторами. Основные операторы PostgreSQL перечислены в табл. 3.6. Таблица 3.6. Основные операторы PostgreSQL
Смысл многих операторов может изменяться в зависимости от контекста, но оператор = играет особенно важную роль в секции SET команды UPDATE. Хотя в большинстве выражений оператор = требуется для проверки эквивалентности двух величин, в сочетании с идентификатором в секции SET команды UPDATE он становится оператором присваивания и используется для присваивания нового значения существующему идентификатору. За дополнительной информацией об операторах обращайтесь к разделу «Операторы» в главе 5. |
![]() |
![]() |
![]() |