Типы данных postgresql и SQL
Тема СУБД очень широкая.. и достаточно объемно описать ее очень сложно. В этой статье я напишу какие-то примерчики, шпаргалки, а для тех, кому тема интересна посоветую следующий курс:
SQL - декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных.
Изначально SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:
- создание в базе данных новой таблицы.
- добавление в таблицу новых записей.
- изменение записей.
- удаление записей.
- выборка записей из одной или нескольких таблиц (в соответствии с заданным условием).
- изменение структур таблиц.
Типы данных Postgresql
Опишу только некоторые типы которые нам понадобятся:
Числовые типы
| type | length | description |
|---|---|---|
| smalint | 2 bytes | Позволяет хранить числа длиной в 2 байта |
| integet | 4 bytes | 4-байтовое число |
| biging | 8 bytes | 8-байтовое число |
| decimal | * | Специальный тип позволяющий хранить числа с некоторой точностью(кол-во знаков после запятой) |
| real | 4 bytes | Тип для хранения вещественных чисел с некоторой точностью |
| serial | 4 bytes | Почти тот же самый integer(int) но значение в этом поле будет автоматически инкрементироваться для каждой записи |
Некоторые примеры:
Cимвольные типы
| type | length | description |
|---|---|---|
| varchar(n) | * | Строки произвольной длины с максимумом n |
| char(n) | * | Cтроки длины n, пустые символы дозаполняются пробелами |
| text | * | Строки произвольной длины |
Некоторые примеры:
Типы даты и времени
| type | length | description |
|---|---|---|
| timestamp | 8 bytes | Дата с временем |
| date | 4 bytes | Дата без времени |
| time | 8 bytes | Время без даты |
| interval | 16 bytes | Временной интервал |
Некоторые примеры
В типах timestamp и time можно указывать с часовым поясом или нет. По умолчанию идет без часового пояса. Что бы время или дату и время с часовым поясом нужно использовать timestamp with time zone(time with time zone) или же использовать специальное расширение timestamptz (timetz).
Бинарные данные
TODO: Продолжить
SQL комманды
Создание базы данных
Под управлением одной СУБД у нас может находиться несколько баз данных. Для создания базы данные в PostgreSQL используется следующая команда:
PSQL
Если вы находитесь в REPL-клиенте
psqlдля подключения к базе данных следует набрать команду:\c <database_name>
Создание таблицы
Таблицы создаются с помощью команды CREATE TABLE. В примере ниже показано как выглядит полная команда, в круглых скобочках перечисляются колонки(columns) в таблице или ограничения(constraints)

