SQLсервер в Linux -самостоятельное освоение пакета

брокер мошенники | Аккуратно и недорого евроремонт квартир под ключ www.irk-stroy.ru/otdelochnye-raboty.htm Читаем здесь: https://welspro.com/ | Читаем здесь: https://novostif.ru/

Краткий курс SQL


Краткий курс SQL
Краткий курс SQL В этой главе описывается история SQL и основные концепции языка. На базе материала строится следующая глава, посвященная использованию SQL в Post-greSQL. В частности, в...
Символьные типы
Символьные типы Символьные типы используются в любых операциях с символьными данными (например, с фрагментами текста в кодировке ASCII). Обычно они применяются для хранения имен, адресо...
Таблица 3 12 Символьные типы
Таблица 3.12. Символьные типы Тип Размер Описание character(rt), chart/7) (4+ л) байт Символьная строка фиксированной длины, допо...
Числовые типы
Числовые типы Числовые типы PostgreSQL используются для представления целых и вещественных значений. С общей точки зрения к числовым типам PostgreSQL относятся следующие типы: 2-...
Таблица 3 13 Числовые типы PostgreSQL
Таблица 3.13. Числовые типы PostgreSQL Тип Размер Допустимые значения bigint, int8 8 байт Целые числа в интервале от -9 223 372 036 854 775 807 до 9...
Тип money
Тип money Тип money предназначен для хранения денежных величин и обычных чисел. На момент написания книги тип money считается устаревшим и использовать его не рекомендуется. В книге он...
Листинг 3 23 Использование типа numeric вместо money
Листинг 3.23. Использование типа numeric вместо money booktown=# CREATE TABLE money_example (money_cash money. booktown(# numeric_cash numeric(10,2)): CREATE booktown=# INSERT...
Тип serial
Тип serial Хотя тип serial не относится к числу стандартных типов, он часто используется при создании в таблице полей-идентификаторов, содержащих уникальное значение для каждой записи....
Листинг 3 24 Использование типа serial
Листинг 3.24. Использование типа serial booktown=# CREATE TABLE autojdentified (id_serial); NOTICE: CREATE TABLE will create implicit sequence ' auto Jdentif led Jd_seq' for SERIAL...
Листинг 3 25 Решение задачи «вручную»
Листинг 3.25. Решение задачи «вручную» booktown=# CREATE SEQUENCE autojdentified id_seq; CREATE booktown=# CREATE TABLE autojdentified booktown-# (id integer UNIQUE DEFAULT...
Дата и время
Дата и время Следующая категория типов является удобным средством для хранения даты и времени в универсальной структуре SQL. При этом программист избавляется от хлопот, связанных с фор...
Таблица 3 14 Типы даты и времени
Таблица 3.14. Типы даты и времени Тип данных Размер Описание Интервал date 4 байта Календарная дата (год, месяц и день) От 4713 г. до...
Совместимость
Совместимость Для сохранения совместимости с предыдущими версиями PostgreSQL разработчики продолжают поддерживать типы данных datetime и timespan. Тип datetime эквивалентен timestamp,...
Формат представления даты
Формат представления даты В PostgreSQL предусмотрено несколько стандартных форматов даты, в том числе формат ISO-8601, традиционный формат SQL, исходный формат PostgreSQL и многие друг...
Таблица 3 15 Форматы представления даты
Таблица 3.15. Форматы представления даты Пример Описание July 1. 2001 Название месяца, день и год Sunday July 1. 2001 Название дня недели,...
Таблица 3 16 Сокращенные обозначения месяцев
Таблица 3.16. Сокращенные обозначения месяцев Месяц Сокращение Январь Jan Февраль Feb Март Mar Апрель...
Таблица 3 17 Сокращенные обозначения дней недели
Таблица 3.17. Сокращенные обозначения дней недели День Сокращение Воскресенье Sun Понедельник Моп Вторник Tue, Tues...
Таблица 3 18 Константы форматов даты
Таблица 3.18. Константы форматов даты Общий формат Описание Пример ISO Стандарт ISO-8601 2001-06-25 12:24:00-07 SQL Традиционный...
Таблица 3 19 Дополнительные форматы вывода даты
Таблица 3.19. Дополнительные форматы вывода даты Формат Описание Пример European День/месяц/год 12/07/2001 17:34:50.00 МЕТ US. NonEuro...
Листинг 3 26 Выбор формата даты
Листинг 3.26. Выбор формата даты booktown=# SET DATESTYLE TO ISO,US; SET VARIABLE booktown=# SHOW DATESTYLE; NOTICE: DateStyle is ISO with US (NonEuropean) conventions SHOW VARIA...
Форматы представления времени
Форматы представления времени Время, как и дата, может задаваться разными способами. В табл. 3.20 перечислены самые распространенные форматы значений типов time и time with time zone....
Taблица 3 20 Форматы представления времени
Taблица 3.20. Форматы представления времени Пример Описание 01:24 ISO-8601 с точностью до минут 01:24 AM Эквивалент 01:24 (суффикс AM испол...
Таблица 3 21 Допустимые форматы часового пояса
Таблица 3.21. Допустимые форматы часового пояса Пример Описание 01:24:11-7 ISO-8601, GMT + 7 часов 01:24:11-07:00 ISO-8601, GMT + 7 часов 0...
Тип timestamp
Тип timestamp Тип timestamp PostgreSQL сочетает функциональные возможности типов date и time. Формат timestamp состоит из даты, за которой следует минимум один пробел, после чего идет...
Таблица 3 22 Примеры данных типа timestamp
Таблица 3.22. Примеры данных типа timestamp Пример Описание 1980-06-25 11:11-7 Формат даты ISO-8601 с точностью до минут, часовой пояс PST 25/06...
Интервальный тип
Интервальный тип В стандарте SQL92 определен тип данных interval, представляющий фиксированный промежуток времени. Сам по себе тип interval представляет лишь количественную величину, н...
Листинг 3 27 Операции с интервалами
Листинг 3.27. Операции с интервалами booktown=# SELECT date('1980-06-25'); date 1980-06-25 (1 row) booktown=# SELECT interval С 21 years 8 days'); interval 21 years 8 days (1...
Встроенные константы даты и времени
Встроенные константы даты и времени В PostgreSQL предусмотрено несколько специальных констант, представляющих стандартные значения даты и времени. Эти константы перечислены в табл. 3.2...
Таблица 3 23 Константы даты и времени
Таблица 3.23. Константы даты и времени Константа Описание current Текущее (отложенное) время обработки транзакции. В отличие от now не при...
Листинг 3 28 Использование констант current и now
Листинг 3.28. Использование констант current и now booktown=# CREATE TABLE tasklog booktown=# (taskname char(15), booktown=# timebegun timestamp, booktown=# timeflnished timestamp)...
Листинг 3 29 Сравнение констант now и current
Листинг 3.29. Сравнение констант now и current booktown=# INSERT INTO shipments (customer_id. isbn, ship_date) Ccustomer_id, isbn, ship_date) booktown-# VALUES (1. '039480001X', 'cu...
Геометрические типы
Геометрические типы Геометрические типы PostgreSQL предназначены для представления объектов на плоскости. Они не относятся к стандартным типам данных SQL и потому в книге подробно не ра...
Таблица 3 24 Геометрические типы
Таблица 3.24. Геометрические типы Тип Размер Описание Синтаксис point 16 байт Точечный объект, характеризуемый только...
Массивы
Массивы В исходном варианте реляционной модели значения полей таблиц должны представлять собой атомарные объекты данных. В объектно-реляционных базах данных, к которым относится Postgre...
Массивы в таблицах
Массивы в таблицах В PostgreSQL предусмотрен синтаксис для определения массивов как фиксированного, так и переменного размера; тем не менее в PostgreSQL 7.1.2 ограничение размера не со...
Массивы константы
Массивы - константы При вставке в поле таблицы нового значения, которое представляет собой массив, в команде SQL необходимо перечислить входящие в него элементы. В соответствии с синта...
Преобразование типов
Преобразование типов В PostgreSQL поддерживаются три отдельных варианта синтаксиса преобразования (приведения) типов, то есть механизма приведения данных от одного типа к другому. В ком...
Листинг 3 30 Использование функции преобразования типа
Листинг 3.30. Использование функции преобразования типа booktown=# SELECT text(1000) booktown-# AS explicitjtext; explicit_text...
Таблицы в PostgreSQL
Таблицы в PostgreSQL Многие программисты (особенно обладающие опытом работы с другими реляционными СУБД на базе SQL) хорошо знакомы с общими концепциями реляционных баз данных, рассмотр...
Системные поля
Системные поля В PostgreSQL все таблицы содержат системные поля, которые остаются невидимыми для пользователя и не выводятся при выборке (если служебная информация не запрашивается спе...
Таблица 3 25 Системные поля
Таблица 3.25. Системные поля Поле Описание old 4-байтовый уникальный идентификатор объекта записи. В пределах одной таблицы значе...
Идентификаторы объектов
Идентификаторы объектов Как было сказано в подразделе «Таблицы» раздела «Знакомство с реляционными базами данных», база данных содержит таблицы, а каждая таблиц...
Листинг 3 31 Идентификация записей по OID
Листинг 3.31. Идентификация записей по OID 3Stdb=# SELECT * FROM my_list; todos ---------------------------------- Correct redundancies In my_list. Correct redundancies in my_li...
Предварительное планирование
Предварительное планирование Прежде чем переходить к непосредственному созданию таблиц, желательно выде-ить немного времени на предварительное планирование объектов базы данных, также...
Таблица 3 26 Таблица authors
Таблица 3.26. Таблица authors id last_name first_name 1809 Geisel Theodor Seuss illl Denham Ariel...
Таблица 3 27 Таблица subjects
Таблица 3.27. Таблица subjects id subject location 1809 Arts Creativity St 1111 Children's Books Kids Ct...
Знакомство с SQL
Знакомство с SQL SQL (Structured Query Language) — мощный, универсальный и проверенный временем язык запросов к реляционным базам данных. История SQL восходит к научным разработкам комп...
Краткая история SQL
Краткая история SQL В 1970 году доктор Э. Ф. Кодд (Е. F. Codd) из компании IBM в статье «A Relational Model of Data for Large Shared Data Banks» дал формальное определение...
Язык SQL и его предшественники
Язык SQL и его предшественники Язык SQL в значительной степени основан на реляционной алгебре и кортежно-реляционной модели. Реляционная алгебра, представленная Э. Ф. Коддомв 1972 году, оп...
Стандарты SQL
Стандарты SQL В 1986 году язык SQL был стандартизирован Американским национальным институтом стандартов (ANSI), а в 1987 году появился стандарт Международной организации по стандартам...
Знакомство с реляционными базами данных
Знакомство с реляционными базами данных PostgreSQL относится к категории объектно-реляционных систем управления базами данных (ОРСУБД). Модель ОРСУБД представляет собой усовершенствование...
Базы данных
Базы данных Хотя РСУБД PostgreSQL часто называют просто «базой данных», этот термин часто приводит к недоразумениям. База данных PostgreSQL представляет собой объектно-реля...
Таблицы
Таблицы Данный раздел посвящен таблицам — одному из важнейших элементов SQL. Таблицы необходимо знать во всех подробностях, поскольку именно в таблицах хранятся все данные. Хорошее зна...
Таблица 3 1 Пример таблицы SQL
Таблица 3.1. Пример таблицы SQL id title authorjd subjected 7808 The Shining 4156 9 156 The Te...
Команды SQL
Команды SQL Любая концептуальная информация о реляционных базах данных и таблицах приносит пользу лишь в том случае, если вы знаете, как организовать взаимодействие с данными. Язык SQL...
Анатомия команд SQL
Анатомия команд SQL Команды SQL всегда начинаются с действия (verb) — слова или группы слов, описывающих выполняемую операцию. Кроме того, команда SQL обычно содержит одну или нескольк...
Таблица 3 2 Основные действия PostgreSQL
Таблица 3.2. Основные действия PostgreSQL Действие Описание CREATE DATABASE Создание новой базы данных CREATE INDEX Создание н...
Форматирование команд SQL
Форматирование команд SQL Как упоминалось в предыдущем подразделе, команды SQL состоят из последовательности элементов — лексем. Менее очевиден тот факт, что лексемы могут находиться в...
Листинг 3 1 Пробелы и переводы строк
Листинг 3.1. Пробелы и переводы строк testdb-* SELECT * FROM mylist; todos --------------------------------------- Pick up laundry. Send out bills. Wrap up Grand Unifying Theory fo...
Ключевые слова и идентификаторы
Ключевые слова и идентификаторы Ключевыми словами называются зарезервированные термины SQL, имеющие особый синтаксический смысл для сервера (INSERT, UPDATE, SELECT, DELETE и т. д.)....
Листинг 3 2 Ключевые слова и команды
Листинг 3.2. Ключевые слова и команды booktown=# INSERT INTO states VALUES (33, 'Oregon', 'OR'); INSERT 3389701 1 В листинге 3.2 команда SQL INSERT INTO содержит ключевые слова SQL IN...
Защищенные идентификаторы
Защищенные идентификаторы Хотя обычно это и не требуется, идентификаторы могут заключаться в кавычки, указывающие на их буквальную интерпретацию. Например, просмотр всех полей таблицы...
Обязательная защита идентификаторов
Обязательная защита идентификаторов Идентификаторы обязательно должны заключаться в кавычки только в двух случаях: если идентификатор объекта базы данных совпадает с ключевым словом ил...
Структура имен идентификаторов
Структура имен идентификаторов Максимальная длина ключевых слов и идентификаторов PostgreSQL равна 31 симюлу. В процессе лексического разбора все ключевые слова и идентификаторы больше...
Листинг 3 3 Преодоление ограничений
Листинг 3.3. Преодоление ограничений booktown=# CREATE TABLE lst_bent_rule (rule_name text); ERROR: parser: parse error at or near "1" booktown=# CREATE TABLE "lst_bent...
Константы
Константы При работе с базами данных многие объекты хранятся на диске, а для обращения к ним используются идентификаторы (имена таблиц, полей и функций). Однако неизбежно настанет момен...
Строковые константы
Строковые константы Строковая константа представляет собой произвольную последовательность символов, заключенную в апострофы. Строковые константы часто используются при вставке новых д...
Листинг 3 4 Использование строковых констант
Листинг 3.4. Использование строковых констант booktown=# UPDATE authors booktown-# SET firstjiame = 'Louisa May' booktown-l WHERE firstjiame = 'Luoisa May' UPDATE 1 booktown-# SE...
Таблица 3 3 Служебные последовательности
Таблица 3.3. Служебные последовательности PostareSQL в стиле С Последовательность Описание \\ Обратная косая черта (литерал) V...
Листинг 3 5 Разбиение строковых констант
Листинг 3.5. Разбиение строковых констант booktown=# SELECT 'book' booktown-# booktown-# 'end' AS example; example bookend (1 row) booktown=# SELECT 'bookend' AS example; e...
Битовые последовательности
Битовые последовательности Битовые последовательности предназначены для представления двоичных величин в виде произвольной последовательности нулей и единиц. Как и строковые константы,...
Листинг 3 6 Использование битовых последовательностей
Листинг 3.6. Использование битовых последовательностей testdiH* INSERT INTO my_bytes VALUES (B'OOOOOOOO'): testdb=# SELECT my_byte FROM my_bytes: my_byte 10000000 10000001 1...
Целочисленные константы
Целочисленные константы Целочисленные константы используются гораздо чаще, чем битовые последовательности. В PostgreSQL целочисленной константой считается любая лексема, состоящая из ц...
Листинг 3 7 Использование целочисленных констант
Листинг 3.7. Использование целочисленных констант booktown=# SELECT * FROM authors WHERE id < 100; id | lastjiame | firstjiame 16 | Alcott | Louisa May (1 row) booktown=# SEL...
Вещественные константы
Вещественные константы Вещественные константы обладают определенным сходством с целочисленными константами, но используются для представления не только целых, но и дробных величин....
Таблица 3 4 Представление величин с плавающей точкой
Таблица 3.4. Представление величин с плавающей точкой Представление Пример ##.## 6.4 ##e[+-]## 8е-8 [##].##[e[+-]##] .04e8...
Листинг 3 8 Допустимые вещественные значения
Листинг 3.8. Допустимые вещественные значения booktown=# SELECT .04 AS small_float. booktown-# -16.63 AS negative_float, booktown-# 4e3 AS exponent!al_float, booktown-# 6.1e2 AS neg...
Логические константы
Логические константы Логические (булевы) константы гораздо проще всех остальных типов констант PostgreSQL, поскольку они принимают всего два допустимых значения: true и false. Встретив...
Листинг 3 9 Различия между true и 'true'
Листинг 3.9. Различия между true и 'true' testdb=# SELECT true AS boolean_t. testdb-# 'true' AS string_t, testdb-# false AS boolean_f, testdb-# 'false' AS string_f; boo1_t | str...
Специальные символы
Специальные символы Специальные символы имеют особое синтаксическое значение в PostgreSQL. По этой причине они обычно не могут использоваться в идентификаторах, хотя, как упоминалось вы...
Синтаксические символы
Синтаксические символы Некоторые специальные символы выполняют в командах SQL примерно те же функции, что и знаки препинания в английском языке. В табл. 3.5 перечислены основные синтак...
Таблица 3 5 Синтаксические символы
Таблица 3.5. Синтаксические символы Символ Определение * (звездочка) Выборка всех полей таблицы в команде SELECT, а также подсчет всех зап...
Операторы
Операторы Другую категорию специальных символов составляют операторы, предназначенные для выполнения различных операций с идентификаторами или константами. Операторы могут использовать...
Листинг 3 10 Операторы в командах SQL
Листинг 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 |1...
Таблица 3 6 Основные операторы PostgreSQL
Таблица 3.6. Основные операторы PostgreSQL Оператор Определение Математические операторы + Сложение двух чисел - Вычисление р...
Комментарии
Комментарии Комментарием называется фрагмент обычного текста, оформленный специальным образом и внедренный в код SQL. Комментарии не влияют на выполнение программы, поскольку PostgreSQL...
Листинг 3 11 Однострочные комментарии
Листинг 3.11. Однострочные комментарии testdb=# SELECT 'Test1 -- This can follow valid SQL tokens. testdb-# -- or be on a line of its own. testdb-# AS example; example Test (1 row)...
Листинг 3 12 Многострочные комментарии
Листинг 3.12. Многострочные комментарии testdb=# SELECT 'Multi /* This comment extends across testdb-# * numerous lines, and can be testdb-# * /* nested safely */ */ testdb-# | '-te...
Выводы
Выводы Итак, команда SQL состоит из отдельных лексем, каждая из которых может быть ключевым словом, идентификатором, защищенным идентификатором, константой или специальным символом. В...
Таблица 3 7 Простой запрос SQL
Таблица 3.7. Простой запрос SQL SELECT id, name FROM states Тип лексемы Ключевое слово Идентификаторы К...
Листинг 3 13 Пример запроса SQL
Листинг 3.13. Пример запроса SQL booktown=# SELECT Id, name FROM states; id | name 42 | Washington 51 I Oregon (2 rows) booktown=# В табл. 3.8 и 3.9 анализируется другая, более с...
Таблица 3 8 Команда UPDATE с секцией SET
Таблица 3.8. Команда UPDATE с секцией SET UPDATE states SET id = 51 Ключевое слово Идентификатор...
Таблица 3 9 Секция WHERE
Таблица 3.9. Секция WHERE WHERE name = 'Oregon' Ключевое слово Идентификатор Оператор Строковая константа...
Листинг 3 14 Обновление таблицы командой UPDATE
Листинг 3.14. Обновление таблицы командой UPDATE booktown=# UPDATE states booktown-# SET id = 51 booktown-# WHERE name = 'Oregon'; UPDATE 1 booktown=# SELECT * FROM states...
Типы данных
Типы данных SQL относится к категории языков с сильной типизацией. Это означает, что с любым объектом данных, представленным в PostgreSQL, связывается определенный тип, даже если на пер...
Таблица 3 10 Типы данных PostgreSQL
Таблица 3.10. Типы данных PostgreSQL Тип данных Описание Стандарт Логические и двоичные типы данных boolean, bool Отдельная логическая вели...
Псевдозначение NULL
Псевдозначение NULL Выше говорилось о том, что с каждым полем ассоциируется определенный тип данных и поле принимает значения только этого типа. Тем не менее существует значение, котор...
Листинг 3 15 Пустые строки и NULL
Листинг 3.15. Пустые строки и NULL booktown=# SELECT id. title FROM books: id [ title 7808 | The Shining 156 | The Tell-Tale Heart 4513 | Dune 100 | 101 | (5 rows) booktown=#...
Листинг 3 16 Пример использования NULL
Листинг 3.16. Пример использования NULL booktown=# SELECT isbn, publication FROM editions: isbn | publication 039480001X | 1957-03-01 0394800753 | 1949-03-01 0385121679 | (3...
Логические значения
Логические значения Логическим значением называется простая структура данных, представляющая одну из двух величин: true или f al se. В PostgreSQL поддерживается тип данных boo! ean, оп...
Таблица 3 11 Логические константы
Таблица 3.11. Логические константы True False true false 't' Т 'true' 'false' 'У' 'n'...
Листинг 3 17 Простая таблица с логическими значениями
Листинг 3.17. Простая таблица с логическими значениями booktown=# CREATE TABLE daily_inventory (isbn text. in_stock boolean); CREATE booktown=# INSERT INTO dailyjnventory VALUES...
Листинг 3 18 Выборка данных по логическому признаку
Листинг 3.18. Выборка данных по логическому признаку booktown=# SELECT * FROM dailyjnventory WHERE in_stock='yes': isbn in_stock 0385121679 | t 039480001X | t 044100590X t...
Листинг 3 19 Неявная выборка по логическому значению
Листинг 3.19. Неявная выборка по логическому значению true booktown=# SELECT * FROM dailyjnventory WHERE in_stock; isbn | in_stock 0385121679 | t 039480001X | t 044100590X |...
Листинг 3 20 Выборка по логическому значению false
Листинг 3.20. Выборка по логическому значению false booktown=# SELECT * FROM dailyjnventory WHERE in_stock = 'no'; isbn | in_stock 0451198492 f 0394900014 f (2 rows) booktown=#...
Листинг 3 21 Исправление случайных значений NULL
Листинг 3.21. Исправление случайных значений NULL booktown=# UPDATE dailyjnventory SET in_stock = Т WHERE in_stock IS NULL; UPDATE 1...

Основы работы с базами данных перейти

Корпоративный сайт. Эффективный инструмент бизнеса перейти








Начало    



Книжный магазин