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