Создание простой таблицы и обновление значений
create table smth (a int);
insert into smth(a) values (1), (2), (3);
table smth;
update smth set a = a * 2;
Хитрое создание таблицы без указания ее столбцов
create table crows as select * from species where genus_id=(
select genus_id from genus where genus_name='Ворон'
)
или
select * into crows from species s where s.genus_id=(
select genus_id from genus g where g.genus_name='Ворон'
);
Удалить таблицу
drop table something;
drop table if exists something;
drop table if exists something cascade;
Варианты не идентичны, конечно. Первый удаляет таблицу и команда падает с ошибкой, если таблицы нет, или если на таблицу ссылается другая таблица. Второй вариант не падает, если таблицы нет, но падает, если на таблицу кто-то ссылается. Последний вариант не падает, если таблицы нет, и не падает, если на таблицу ссылается другая таблица. Обновление данных в базе
update species
set species_name='Древесный дрозд'
where species_name='Дрозд лесной'
~={green}Пример хранения данных в текстовом файлу в формате ключ=значение:=~
название=Тихий Дон
автор=Михаил Шолохов
описание=Одно из наиболее значительных, масштабных и талантливых произведений русскоязычной литературы, принесшее автору Нобелевскую премию.
обложка=https://cdn.rroom.io/17558b4d-59dd-4f8e-b2c7-51b0d7da5216.png
~={green}Пример хранения тех же данных в текстовом файле в формате JSON:=~
{
"name": "Тихий Дон",
"author": "Михаил Шолохов",
"description": "Одно из наиболее значительных, масштабных и талантливых произведений русскоязычной литературы, принесшее автору Нобелевскую премию.",
"cover": "https://cdn.rroom.io/17558b4d-59dd-4f8e-b2c7-51b0d7da5216.png"
}
~={green}Пример хранения тех же данных в текстовом файле в формате XML:=~
<book>
<name>Тихий Дон</name>
<author>Михаил Шолохов</author>
<description>Одно из наиболее значительных, масштабных и талантливых произведений русскоязычной литературы, принесшее автору Нобелевскую премию.</description>
<cover>https://cdn.rroom.io/17558b4d-59dd-4f8e-b2c7-51b0d7da5216.png</cover>
</book>
~={cyan}Упражнения=~
{
"cities": [
{
"name": "Москва",
"population": 13149803,
"child_cities": [
{
"name": "Зеленоград"
}
]
},
{
"name": "Санкт-Петербург",
"population": 5597763
},
{
"name": "Кемпендяй",
"population": 357
},
{
"name": "Пеледуй",
"population": 3578
},
{
"name": "Чаплыгин"
}
]
}
<cities>
<city>
<name>Москва</name>
<population>13149803</population>
<child_cities>
<city>
<name>Зеленоград</name>
</city>
</child_cities>
</city>
<city>
<name>Санкт-Петербург</name>
<population>5597763</population>
</city>
<city>
<name>Кемпендяй</name>
<population>357</population>
</city>
<city>
<name>Пеледуй</name>
<population>3578</population>
</city>
<city>
<name>Чаплыгин</name>
</city>
</cities>
~={yellow}Пагинация=~
Напиши запрос, который вернёт птиц для второй страницы. Нумерация страниц начинается с единицы, конечно, как все привыкли на веб-сайтах.
select * from species
order by species_name, description
limit 10 offset 10;
Пополнение базы данных птиц
--- Наполняем базу данных птиц
insert into species (species_name, genus_id, description, average_length, average_weight, primary_color) values
('Большая синица',
1,
'Обычная птица из семейства синицевых, обитающая в лесах и садах.',
14,
18,
'жёлтый'),
('Синица лазоревка',
1,
'Маленькая яркая птица из семейства синицевых.',
12,
11,
'голубой и жёлтый'),
('Синица обыкновенная',
1,
'Распространённый вид синиц, обитающий в лесах и парках.',
13,
14,
'зеленоватый'),
('Гаичка болотная',
2,
'Маленькая птица из семейства синицевых, обитающая в болотистых районах.',
12,
13,
'серый'),
('Гаичка буроголовая',
2,
'Маленькая птица с коричневой головой.',
11,
12,
'коричневый и серый'),
('Гаичка черноголовая',
2,
'Маленькая птица с черной головой.',
10,
11,
'чёрный и серый'),
('Ворон обыкновенный',
3,
'Крупная птица из семейства врановых, обитающая в различных средах обитания.',
64,
1500,
'чёрный'),
('Грач',
3,
'Птица из семейства врановых с характерным внешним видом.',
46,
400,
'чёрный'),
('Клушица',
3,
'Птица из семейства врановых, обитающая в горах.',
60,
1200,
'чёрный'),
('Сорока обыкновенная',
4,
'Птица из семейства врановых с характерной черно-белой окраской.',
45,
200,
'чёрный и белый'),
('Сорока чернокрылая',
4,
'Птица с черными крыльями и белым телом.',
44,
190,
'чёрный и белый'),
('Сорока голубая',
4,
'Птица с голубыми крыльями и хвостом.',
43,
180,
'голубой и белый'),
('Дрозд рябинник',
5,
'Певчая птица из семейства дроздовых, обитающая в лесах и садах.',
25,
100,
'коричневый'),
('Дрозд певчий',
5,
'Певчая птица с мелодичным голосом.',
23,
90,
'коричневый и белый'),
('Дрозд черный',
5,
'Птица с черным оперением и мелодичным пением.',
24,
95,
'чёрный'),
('Дрозд белобровик',
5,
'Птица с белыми бровями и ярким оперением.',
22,
85,
'коричневый и белый'),
('Дрозд пересмешник',
5,
'Птица, способная имитировать звуки других птиц.',
26,
110,
'серый и коричневый'),
('Синица белая',
1,
'Белая синица, обитающая в северных регионах.',
15,
20,
'белый и серый'),
('Синица сибирская',
1,
'Птица, обитающая в Сибири, с ярким оперением.',
16,
21,
'жёлтый и зелёный'),
('Синица черноголовая',
1,
'Синица с черной головой и белыми щеками.',
14,
19,
'чёрный и белый'),
('Гаичка хохлатая',
2,
'Гаичка с характерным хохолком на голове.',
12,
14,
'серый и чёрный'),
('Гаичка горная',
2,
'Птица, обитающая в горных районах.',
11,
13,
'коричневый и серый'),
('Гаичка рыжеголовая',
2,
'Гаичка с рыжей головой и серым телом.',
13,
15,
'рыжий и серый'),
('Ворон пустынный',
3,
'Ворон, обитающий в пустынях.',
62,
1400,
'чёрный'),
('Ворон северный',
3,
'Ворон, обитающий в северных регионах.',
63,
1450,
'чёрный'),
('Ворон лесной',
3,
'Ворон, предпочитающий лесные районы.',
61,
1350,
'чёрный'),
('Сорока зеленая',
4,
'Сорока с зеленым оттенком в оперении.',
46,
210,
'зелёный и белый'),
('Сорока крапчатая',
4,
'Сорока с крапчатым оперением.',
44,
190,
'чёрный и белый'),
('Сорока длиннохвостая',
4,
'Сорока с длинным хвостом.',
47,
220,
'чёрный и белый'),
('Дрозд лесной',
5,
'Дрозд, предпочитающий лесные районы.',
25,
100,
'коричневый'),
('Дрозд полевой',
5,
'Дрозд, обитающий на полях и лугах.',
24,
95,
'коричневый и белый'),
('Дрозд луговой',
5,
'Дрозд, предпочитающий луговые районы.',
23,
90,
'коричневый'),
('Дрозд болотный',
5,
'Дрозд, обитающий в болотистых районах.',
26,
110,
'серый и коричневый'),
('Дрозд красногрудый',
5,
'Дрозд с ярко-красной грудью.',
27,
115,
'красный и коричневый'),
('Синица пестрая',
1,
'Синица с пестрым оперением.',
14,
18,
'жёлтый и чёрный'),
('Синица зелёная',
1,
'Синица с зелёным оттенком в оперении.',
15,
20,
'зелёный и жёлтый'),
('Синица красноголовая',
1,
'Синица с красной головой и серым телом.',
14,
19,
'красный и серый'),
('Гаичка зеленоголовая',
2,
'Гаичка с зеленым оттенком в оперении.',
12,
13,
'зелёный и серый'),
('Гаичка сероголовая',
2,
'Гаичка с серой головой и белым телом.',
11,
12,
'серый и белый');