Обзор создания баз данных на Python

Python предоставляет несколько модулей для работы с базами данных, включая sqlite3, MySQLdb и psycopg2. Эти модули позволяют легко взаимодействовать с базами данных для хранения, извлечения и эффективного манипулирования данными. Вы можете конструировать, изменять и управлять базами данных эффективно и эффективно с базовым пониманием языка Python и синтаксиса SQL.

Шаги по созданию базы данных с использованием Python

Шаг 1

Установите адаптер базы данных, который соответствует системе управления базами данных, которую вы хотите использовать. Например, если вы собираетесь использовать SQLite, вы можете установить модуль sqlite3. Для MySQL можно установить модуль MySQLdb, а для PostgreSQL – psycopg2. В этом туториале мы рассмотрим SQLite, MongoDB и MySQLdb. Чтобы использовать SQLite в вашем коде Python, импортируйте модуль sqlite3:

Python

 

import sqlite3

После того, как вы установили соответствующий модуль, вам нужно создать соединение с базой данных, которое служит мостом между кодом Python и базой данных, позволяя отправлять команды и получать результаты. Например, в SQLite вы можете создать соединение с помощью следующего кода. 

Для примера базы данных под названием school.db вы подключаетесь, как показано в коде ниже:

Python

 

conn = sqlite3.connect('school.db')

Шаг 2

Создание таблиц в базе данных. Для создания таблиц в базе данных необходимо написать SQL-запросы с использованием объекта курсора, полученного от соединения. Например, для создания таблицы с именем “employees” с колонками “id”, “username”, “salary”, “department” и “email” используйте следующий код:

Python

 

conn = sqlite3.connect('school.db')

cursor = conn.cursor()



cursor.execute('''

CREATE TABLE employees (

  id INTEGER PRIMARY KEY,

  username TEXT,

  email,

  salary REAL,

  department TEXT

)

''')

Шаг 3

Вставка, обновление и извлечение данных из базы данных с помощью SQL-команд и объекта курсора. Для добавления данных в таблицы можно использовать SQL-команду “INSERT INTO”. Сохраните данные с помощью метода `commit()`. Например, следующий код вставляет данные в таблицу “employees”:

Python

 

conn = sqlite3.connect('school.db')

cursor = conn.cursor()



cursor.execute("INSERT INTO employees (username, email, salary, department) VALUES ('Joseph', 'joseph@gmail,com' 70000, 'IT')")



conn.commit()

Шаг 4

Извлечение данных из таблиц. Для извлечения данных из таблиц можно использовать SQL-команду “SELECT”. Например, для извлечения всех пользователей из таблицы “users” можно использовать следующий код:

Python

 

cursor.execute("SELECT * FROM employees")
rows = cursor.fetchall()
for row in rows:

    print(row)

Шаг 5

Создание представлений с помощью выполнения команды CREATE VIEW и использования метода `execute()` объекта курсора для выполнения команды CREATE VIEW.

Python

 

# Выполнить команду CREATE VIEW
cursor.execute('''

CREATE VIEW employees_view AS

SELECT name, age, department, email, FROM employees;

''')

Шаг 6 

Закрытие соединения. После завершения работы с базой данных важно закрыть соединение для освобождения ресурсов. Соединение можно закрыть с помощью метода close() объекта соединения. Например:

Python

 

conn.commit()
conn.close()

Пример для MySQLdb

Для создания базы данных в MySQLdb, импортируйте модуль MYSQLdb и подключитесь к базе данных с помощью метода `connect()`. Вы можете создать курсор и использовать его для выполнения SQL команд. Метод `execute ()` используется для создания таблицы и вставки данных в неё. После применения изменений, мы используем курсор для выбора данных из таблицы и извлечения всех данных с помощью метода `fetchall()`. И, наконец, закройте курсор и подключение к базе данных.

Python

 

import MySQLdb

# Подключиться к базе данных

conn = MySQLdb.connect(host="localhost", user="std", passwd="@12343!J", db="school.db")
# Создать курсор для выполнения SQL команд

cursor = conn.cursor()
# Создать таблицу

cursor.execute("""

CREATE TABLE employees (

  id INT AUTO_INCREMENT PRIMARY KEY,

  name VARCHAR(255),

  salary DECIMAL(10,2),

  department VARCHAR(255)

)

""")
# Вставить данные в таблицу

cursor.execute("""

INSERT INTO employees (name, salary, department)

VALUES

    ("Joseph", 70000, "IT"),

    ("Jane", 80000, "Marketing")

""")
# Применить изменения в базе данных

conn.commit()
# Выбрать данные из таблицы

cursor.execute("SELECT * FROM employees")



# Извлечь все данные

employees = cursor.fetchall()
# Вывести данные

for employee in employees:

    print(employee)
# Закрыть курсор и подключение

cursor.close()

conn.close()

Пример для MongoDB

Импортируйте модуль pymongo и подключитесь к базе данных с помощью класса `MongoClient()`. Затем получите ссылку на базу данных и коллекцию, эквивалентную таблице в SQL. Метод `inser_many()` используется для вставки данных в коллекцию. Метод `find()` используется для запроса данных из коллекции, и данные извлекаются с помощью цикла for. И, наконец, закройте подключение к базе данных с помощью метода `close()`.

Python

 

from pymongo import MongoClient
# Подключиться к базе данных

client = MongoClient("mongodb://localhost:27017/")
# Получить ссылку на базу данных

db = client["school.db"]
# Получить ссылку на коллекцию (эквивалент таблице в SQL)

collection = db["employees"]



# Вставить данные в коллекцию

employee1 = { "name": "Joseph", "salary": 70000, "department": "IT" }

employee2 = { "name": "Jane", "salary": 80000, "department": "Marketing" }

collection.insert_many([employee1, employee2])
# Запросить данные из коллекции

employees = collection.find()
# Вывести данные

for employee in employees:

    print(employee)
# Закрыть подключение
client.close()

Заключение

В заключение, Python предоставляет несколько модулей для взаимодействия с различными базами данных, такими как MySQL и MongoDB. Модуль MySQLdb используется для взаимодействия с базой данных MySQL, а модуль pymongo используется для взаимодействия с базой данных MongoDB. Оба модуля упрощают разработчикам выполнение常见的 операций с базами данных, таких как создание таблиц, вставка данных, запрос данных и многое другое. Благодаря простоте и удобству использования Python, он стал популярным выбором для разработки приложений на основе баз данных. Независимо от того, являетесь ли вы начинающим или опытным разработчиком, использование этих модулей сделает работу с базами данных в Python легким делом.

Source:
https://dzone.com/articles/an-overview-of-creating-databases-with-python-2