Анализ данных с помощью pandas. Часть 8: работа с данными из базы данных SQL
До этого момента, мы получали данные только из csv файлов. Это довольно распространённый способ сохранения данных, но далеко не единственный! Pandas может работать с данными из HTML, JSON, SQL, Excel (!!!), HDF5, Stata, и некоторых других вещей. В этой части мы поговорим о работе с данными из баз данных SQL.
In [1]:
import pandas as pd import sqlite3
Чтение из SQL баз данных
Загрузить данные из SQL базы можно с помощью функции pd.read_sql
. read_sql
автоматически преобразует столбцы SQL в столбцы DataFrame.
read_sql
принимает 2 аргумента: запрос SELECT
, и connection. Это здорово, так как это означает, что можно читать из любого вида базы данных — неважно, MySQL, SQLite, PostgreSQL, или другая.
В этом примере мы читаем из базы SQLite, но другие читаются точно также. Файл, с которым мы будем работать.
In [2]:
con = sqlite3. connect("data/weather_2012.sqlite") df = pd.read_sql("SELECT * from weather_2012 LIMIT 3", con) df
Out[2]:
id | date_time | temp | |
---|---|---|---|
0 | 1 | 2012-01-01 00:00:00 | -1.8 |
1 | 2 | 2012-01-01 01:00:00 | -1.8 |
2 | 3 | 2012-01-01 02:00:00 | -1.8 |
read_sql
не устанавливает первичный ключ (id
) в качестве индекса. Можно это сделать вручную, добавив аргумент index_col
к read_sql
.
Если вы много использовали read_csv
, вы могли заметить, что у него также есть аргумент index_col
. И ведёт он себя точно так же.
In [3]:
df = pd.read_sql("SELECT * from weather_2012 LIMIT 3", con, index_col='id') df
Out[3]:
date_time | temp | |
---|---|---|
id | ||
1 | 2012-01-01 00:00:00 | -1. 8 |
2 | 2012-01-01 01:00:00 | -1.8 |
3 | 2012-01-01 02:00:00 | -1.8 |
Если вы хотите, чтобы dataframe был индексирован несколькими столбцами, в index_col
можно указать их список:
In [4]:
df = pd.read_sql("SELECT * from weather_2012 LIMIT 3", con, index_col=['id', 'date_time']) df
Out[4]:
temp | ||
---|---|---|
id | date_time | |
1 | 2012-01-01 00:00:00 | -1.8 |
2 | 2012-01-01 01:00:00 | -1.8 |
3 | 2012-01-01 02:00:00 | -1.8 |
Запись в базу
Запись производится с помощью метода to_sql
(по аналогии с CSV):
In [5]:
weather_df = pd.read_csv('data/weather_2012.csv') con = sqlite3.connect("data/test_db.sqlite") con.execute("DROP TABLE IF EXISTS weather_2012") weather_df. to_sql("weather_2012", con)
/usr/local/lib/python3.5/dist-packages/pandas/core/generic.py:1345: UserWarning: The spaces in these column names will not be changed. In pandas versions < 0.14, spaces were converted to underscores. chunksize=chunksize, dtype=dtype)
Теперь мы можем загрузить записанные данные:
In [6]:
con = sqlite3.connect("data/test_db.sqlite") df = pd.read_sql("SELECT * from weather_2012 LIMIT 3", con) df
Out[6]:
index | Date/Time | Temp (C) | Dew Point Temp (C) | Rel Hum (%) | Wind Spd (km/h) | Visibility (km) | Stn Press (kPa) | Weather | |
---|---|---|---|---|---|---|---|---|---|
0 | 0 | 2012-01-01 00:00:00 | -1.8 | -3.9 | 86 | 4 | 8.0 | 101.24 | Fog |
1 | 1 | 2012-01-01 01:00:00 | -1.8 | -3.7 | 87 | 4 | 8.0 | 101.24 | Fog |
2 | 2 | 2012-01-01 02:00:00 | -1. 8 | -3.4 | 89 | 7 | 4.0 | 101.26 | Freezing Drizzle,Fog |
Главное преимущество хранения данных в базе в том, что можно напрямую делать SQL запросы. Это особенно хорошо, если SQL для вас более родной язык. Например, можно отсортировать по колонке ‘Weather’ с помощью лишь SQL:
In [7]:
con = sqlite3.connect("data/test_db.sqlite") df = pd.read_sql("SELECT * from weather_2012 ORDER BY Weather LIMIT 3", con) df
Out[7]:
index | Date/Time | Temp (C) | Dew Point Temp (C) | Rel Hum (%) | Wind Spd (km/h) | Visibility (km) | Stn Press (kPa) | Weather | |
---|---|---|---|---|---|---|---|---|---|
0 | 67 | 2012-01-03 19:00:00 | -16.9 | -24.8 | 50 | 24 | 25.0 | 101.74 | Clear |
1 | 114 | 2012-01-05 18:00:00 | -7.1 | -14.4 | 56 | 11 | 25. 0 | 100.71 | Clear |
2 | 115 | 2012-01-05 19:00:00 | -9.2 | -15.4 | 61 | 7 | 25.0 | 100.80 | Clear |
Другие базы данных
Для подключения к MySQL:
Чтобы это работало, у вас на машине должна быть установлена соответствующая база данных
In [ ]:
import MySQLdb con = MySQLdb.connect(host="localhost", db="test")
PostgreSQL:
In [ ]:
import psycopg2 con = psycopg2.connect(host="localhost")
Для вставки кода на Python в комментарий заключайте его в теги <pre><code>Ваш код</code></pre>
Свежее
- Модуль csv — чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
Категории
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
Полезные материалы
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Мы в соцсетях
9 лучших бесплатных онлайновых баз данных
База данных служит основой для сбора, обработки и отображения данных. Они обобщают информацию с общими характеристиками и облегчают управление. Для создания и работы с базой данных не всегда нужны навыки программирования. Преимущество некоторых онлайновых баз данных в том, что они бесплатны и просты в использовании. В этой статье мы сравнили девять лучших бесплатных онлайновых баз данных.
Оглавление
Какие существуют типы баз данных?
Базы данных необходимы, например, для обеспечения работы какого-либо процесса, как в случае с базами данных для веб-сайтов или приложений. Речь идет о функциональных данных.
Кроме того, существуют базы данных клиентов для хранения интересов, контактной информации и данных о сделках клиентов. Это так называемые базы данных CRM, где CRM означает «управление взаимоотношениями с клиентами».
В чем преимущества онлайновых баз данных перед традиционными?
Онлайн-базы данных либо предоставляются бесплатно, либо оплачиваются ежемесячно. Вы платите только за тот объем памяти, который использовали. Кроме того, вам не придется приобретать собственное оборудование и экономить на стоимости установки.
Еще одним преимуществом является то, что вы приобретаете услугу. Провайдеры обычно имеют собственный ИТ-отдел. Это снижает нагрузку на ваш собственный персонал. Никому из тех, кто будет создавать и эксплуатировать базу данных, не нужны глубокие знания программирования. Данные также могут быть введены через импорт или веб-форму.
Онлайн база данных бесплатно © Gorodenkoff / adobe stock
На что следует обратить внимание при выборе бесплатной онлайновой базы данных?
При выборе бесплатной онлайновой базы данных убедитесь, что поставщик гарантирует безопасность и соответствие требованиям. Особенно если ваша база данных предназначена для управления конфиденциальными (клиентскими) данными или коммерческой тайной.
9 лучших бесплатных онлайновых баз данных
Далее вы получите обзор девяти известных баз данных, которые доступны бесплатно в виде тестовой версии или в бесплатном варианте. Во-первых, давайте посмотрим на Amazon:
Служба реляционных баз данных от Amazon
Amazon RDS — это онлайновая база данных, которая частично бесплатна. Вы получаете 720 часов в месяц для работы базы данных в «бесплатной квоте». В облаке вы устанавливаете одну из следующих баз данных:
- MySQL
- MariaDB
- PostgreSQL
- Oracle BYOL
- SQL Server Express Edition
Вы также получаете 20 ГБ для автоматического резервного копирования данных.
Из-за ограничения по времени Amazon RDS больше подходит для тестирования приложений или ознакомления с сервисами Amazon.
Облачная платформа Google
Помимо Amazon, Google является еще одним крупным игроком на рынке баз данных. В Google Cloud есть бесплатные онлайновые службы баз данных. Бесплатный уровень включает в себя:
- Компьютерный двигатель
- Облачное хранилище
- BigQuery
По сути, при регистрации на Google Cloud Platform вы получаете кредит в размере 300 долларов.
Если вы не достигнете лимита бесплатного уровня, ничего не будет снято с вашего баланса или способа оплаты, который вы ввели в Google.
Microsoft SQL Server
Говоря об Amazon и Google, нельзя обойти стороной и Microsoft. У вас есть возможность выбрать один из трех вариантов:
- Microsoft SQL Server on Azure: онлайновая база данных, работающая в облаке Azure.
- Microsoft SQL Server Edge: С помощью этой реляционной базы данных можно реализовать концепцию граничных вычислений для приложений IoT.
- Microsoft dedicated SQL Server: Здесь вы знаете, где хранятся ваши данные, и можете опираться на гибридную платформу данных.
Онлайн база данных бесплатно © monticellllo / adobe stock
Для бесплатной работы с онлайн-базой данных вам необходима версия Microsoft SQL Server для разработчиков. Эта редакция лицензирована для использования в качестве базы данных для разработки, но включает все функции.
Oracle Database
Другой популярной реляционной базой данных является Oracle Database. Его основные функции включают разработку приложений и хранение данных. Если вы ищете бесплатную онлайновую базу данных, у вас есть два варианта:
- Oracle Autonomous Transaction Processing: способ хранения данных облегчает выполнение повседневных задач с интерактивной базой данных.
- Автономное хранилище данных Oracle: этот тип хранилища облегчает проведение анализа.
В обоих случаях пространство для хранения базы данных ограничено 20 ГБ.
Knack
Knack не требует никакого кодирования, как и онлайновые базы данных, представленные ниже. Вы можете использовать бесплатную пробную версию Knack в течение четырнадцати дней. После этого решение стоит от 39 долларов США в месяц. Вы начинаете с простых сервисов для импорта данных в базу данных. После этого отсортируйте и соедините их. Функции Knack позволяют создавать различные представления данных с помощью фильтров, диаграмм, приборных панелей, таблиц pivot и многого другого. Другие системы могут быть интегрированы через API.
Zoho Creator
Zoho Creator также является платформой с низким кодом. Здесь целью является разработка приложений. В частности, востребована разработка приложений и веб-приложений без знания программирования. Все это происходит в облаке Zoho Creator. Для этой онлайн-базы данных существует бесплатный тариф: вы получаете доступ к 25 МБ дискового пространства и 1 000 записей данных на аккаунт.
ZenBase
Вы также можете использовать ZenBase для создания и управления онлайновыми базами данных для вашего бизнеса. В серии писем из четырех частей вы познакомитесь с пользовательским интерфейсом. После этого вы можете создавать и использовать базу данных быстро, безопасно и без знания программирования. ZenBase предоставляет функции для управления пользователями, импорта данных и интерактивных отчетов. Онлайн-решение для баз данных не является полностью бесплатным. Вы можете подписаться на 14-дневное бесплатное членство.
TeamDesk
К ним присоединяется TeamDesk с простой в использовании онлайн-базой данных, которая предоставляется бесплатно в течение первых 14 дней. Стоимость инструмента составляет от $49 в месяц для пяти пользователей. С помощью видеоуроков вы сможете безопасно и быстро создать свою первую базу данных.
SeaTable
Наконец, у вас есть возможность бесплатно пользоваться онлайн-базой данных SeaTable. Включено 2 ГБ хранилища для файлов, 10 000 строк и неограниченное количество таблиц. Для получения более широкого набора функций предлагается версия Plus стоимостью от 7 евро за пользователя в месяц. Инструмент позволяет использовать различные виды представления данных, например, календарь или график. Он прост в использовании и работает в немецких центрах обработки данных.
Вывод: Существует множество онлайновых баз данных — некоторые бесплатно, некоторые с тестовой версией
Либо вы вовлекаетесь в процесс и программируете сами, либо выбираете решение, которое можно использовать и без знаний программирования. Благодаря таким программам, как SeaTable, даже компании и частные лица без ИТ-отдела могут хранить, управлять и анализировать свои данные в реляционной базе данных.
Попробуйте два-три решения, чтобы найти подходящее для вашего проекта. Начните с бесплатной подписки на SeaTable здесь.
Источник изображения Изображение на обложке: © monsitj/Adobe Stock
Ральф Диллик-Бренцингер
Ральф Диллик-Бренцингер является основателем и управляющим директором компании SeaTable. Он — стратегический вдохновитель SeaTable и мастер цифр. Он любит печенье своей невесты и хорошую прогулку на велосипеде.
SQL CREATE DATABASE Statement — Tutorial Republic
Advertisements
В этом руководстве вы узнаете, как создать базу данных в системе управления реляционными базами данных, такой как MySQL, SQL Server и т. д., используя SQL.
Создание базы данных
Прежде чем что-либо делать с данными, нам необходимо сначала создать базу данных. Мы предполагаем, что у вас уже есть доступный для использования MySQL или SQL Server, а также у вас есть все необходимые привилегии. Если нет, ознакомьтесь с руководством по началу работы.
Оператор SQL CREATE DATABASE
используется для создания базы данных.
Синтаксис
Основной синтаксис для создания базы данных можно задать с помощью:
CREATE DATABASE имя_базы_данных ;
Следующая инструкция SQL создает базу данных с именем demo :
CREATE DATABASE demo;
Создание базы данных не выбирает ее для использования. Итак, прежде чем двигаться дальше, нам нужно выбрать целевую базу данных с помощью Заявление USE
. Например, демонстрация ЕГЭ ; Команда
устанавливает базу данных demo в качестве целевой базы данных для всех будущих команд.
Примечание: В Unix имена баз данных и таблиц чувствительны к регистру, поэтому вы всегда должны называть свою базу данных demo
, а не Demo
, DEMO
или как-то еще. Но ключевые слова SQL нечувствительны к регистру, например, CREATE DATABASE
совпадает с create database
.
Создание базы данных в MySQL
Давайте создадим базу данных в MySQL с помощью инструмента командной строки.
Шаг 1: Запустите инструмент командной строки MySQL
Чтобы вызвать командную строку MySQL, мы должны сначала войти на сервер MySQL. Чтобы войти в систему как пользователь root , введите следующую команду в терминале и нажмите клавишу ввода. Вас попросят ввести пароль. Введите свой пароль и нажмите Enter, если он правильный, появится приглашение
mysql>
, с помощью которого вы сможете выполнять операторы SQL и просматривать результаты.
shell> mysql -u root -p
Шаг 2: Создание базы данных MySQL
Теперь выполните следующую команду, чтобы создать базу данных с именем demo .
mysql> CREATE DATABASE demo;
Если база данных создана успешно, вы увидите примерно такой вывод:
Query OK, затронута 1 строка (0,03 с)
Если вы попытаетесь создать базу данных, которая уже существует, вы получите сообщение об ошибке. Чтобы избежать этого в MySQL, вы можете использовать необязательный пункт ЕСЛИ НЕ СУЩЕСТВУЕТ
следующим образом:
mysql> СОЗДАТЬ БАЗУ ДАННЫХ, ЕСЛИ НЕ СУЩЕСТВУЕТ demo;
Шаг 3: Выбор базы данных
Введите следующую команду и нажмите клавишу ввода. Вы увидите вывод «База данных изменена» . Теперь наша демонстрационная база данных
выбрана в качестве базы данных по умолчанию для всех будущих операций.mysql> демонстрация USE;
Совет: Если вы хотите увидеть список существующих баз данных на сервере MySQL, вы можете выполнить оператор ПОКАЗАТЬ БАЗЫ ДАННЫХ;
в командной строке.
Предыдущая страница Следующая страница
Начало работы с SQL - Учебное пособие Республика
Рекламные объявления
В этом руководстве вы узнаете, как настроить среду для практики SQL.
Начало работы с SQL
Как вы уже знаете, SQL используется для связи с базой данных, поэтому, прежде чем вы начнете экспериментировать с SQL, вам сначала потребуется доступ к системе базы данных.
Вы можете протестировать или выполнить большинство операторов SQL, представленных в качестве примеров в учебных пособиях, с помощью нашего интерактивного редактора SQL. Этот редактор SQL использует базу данных Web SQL для хранения и доступа к данным на стороне клиента. Однако для выполнения некоторых операторов SQL вам потребуется доступ к полноценной системе управления базами данных, такой как MySQL, SQL Server и т. д.
Примечание. Web SQL Database позволяет создавать базы данных SQL и выполнять вызовы SQL на стороне клиента. Он основан на популярном движке SQLite с открытым исходным кодом. Web SQL поддерживается браузерами Chrome, Opera и Safari.
Что такое реляционная база данных
Реляционная база данных — это база данных, разделенная на логические единицы, называемые таблицами, где таблицы связаны друг с другом в базе данных. Реляционная база данных позволяет разбивать данные на логические, более мелкие и управляемые единицы для упрощения обслуживания и повышения производительности.
Таблицы связаны друг с другом через общие ключи или поля в системе реляционной базы данных, поэтому даже если нужные данные могут существовать более чем в одной таблице, вы можете легко объединить несколько таблиц, чтобы получить объединенный набор данных, используя один запрос .
Примечание. SQL стал стандартом Американского национального института стандартов (ANSI) в 1986 г. и Международной организации по стандартизации (ISO) в 1987 г. Хотя большая часть кода SQL не может быть полностью переносима между различными системами баз данных без корректировок. .
Настройка рабочей среды для практики SQL
Если в вашей системе еще не установлена СУБД (система управления базами данных), у вас есть несколько вариантов на выбор. Вы можете установить бесплатную СУБД с открытым исходным кодом.
MySQL — самая популярная и широко поддерживаемая система управления базами данных с открытым исходным кодом. Его очень легко загрузить и использовать, и он доступен как для операционных систем Windows, так и для Linux (или UNIX).