Заполнить базу данных Postgres номерами 1-1000?

Я новичок в pgAdmin3 и хочу заполнить базу данных в pgAdmin3 числами от 1 до 1000. Как я могу это сделать? В настоящее время у меня есть база данных, созданная под названием MyDatabase (в ней ничего нет). Каждая строка должна соответствовать своему числовому значению (строка 1 должна содержать 1, строка 2 должна содержать 2 и т. д.).


person ninchicken    schedule 27.06.2017    source источник


Ответы (1)


Вы не заполняете «базу данных» — вы заполняете таблицу:

Это можно сделать довольно легко, используя generate_series()

Предполагая, что у вас есть таблица с именем my_table со столбцом с именем id, вы можете сделать:

insert into my_table (id)
select i
from generate_series(1,1000) i
person a_horse_with_no_name    schedule 27.06.2017
comment
Где это вводится в программе (pgAdmin)? - person ninchicken; 27.06.2017
comment
@ninchicken в окне запроса. Щелкните значок, который выглядит как увеличительное стекло с SQL, затем нажмите зеленый значок воспроизведения, чтобы выполнить запрос. - person Neil McGuigan; 27.06.2017
comment
Спасибо. Я выделил свою таблицу одним столбцом с именем id. Однако я набираю эти команды и получаю сообщение об ошибке, говорящее, что таблица не существует. - person ninchicken; 27.06.2017
comment
Если вам просто нужна таблица с одним столбцом с серией 1-1000, добавьте CREATE TABLE my_table AS перед ответом, указанным выше. Это создаст таблицу и заполнит ее результатами оператора select. - person R Scott; 28.06.2017