Создание базы данных и таблицы в PostgreSQL

Последнее обновление: 25.11.2022

Создание базы данных

Для создания базы данных применяется SQL-команда CREATE DATABASE, которой передается имя базы данных. Например, создадим базу данных с именем "metanit":

import psycopg2

conn = psycopg2.connect(dbname="postgres", user="postgres", password="123456", host="127.0.0.1")
cursor = conn.cursor()

conn.autocommit = True
# команда для создания базы данных metanit
sql = "CREATE DATABASE metanit"

# выполняем код sql
cursor.execute(sql)
print("База данных успешно создана")

cursor.close()
conn.close()

Обратите внимание, что для выражения "CREATE DATABASE" необходимо установиить автокоммит:

conn.autocommit = True

Благодаря этому команда SQL, во-первых, выполняется немедленно. А во-вторых, выполняется вне транзакции (выражение "CREATE DATABASE" должно выполняться именно вне транзакции)

После этого на сервере мы сможем найти базу данных "metanit"

Создание базы данных PostgreSQL и CREATE DATABASE в Python

Создание таблицы

Для создания таблицы в PostgreSQL применяется инструкция CREATE TABLE. Например, в вышесозданной базе данных "metanit" создадим таблицу people:

import psycopg2

conn = psycopg2.connect(dbname="metanit", user="postgres", password="123456", host="127.0.0.1")
cursor = conn.cursor()

# создаем таблицу people
cursor.execute("CREATE TABLE people (id SERIAL PRIMARY KEY, name VARCHAR(50),  age INTEGER)")
# поддверждаем транзакцию
conn.commit()
print("Таблица people успешно создана")

cursor.close()
conn.close()

В метод cursor.execute() передается инструкция CREATE TABLE, которая создает таблицу people с тремя столбцами. Столбец id представляет идентификатор пользователя, хранит данные типа Serial, то есть число, которое будет автоматически генерироваться и инкрементироваться с каждой новой строкой и которое представляет первичный ключ. Второй столбец - name представляет строку - имя пользователя. И третий столбец - age представляет возраст пользователя.

После выполнения скрипта мы можем открыть базу данных и увидеть созданную таблицу

Создание таблицы в базе данных postgresql в python
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850