На главную страницу
Форум txt.version   




Статья :: PostgreSQL Специальные символы

Специальные символы

Специальные символы имеют особое синтаксическое значение в PostgreSQL. По этой причине они обычно не могут использоваться в идентификаторах, хотя, как упоминалось выше в пункте «Защищенные идентификаторы» подраздела «Ключевые слова и идентификаторы», данное ограничение обычно удается обойти при помощи кавычек.

Синтаксические символы

Некоторые специальные символы выполняют в командах SQL примерно те же функции, что и знаки препинания в английском языке. В табл. 3.5 перечислены основные синтаксические символы PostgreSQL.

Таблица 3.5. Синтаксические символы

Символ

Определение

* (звездочка)

Выборка всех полей таблицы в команде SELECT, а также подсчет всех записей в агрегатной функции count ()

( ) (круглые скобки)

Группировка выражений, изменение приоритета операторов и вызов функций. Смысл круглых скобок в значительной степени зависит от контекста

[ ] (квадратные скобки)

Выборка конкретного элемента массива или объявление типа массива (например, в команде CREATE TABLE)

: (точка с запятой)

Признак завершения команды SQL. Внутри команд может использоваться только в строковых константах и защищенных идентификаторах

. (запятая)

Разделитель элементов в списке

. (точка)

Десятичный разделитель в вещественных константах (например, 3.1415), а также квалификатор имен полей (например, table name. column name)

: (двоеточие)

Определение срезов (slices) в массивах

$ (знак доллара)

Обозначение позиционного параметра в определении функции

Операторы

Другую категорию специальных символов составляют операторы, предназначенные для выполнения различных операций с идентификаторами или константами. Операторы могут использоваться как для математических вычислений (сложение, вычитание и т. д.), так и для сравнения и логических операций.

Вернемся к таблице 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

Оператор

Определение

Математические операторы

+

Сложение двух чисел

-

Вычисление разности двух чисел

/

Вычисление частного от деления двух чисел

*

Умножение двух чисел

!

Факториал целого числа

§

Модуль (абсолютное значение) числа

Операторы сравнения

=

Проверка эквивалентности двух величин

<

Проверка условия «первое число меньше второго»

>

Проверка условия «первое число больше второго»

~

Поиск совпадения регулярного выражения в тексте

Логические операторы

NOT

Логическое отрицание

AND

Логическая конъюнкция (true, если оба логических операнда равны true)

OR

Логическая дизъюнкция (true, если хотя бы один из логических операндов равен true)

Смысл многих операторов может изменяться в зависимости от контекста, но оператор = играет особенно важную роль в секции SET команды UPDATE.

Хотя в большинстве выражений оператор = требуется для проверки эквивалентности двух величин, в сочетании с идентификатором в секции SET команды UPDATE он становится оператором присваивания и используется для присваивания нового значения существующему идентификатору.

За дополнительной информацией об операторах обращайтесь к разделу «Операторы» в главе 5.

PostgreSQL Специальные символы

страницы в данном разделе 
 PostgreSQL Глава 3. Краткий курс SQL  PostgreSQL Краткий курс SQL
 PostgreSQL Знакомство с SQL  PostgreSQL Знакомство с реляционными базами данных
 PostgreSQL Команды SQL  PostgreSQL Ключевые слова и идентификаторы
 PostgreSQL Константы  PostgreSQL Специальные символы
 PostgreSQL Комментарии  PostgreSQL Типы данных
 PostgreSQL Символьные типы  PostgreSQL Числовые типы
 PostgreSQL Геометрические типы  PostgreSQL Массивы
 PostgreSQL Преобразование типов  PostgreSQL Таблицы


Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)

Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)

PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
©  programming-lang.com  справочник программиста