Рубрики
Без рубрики

Python SQL – Как использовать базы данных sqlite, mysql и postgresql с python

Автор оригинала: Daniel Chae.

Одна из моих самых больших радостей, как разработчик, изучает, как разные технологии пересекаются.

За прошедшие годы у меня была возможность работать с различными типами программного обеспечения и инструментов. Из множества инструментов, которые я использовал, Python и структурированный язык запроса (SQL) – два из моих любимых.

В этой статье я собираюсь поделиться с вами, как Python и разные базы данных SQL взаимодействуют.

Я расскажу о самых популярных базах данных, SQLite, MySQL и PostgreSQL. Я объясню ключевые различия каждой базы данных и соответствующие случаи использования. И я закончу статью с некоторым кодом Python.

Код покажет вам, как написать запрос SQL, чтобы вытащить данные из базы данных PostgreSQL и хранить данные в рамках данных PandaS.

Если вы не знакомы с реляционными базами данных (RDBMS), я предлагаю вам проверить статью Shareer о базовой терминологии RDBMS здесь Отказ Остальная часть статьи будет использовать условия, на которые ссылаются в статье города Сайт.

Популярные базы данных SQL

SQLite.

SQLite наиболее известен тем, что являетесь встроенной базой данных. Это означает, что вам не нужно устанавливать дополнительное приложение или использовать отдельный сервер для запуска базы данных.

Если вы создаете MVP или не нужны тонна пространства хранения данных, вы захотите пойти с базой данных SQLite.

Плюсы состоят в том, что вы можете двигаться быстрее с базой данных SQLite относительно MySQL и PostgreSQL. Это сказано, вы будете застрять с ограниченной функциональностью. Вы не сможете настроить функции или добавить тонну многопользовательской функциональности.

Mysql/postgresql.

Существуют различные различия между MySQL и PostgreSQL. Тем не менее, учитывая контекст статьи, они вписываются в подобную категорию.

Обе виды баз данных отлично подходят для корпоративных решений. Если вам нужно быстро масштабировать, MySQL и PostgreSQL – ваша лучшая ставка. Они предоставят долгосрочную инфраструктуру и укрепить вашу безопасность.

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

Почему подключите Python и базу данных SQL?

Вам может быть интересно: «Почему я должен заботиться о подключении Python и базы данных SQL?»

Есть много случаев использования, когда кто-то захочет подключить Python к базе данных SQL. Как я уже упоминал ранее, вы можете работать над веб-приложением. В этом случае вам нужно будет подключить базу данных SQL, поэтому вы можете хранить данные, поступающие из веб-приложения.

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

Подключение Python и база данных SQL также сделают ваши науки для науки более удобными. Вы сможете использовать свои навыки Python для манипулирования данными из базы данных SQL. Вам не понадобится файл CSV.

Как соединяют базы данных Python и SQL

Базы данных Python и SQL подключаются через пользовательские библиотеки Python. Вы можете импортировать эти библиотеки в свой сценарий Python.

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

Как настроить проект

Давайте возьмем базу данных PostgreSQL, например, AWS Redshift, например. Во-первых, вы захотите импортировать библиотеку PSYCOPG. Это универсальная библиотека Python для баз данных PostgreSQL.

#Library for connecting to AWS Redshift
import psycopg

#Library for reading the config file, which is in JSON
import json

#Data manipulation library
import pandas as pd

Вы заметите, что мы также импортировали библиотеки JSON и Pandas. Мы импортировали JSON, потому что создание файла Config json – это безопасный способ сохранения учетных данных базы данных. Мы не хотим, чтобы кто-то еще смотрел на них!

Библиотека Pandas позволит вам использовать все статистические возможности Pandas для вашего сценария Python. В этом случае в библиотеке позволит Python хранить данные, которые ваш запрос SQL возвращает в кадр данных.

Далее вы захотите получить доступ к вашему файлу конфигурации. json.load () Функция считывает файл JSON, чтобы вы могли получить доступ к своим учетным данным базы данных на следующем шаге.

config_file = open(r"C:\Users\yourname\config.json")
config = json.load(config_file)

Теперь, когда ваш сценарий Python может получить доступ к вашему файлу Config json, вы захотите создать соединение с базой данных. Вам нужно будет прочитать и использовать учетные данные из файла конфигурации:

con = psycopg2.connect(dbname= "db_name", host=config[hostname], port = config["port"],user=config["user_id"], password=config["password_key"])
cur = con.cursor()

Вы только что создали соединение с базой данных! Когда вы импортировали библиотеку PSYCOPG, вы перевели код Python, который вы написали выше, чтобы поговорить с базой данных PostgreSQL (AWS Redshift).

В нем само по себе AWS Redshift не поймет вышеуказанный код. Но поскольку вы импортировали библиотеку PSYCOPG, вы сейчас говорите на языке AWS Redshift можно понять.

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

Как написать запрос SQL

Не стесняйтесь скачать Европейские футбольные данные к вашей базе данных PostgreSQL. Я буду использовать свои данные для этого примера.

Соединение базы данных, которое вы создали на последнем шаге, позволяют писать SQL, чтобы затем хранить данные в составной структуре данных Python. Теперь, когда вы установили соединение с базой данных, вы можете написать запрос SQL для начала вытягивания данных:

query = "SELECT *
         FROM League
         JOIN Country ON Country.id = League.country_id;"

Работа еще не сделана, хотя. Вам необходимо написать дополнительный код Python, который выполняет запрос SQL:

#Runs your SQL query
execute1 = cur.execute(query)
result = cur.fetchall()

Тогда вам нужно хранить возвращенные данные в PandaS DataFrame:

#Create initial dataframe from SQL data
raw_initial_df = pd.read_sql_query(query, con)
print(raw_initial_df)

Вы должны получить PandaFrame Pandas (Raw_initial_df), который выглядит что-то подобное:

Есть база данных для всех

SQLite, MySQL и PostgreSQL У всех есть свои плюсы и минусы. Этот вы выбираете, должен зависеть от ваших потребностей проекта или компании. Вы также должны подумать о том, что вам нужно сейчас, против нескольких лет вниз по дороге.

Важно помнить, что Python может интегрироваться с каждой типом базы данных.

Эта статья царапает поверхность для того, что возможно с подключением Python к базе данных SQL. Я люблю видеть, как программное обеспечение пересекается и объединяет, чтобы добавить невероятное значение.

Если вы хотите больше того типа контента, вы можете найти меня в Курс нанять ! Я хочу помочь большему количеству людей участвовать, как кодировать и приземлиться на работу в Tech. Пожалуйста, обратитесь к любым вопросам или если вы просто хотите сказать привет:)