Руководство для начинающих по использованию SQL в Python
Как специалисту по обработке данных / аналитику, нам, как правило, необходимо устанавливать связи с различными инструментами для решения нашей бизнес-проблемы. чаще всего нам нужно получить данные из реляционной базы данных, которая размещена либо на вашем локальном сервере, либо в центральной базе данных, которая находится в облаке. Итак, как мы можем извлекать данные из базы данных, один из способов - мы будем извлекать данные, запустив сценарий SQL, сохраним данные в Excel и импортируем этот файл Excel в Python. Однако наиболее эффективный способ использовать SQL прямо в Python.
Прежде чем начать, многие из нас могут захотеть узнать, что такое SQL?
SQL означает язык структурированных запросов, который представляет собой язык баз данных, используемый для извлечения / обработки или запроса данных, хранящихся в системе управления реляционными базами данных (СУБД). Существуют и другие варианты обработки таких данных, но SQL был самым популярным и широко используемым языком в отрасли.
Что умеет SQL?
- Выполнять запросы к базе данных
- Получать данные из базы данных
- Вставить записи в базу данных
- Обновить записи в базе данных
- Удалить записи из базы данных
- Создавать новые базы данных
- Создавать новые таблицы в базе данных
- Создавать представления в базе данных
Почему нужно использовать SQL в Python?
Как вы знаете, нам нужно получить данные из базы данных, поэтому один из способов - извлечь данные, запустив сценарий SQL, сохранить данные в Excel и импортировать этот файл Excel в Python. другой способ, который является наиболее эффективным способом использования SQL непосредственно в Python.
Какие библиотеки обеспечивают связь между SQL и Python?
Для этой цели было разработано множество библиотек, которые можно использовать. В этом руководстве я буду использовать библиотеку Pyodbc с интеграцией с Pandas.
Установка
Чтобы установить библиотеку pyodbc, выполните приведенный ниже код, эта команда автоматически загружает и устанавливает библиотеку.
pip install pyodbc
Импорт необходимых библиотек
на этом этапе мы импортируем важные библиотеки, которые будем использовать в этом руководстве.
import pandas as pd import pyodbc
Быстрый старт
После импорта библиотеки нам нужно получить следующие сведения.
Получить имя сервера
Получить имя базы данных
Затем получите имя базы данных, в которой хранится нужная вам таблица.
Получите имя таблицы
Теперь вам нужно получить имя нужной таблицы, в которой хранятся данные, а затем, после сбора данных, обновить данные в формате ниже.
server = 'INxxxxxxxxx' # your local server name database = 'xxxxx-old' # database name that is stored in server
Создание соединения и курсора.
connection = pyodbc.connect('driver={SQL Server};server=xxxxxxx;database=xxxxxxx') cursor = connection.cursor() cursor
Запросы данных с использованием операторов SQL
Теперь, когда вы подключены к базе данных, вы можете отправлять запросы данных. В каждом запросе должны присутствовать два основных предложения: SELECT
и FROM
.
Синтекс
ВЫБРАТЬ столбец1, столбец2,…
ИЗ имя_таблицы;
После получения ответа из базы данных нам нужно поместить его во фрейм данных pandas.
query='select * from [dbo].[Iris_data]' # To extract all columns x=pd.read_sql(query,connection) x.head()
Если мы хотим извлечь какие-то определенные столбцы, мы можем сделать это, выполнив приведенный ниже код.
query='select sepal_length,sepal_width from [dbo].[Iris_data]' pd.read_sql(query,connection)
Если вы хотите получить отдельные строки из столбца, вы можете запустить этот оператор SQL:
query='select distinct sepal_length from [dbo].[Iris_data]' pd.read_sql(query,connection)
Приведенные выше утверждения охватывают основы SQL в Python. Точно так же вы можете написать еще много SQL-операторов, которые можно использовать в python. Для получения дополнительных сведений о SQL вы можете обратиться к этой ссылке.
Заключение.
Существует множество библиотек, которые могут помочь нам взаимодействовать с SQL и Python, я считаю, что интеграция с несколькими инструментами может быть действительно продуктивной и может дать потрясающие результаты.
Я надеюсь, что эта статья поможет вам и даст новый взгляд на вещи. Дайте мне знать, если у вас есть предложения.
Удачного обучения.
Прабхат Патхак (профиль в Linkedin) - младший аналитик.