Files
obsidian/Prog/Шпаргалка по PostgreSQL. Редактирование таблиц..md
T
2026-09-24 13:22:58 +05:00

2.5 KiB
Raw Blame History

#PostgreSQL #PostgreSQL #SQL

-- *********************************** -- Редактирование таблиц, расширенные возможности SELECT, функции -- ***********************************

-- Добавление поля в таблицу

ALTER TABLE table_name ADD COLUMN new_field
BOOLEAN NOT NULL DEFAULT TRUE;

-- добавление поля с автоинкрементом и primary key в таблицу

ALTER TABLE test1 ADD COLUMN id SERIAL PRIMARY KEY;

-- Удаление поля из таблицы

ALTER TABLE table_name DROP COLUMN new_field;

-- переименовать поле

ALTER TABLE table_name RENAME old_field TO new_field;

-- сменить тип данных

ALTER TABLE table_name ALTER COLUMN any_field SET
DATA TYPE VARCHAR(255);

-- изменить значение по умолчанию

ALTER TABLE table_name ALTER COLUMN any_field SET
DEFAULT 'new value';

-- добавить/удалить constraint NOT NULL

ALTER TABLE table_name ALTER COLUMN any_field
SET|DROP NOT NULL;

-- переименовать таблицу

ALTER TABLE table_name RENAME TO new_table_name;

-- Расширенные возможности SELECT

SELECT * FROM table WHERE field1 LIKE 'value'; -- field1 = 'value'
SELECT * FROM table WHERE field1 LIKE 'val%'; -- field1 начинается с 'val'
SELECT * FROM table WHERE field1 LIKE '%lue'; -- field1 заканчивается на 'lue'
SELECT * FROM table WHERE field1 LIKE '%e%'; -- field1 содержит 'e'

несколько условий

	SELECT * FROM table WHERE field1 = 'value' AND field2 > 'value2';
	SELECT * FROM table WHERE field1 = 'value' OR field2 > 'value2';

-- вывод уникальных записей

SELECT DISTINCT field1 FROM table;

-- группирование записей

SELECT field1, COUNT(field1) FROM table GROUP BY field1;

-- сгруппирует записи таблицы table по полю field и выведет уникальные значения field и количество повторений

SELECT field1, COUNT(field1) FROM table GROUP BY field1 HAVING COUNT(field) > 3; -- сгруппирует записи таблицы table по полю field и выведет уникальные значения field и количество повторений, где количество повторений больше 3