Зачем изучать SQL?

Для меня это связано с тем, что службы, которые я создаю, в основном полагаются на SQL, я обычно использую PostGreSQL или MySQL.

Большая часть мировых данных хранится в базах данных. SQL (или язык структурированных запросов) - это мощный язык, который используется для связи и извлечения данных из баз данных. Знание баз данных и SQL необходимо, если вы хотите стать специалистом по данным. Цель этого сообщения в блоге - познакомить с концепциями реляционных баз данных и помочь вам изучить и применить базовые знания языка SQL.

Он также предназначен для того, чтобы вы начали выполнять доступ к SQL в среде науки о данных.

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

НАСТРОЙКА

Шаг 1. Установите PostGreSQL на свой компьютер.

Я рекомендую вам использовать Jupyter / IPython Notebook для следующих задач:

Введите в записной книжке следующие команды:

%load_ext sql
%sql postgresql://postgres:Admin@localhost/nyc

БАЗОВЫЙ SQL:

Начнем с команд Basis SQL.

Прежде всего настройте IDE для Python, например Spyder, или откройте Jupyter Lab.

Оператор CREATE TABLE

Используя оператор CREATE TABLE для этой таблицы,

Что нужно иметь в виду:

CREATE TABLE STATEMENT - это оператор DDL (DDL означает язык определения данных), поскольку он используется для определения структуры проектов баз данных.

Код страны не может содержать более двух знаков, в том числе author_id. Пределы символов по умолчанию будут определены в скобках переменных.

Здесь author_id определяется как ПЕРВИЧНЫЙ КЛЮЧ ОГРАНИЧЕНИЯ, потому что первичные ключи в реляционной таблице предотвращают дублирование строк в таблице, однозначно идентифицируя каждую строку в таблице.

Некоторые значения определены как NOT NULL, что означает, что они являются обязательными, поэтому пользователь должен их заполнить.

Общий синтаксис:

Теперь мы создадим ТЕСТОВУЮ ТАБЛИЦУ для иллюстрации. Я призываю вас следовать инструкциям, чтобы лучше понять, как работает синтаксис и логика SQL.

Мы создали таблицу TEST здесь и таблицу COUNTRY позже.

Вторая таблица COUNTRY вызывает значимость, поскольку в приведенном выше примере столбец ID имеет ограничение «NOT NULL», добавленное после типа данных, что означает, что он не может содержать NULL или пустое значение. Если вы посмотрите на последнюю строку в операторе создания таблицы выше, вы заметите, что мы используем ID в качестве первичного ключа, а база данных не позволяет первичным ключам иметь значения NULL. Первичный ключ - это уникальный идентификатор в таблице, и использование первичных ключей может значительно ускорить выполнение ваших запросов.

Но чтобы это работало, мы должны использовать оператор DROP,

Хотя, если таблица, которую вы пытаетесь создать, уже существует в базе данных, вы получите сообщение об ошибке, указывающее, что «таблица XXX.YYY уже существует». Чтобы обойти эту ошибку, либо создайте таблицу с другим именем, либо сначала УДАЛИТЬ существующую таблицу. Довольно часто в сценариях тестирования и разработки перед выполнением CREATE выполняется DROP. Таким образом работает наша вторая таблица с тем же идентификатором.

Если вы хотите проверить, работает ваша таблица или нет, используйте инструкцию (выделенную жирным шрифтом):

SQL ›DESC имя-таблицы;

Оператор SELECT

Оператор select используется для извлечения данных из таблицы, созданной с помощью оператора CREATE TABLE.

Вы можете использовать оператор, указанный первым, если хотите получить доступ ко всей таблице, или второй оператор, если хотите получить доступ к данным с определенными столбцами 1 и 2.

Предложение WHERE

Мы используем предложение WHERE, когда нам нужно включить предикат / условие, которое, если оно выполнено, позволяет SELECT получить строку таблицы, которая требуется пользователю.

Пример:

В этом случае выбирается book_id, и выполняется поиск «B1», устанавливая его в качестве предиката. Мы можем использовать другие операторы, такие как ›,‹ и другие, указанные выше.

Важные операторы SELECT:

Общий синтаксис статусов SELECT:

select COLUMN1, COLUMN2, ... from TABLE1 ;

Чтобы получить список всех названий стран и их идентификаторов из таблицы COUNTRY, мы должны выполнить:

select ID, NAME from COUNTRY ;

Чтобы получить все столбцы из таблицы COUNTRY, мы могли бы использовать «*» вместо указания имен отдельных столбцов:

select * from COUNTRY ;

Предложение WHERE может быть добавлено в ваш запрос для фильтрации результатов или получения определенных строк данных. Чтобы получить данные для всех строк в таблице COUNTRY, где идентификатор меньше 5:

select * from COUNTRY where ID < 5 ;

В случае символьных столбцов значения предикатов в предложении where должны быть заключены в одинарные кавычки. Чтобы получить данные для страны с кодом страны «CA», мы должны выполнить:

select * from COUNTRY where CCODE = 'CA';

Некоторые важные функции выбора:

COUNT

COUNT () - это встроенная функция базы данных, которая извлекает количество строк, соответствующих критериям запроса. Чтобы получить общее количество строк в данной таблице, просто введите:

select COUNT(*) from <tablename>

Допустим, вы создали таблицу FORTUNE со столбцом с именем state и хотите получить количество строк, в которых компания FORTUNE500 находится из Калифорнии. Вы можете отправить такой запрос:

select COUNT(STATE) from FORTUNE where STATE='California'

ОТЛИЧИТЕЛЬНО

DISTINCT используется для удаления повторяющихся значений из набора результатов. Чтобы получить уникальные значения в выпуске столбца:

select DISTINCT <columnname> from <tablename>

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

select DISTINCT STATE from FORTUNE where RANK < 100

LIMIT

LIMIT используется для ограничения количества строк, извлекаемых из базы данных. Чтобы получить только первые 10 строк в таблице:

select * from tablename LIMIT 10

Это может быть очень полезно для проверки набора результатов путем просмотра всего нескольких строк вместо получения всего набора результатов, который может быть очень большим. Например, чтобы получить всего несколько строк в таблице FORTUNE за определенный год, вы можете выполнить:

select * from FORTUNE where YEAR = 2019 LIMIT 5

Я думаю, что этого достаточно для первого урока «Базы данных и SQL для науки о данных». Рекомендую и вам самому попробовать.

В следующем руководстве я расскажу об операторах INSERT, UPDATE и DELETE, обновлении SQL-запросов и некоторых Концепции реляционных баз данных.

Свяжитесь со мной:

Я в Твиттере [Арт Тяги]!

Github: github.com/arthtyagi