Для создания базы данных применяется 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 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 представляет возраст пользователя.
После выполнения скрипта мы можем открыть базу данных и увидеть созданную таблицу