← Все курсы · Курс SQL · Все руководства
Как практиковать SQL онлайн, ничего не устанавливая
К концу этой страницы вы будете запускать настоящий SQL для реальной базы данных, в которой ничего не установлено, и вы будете знать, какой из бесплатных инструментов браузера подходит для какой задачи. Вы также будете знать, что ни один из них не помещает на главную страницу: некоторые из них полностью работают внутри вашего браузера, а некоторые загружают все, что вы вставляете, на чужой сервер. Эта разница решает, на чем вам разрешено практиковаться.
Вот чем на самом деле заняться сегодня. Если вы хотите, чтобы база данных уже была загружена и вопросы уже написаны, откройте sql-practice.com. Если вы хотите создавать свои собственные таблицы и поделиться с кем-то результатом, откройте БД Скрипка. Оба начинают работать сразу без аккаунта.
Короткая версия: инструменты, предназначенные только для браузера, хранят ваши данные на вашем компьютере, а инструменты, поддерживаемые сервером, — нет, и ни один из них не является подходящим местом для чего-либо из работы.
Куда направляются данные — это единственная идея, которая должна определять ваш выбор, чтобы она отражала картину.
- Запустите свой первый запрос прямо сейчас
- Пять инструментов и для чего нужен каждый
- Куда направляются ваши данные, и следующее правило
- Какой диалект SQL вы изучаете
- Чему вас не научит вкладка браузера
- Полное до и после
- Что пошло не так и как это исправить
- Почему запуск в браузере работает
- Используйте это в своем обучении
- Все на одном экране
1. Запустите свой первый запрос прямо сейчас
Прежде чем объяснить: как вы думаете, что должно быть на вашем компьютере, чтобы оператор SELECT возвращал строки?
Честный ответ — вообще ничего, и это удивляет людей, которые провели выходные, сражаясь с установщиком. Механизм базы данных можно скомпилировать для работы внутри веб-страницы, поэтому уже открытой вкладки браузера достаточно, чтобы хранить рабочую базу данных, выполнять для нее настоящий SQL и возвращать вам реальные строки.
Откройте SQL-практикум в другой вкладке и введите это:
SELECT * FROM gem_page LIMIT 5;
Возвращаются строки: треки, количество слушателей и количество воспроизведений из реального набора музыкальных данных. Ни установки, ни учетной записи, ни сервера. Этот запрос — наименьшее полное действие, которое может сделать SQL: назовите нужные столбцы, назовите таблицу, ограничьте количество возвращаемых строк. Все остальное, что вы узнаете, является усовершенствованием этих трех решений.
2. Пять инструментов и для чего нужен каждый
Они кажутся взаимозаменяемыми, но на самом деле это не так. Полезный вопрос — что каждый из них уже загрузил, потому что от этого зависит, потратите ли вы свой вечер на написание запросов или на написание операторов CREATE TABLE.
| инструмент | Что уже есть | счет | Лучшее для |
|---|---|---|---|
| sql-practice.com | База данных больницы (пациенты, приемные, врачи, провинции) и копия Нортвинд со средством просмотра схем и упражнениями сбоку. | Не требуется для запуска | Практика по вопросам, написанным кем-то другим. Самое близкое к курсу. |
| БД Скрипка | Ничего. Две панели: одна для вашей схемы, другая для вашего запроса. Вы выбираете двигатель и версию вверху. | Не нужно запускать | Воспроизведение проблемы и отправка кому-нибудь ссылки на нее. Стандартный способ задать вопрос SQL онлайн. |
| SQLite онлайн | Пустая база данных плюс возможность открыть файл со своей машины. | Не требуется | Тыкая в .db или CSV-файл, который у вас уже есть, ничего не устанавливая. |
| W3Школы попробуйте | Небольшой фиксированный образец базы данных, прикрепленный к страницам учебников по SQL. | Не требуется | Тестирование одного пункта, о котором вы только что прочитали, на той же вкладке, что и объяснение. |
| SQL-практикум | Загруженная база данных и тринадцать запросов по порядку, каждый из которых — предыдущий запрос плюс одна новая идея. | Не требуется | Развитие беглости набора текста, когда вы хотите, чтобы следующий запрос был выбран за вас. |
Два из них решают проблему, достойную упоминания. Когда вы задаете вопрос по SQL где-либо в Интернете, первым ответом обычно является запрос на работоспособный пример, поскольку никто не может отладить запрос без таблиц. Ссылка БД Скрипка, содержащая вашу схему и ваш запрос, является таким примером, и ее предоставление — это разница между вопросом, на который получен ответ, и вопросом, на который нет.
3. Куда отправляются ваши данные, и правила, которые из этого следуют
Перед объяснением: вы вставляете таблицу из рабочей таблицы в онлайн-инструмент SQL для проверки запроса. Кто теперь сможет прочитать эту таблицу?
Это полностью зависит от того, какой именно инструмент вы открыли, и страница редко вам об этом сообщает. Некоторые из них запускают механизм базы данных внутри вашего браузера, поэтому ваши строки никогда никуда не перемещаются. Другие отправляют вашу схему и запрос на свой сервер, запускают ее там и отправляют результаты обратно, а это означает, что копия всего, что вы вставили, теперь существует на чьем-то другом компьютере.
Сами инструменты ясно об этом говорят, если вы прочитаете достаточно далеко. В собственном отказе от ответственности SQLite онлайн говорится, что служба не предназначена для обработки персональных данных и что пользователь принимает на себя весь риск и ответственность за загруженный контент. БД Скрипка сохраняет скрипки публично, если вы не платите за частную опцию, что является разумной бизнес-моделью и серьезной опасностью, если вы предполагаете, что сохраненная ссылка принадлежит только вам.
Итак, правило короткое и не имеет исключений, о которых стоит спорить. Никогда не вставляйте реальные данные о клиентах, пациентах, сотрудниках или финансовые данные в онлайн-инструмент SQL. Не для проверки запроса, не с удаленными именами, не в течение двух минут. Правильно анонимизировать таблицу сложнее, чем кажется, а таблица «анонимных» госпитализаций с датами и почтовыми индексами часто вообще не является анонимной.
Практический обходной путь стоит тридцать секунд. Повторно введите пять выдуманных строк с теми же именами и типами столбцов, что и в реальной таблице, и проверьте запрос на их соответствие. Запрос не заботится о том, настоящие ли имена, и ошибка в вашем JOIN будет отображаться в пяти строках точно так же, как и в пяти миллионах. Когда вам нужно работать над чем-то реальным, работайте локально, вот что Настройка базы данных SQL это для.
4. Какой диалект SQL вы изучаете
SQL — это стандарт, который каждая база данных интерпретирует по-своему. Различия невелики в тех частях, которые вы изучаете сначала, и становятся реальными позже, особенно в отношении дат и текстовых функций.
Большинство инструментов браузера запускаются SQLite, поскольку он достаточно мал, чтобы его можно было скомпилировать в веб-страницу. БД Скрипка — это исключение, о котором стоит знать, поскольку оно позволяет вам выбрать движок и версию и открывается в MySQL, когда я его проверял. Это имеет значение, когда вы готовитесь к конкретной работе: если в сообщении говорится о PostgreSQL, практика использования функций даты в SQLite научит вас неправильному синтаксису для собеседования.
Пусть это не беспокоит вас с самого начала. SELECT, WHERE, GROUP BY, JOIN, HAVING и оконные функции во всех из них ведут себя одинаково, и это материал ваших первых нескольких месяцев. Разницы следует ожидать в арифметике дат, конкатенации строк и точном написании фразы «дайте мне первую десятку». Если вы встретите один из них, исправление состоит в том, чтобы искать имя функции плюс имя вашего движка, а не делать вывод, что вы неправильно поняли SQL.
5. Чему вас не научит вкладка браузера
Эти инструменты превосходно справляются с той частью, которую они покрывают, и стоит четко понимать, где находится потолок, чтобы знать, когда двигаться.
Они не могут научить вас загрузить данные, который представляет собой настоящий навык с реальными режимами сбоев: CSV, числа которого поступают в виде текста, ведущие нули удалены из почтовых индексов, формат даты, который означает одно в Великобритании, а другое в США. Они не могут научить вас производительность, потому что игрушечные таблицы слишком малы, чтобы индекс имел значение. Они не могут научить вас подключить инструмент к базе данных, а это то, чего на самом деле требует каждая работа. И ничто из того, что вы встраиваете в большинство из них, не выдерживает закрытия вкладки, поэтому возврата к вчерашней работе не будет.
Прежде чем читать дальше, скажите, что общего в этом списке. Каждый элемент касается мира вокруг запроса, а не самого запроса. Это честная граница: вкладка браузера учит вас SQL, а локальная установка учит вас этой работе. Начните с вкладки сегодня и переходите, когда вкладка перестанет удерживать вашу работу, что обычно занимает несколько недель.
Полное до и после
Оба раза цель одна: выучить в этом месяце достаточно SQL, чтобы отвечать на вопросы на собеседовании.
До
Day 1 Searched for how to install a database
Day 2 Chose between five engines, picked one
Day 3 Installer failed on a permissions error
Day 4 Fixed the permissions error
Day 5 Wrote first SELECT
Четыре дня потрачено на ту часть, которая ничего не рассказывает об SQL. Это не личный недостаток, и это чрезвычайно распространено, поскольку этап настройки предшествует этапу обучения и выглядит обязательным. Мотивация конечна, и именно на это тратится ее большая часть.
после
Minute 1 Opened a browser tool with a database already loaded
Minute 2 SELECT * FROM patients LIMIT 5
Day 1 WHERE, ORDER BY, COUNT
Day 3 GROUP BY and the first JOIN
Week 2 Installed locally, because saving work now matters
Установка по-прежнему происходит, и происходит по причине, которую вы можете почувствовать, а не потому, что так сказано в руководстве. К тому времени вы будете знать, для чего нужна база данных, и это сделает вопросы настройки более ответственными, а не произвольными. Изменился порядок, а не пункт назначения.
Что пошло не так и как это исправить
Шесть, которые появляются постоянно.
«нет такой таблицы». Имена таблиц различаются в разных инструментах, и учебные пособия пишутся в зависимости от того, какой из них использовал автор. Прочтите панель схемы слева, а не руководство. На sql-practice.com таблицы: patients, admissions, doctors и province_names.
Ваша работа исчезла, когда вы закрыли вкладку. Большинство из них ничего не хранят. Вставляйте все, что хотите сохранить, в текстовый файл на своем компьютере. Файл сработавших запросов становится тем, что вы вставляете позже.
Функция даты, которая работает везде, здесь дает сбой. Диалект. DATEADD, DATE_ADD и date(...,'+1 day') это три варианта написания одной идеи. Прежде чем прийти к выводу, что запрос неправильный, проверьте, на каком движке работает инструмент.
Запрос выполняется, но ничего не возвращает. Обычно WHERE сравнение со значением, которое не существует, часто из-за заглавных букв или конечного пробела. Уберите предложение WHERE и сначала посмотрите на необработанные значения.
Вы ожидали ошибку, а вместо этого получили неправильный ответ. SQLite необычайно снисходителен к типам, поэтому сравнение числа с текстом может ничего не дать, а только жаловаться. Такая гибкость удобна и скрывает ошибки, что является еще одной причиной в конечном итоге перейти на настоящий движок.
Общая скрипка является общедоступной. Сохраненные скрипки видны, если конфиденциальность не является платной функцией, за которую вы заплатили. Предположим, что все, что вы сохраняете, можно прочитать.
Почему запуск в браузере работает
Прежде всего механизм, потому что он объясняет, почему это вообще возможно. SQLite — это полноценный механизм базы данных в одной небольшой библиотеке без серверного процесса и конфигурации, скомпилированный для работы внутри веб-страниц. Вот почему вкладка может содержать реальную базу данных, а не ее симуляцию: всю работу выполняет тот же механизм, который встроен в телефоны и браузеры, и SQL, который вы пишете для нее, — это тот же SQL, который вы написали бы где угодно.
Аргумент обучения является отдельным и более сильным. Настройка — это не первый шаг, это фильтр, и он берет свое, прежде чем произойдет какое-либо обучение. Его удаление означает, что первое, что вы встретите, — это запрос, возвращающий строки, и именно это делает SQL достойным изучения. Есть также убедительные доказательства того, как эти инструменты просят вас работать: извлечение ответа из памяти обеспечивает значительно лучшее долговременное запоминание, чем повторное чтение того же материала, и это преимущество растет со временем (Краснее & выбирать карпа, 2006, Психологическая наука, 17(3), 249–255). Ввод запроса самостоятельно является поиском. Чтение готового — нет, и это весь аргумент в пользу инструмента, который заставляет вас печатать.
Одно замечание по поводу написания этой страницы. Он постоянно просил вас дать ответ, что должно существовать для работы SELECT, кто может прочитать вставленную вами таблицу, прежде чем давать ее. Попытка дать ответ до того, как вы увидите правильный, достоверно повышает, насколько хорошо сохраняется правильный ответ, даже если попытка неверна (Бисра, Лю, Несбит, Салими и Винн, 2018, Обзор педагогической психологии, 30(3), 703–725).
Используйте это в своем обучении
Пять шагов по порядку.
- Начните сегодня с помощью инструмента с уже загруженными данными. Выбор двигателя — это вопрос, на который вы еще не готовы ответить, и он пока не требует ответа.
- Сохраняйте текстовый файл с сработавшими запросами., на своей машине, с первого дня. Он сохраняется после закрытия вкладки и становится вашей ссылкой.
- Никогда не вставляйте ничего настоящего. Пять искусственных строк с одинаковыми именами столбцов точно так же проверяют запрос.
- Проверьте, на каком двигателе вы находитесь прежде чем изучать какую-либо функцию даты или текста, и сопоставьте ее с желаемой работой.
- Установите локально, когда сохранение работы станет иметь значение., обычно неделя вторая или третья. К тому времени на вопросы настройки уже будут очевидны ответы.
Если у вас под рукой есть бумага, один дополнительный рисунок стоит двух минут. Нарисуйте ноутбук, и для каждого используемого вами инструмента нарисуйте либо петлю внутри него, либо стрелку, выходящую из него. В любой инструмент, который вы не можете уверенно рисовать, не следует вставлять ничего чувствительного.
Все на одном экране
Это лист поиска. Закройте правую колонку, проработайте левую и произнесите каждый ответ вслух, прежде чем проверять его.
| вещь | Что это такое или что оно делает |
|---|---|
| SQL браузера | Настоящий механизм базы данных, скомпилированный для работы внутри веб-страницы. Реальные ряды, без установки. |
| sql-practice.com | Загружены базы данных больниц и «Борей» с упражнениями. Никакой учетной записи не требуется. |
| БД Скрипка | Пустой. Вы пишете схему, выбираете движок и делитесь ссылкой. |
| SQLite онлайн | Пусто, но можно открыть файл с вашего компьютера. |
| Запускается в браузере | Ваши данные никогда не покидают ноутбук. |
| Работает на сервере | Копия всего, что вы вставляете, живет на чужой машине. |
| Правило вставки | Ничего реального. Пять готовых строк также хорошо проверяют запрос. |
| Сохраненные скрипки | Общедоступно, если конфиденциальность не является платной функцией, которую вы купили. |
| Диалект | Большинство инструментов браузера используют SQLite. БД Скрипка позволяет вам выбирать. |
| Что переносится повсюду | SELECT, ГДЕ, GROUP BY, ПРИСОЕДИНИТЬСЯ, ИМЕТЬ, оконные функции. |
| Чем отличается двигатель | Арифметика дат, объединение строк, синтаксис Топ-Н. |
| Чему не может научить вкладка | Загрузка данных, производительность, подключение инструмента, сохранение работы. |
| "нет такой таблицы" | Прочтите панель схемы, а не руководство. Названия различаются в зависимости от инструмента. |
| Когда устанавливать локально | Когда сохранение вчерашней работы начинает иметь значение. Обычно вторая неделя. |
Еще одна мысль, и мне бы искренне хотелось услышать ответы других людей. Что окончательно оттолкнуло меня от инструментов браузера, так это потеря вечерних запросов на закрытую вкладку, и это небольшая потеря, которая преподает большой урок. Что заставило вас установить что-то локально и как долго вы это откладывали?
Ссылки
- Рёдигер, Х.Л., и Карпике, Дж.Д. (2006). Улучшенное обучение с помощью тестов: прохождение тестов на память улучшает долгосрочное запоминание. Психологическая наука, 17(3), 249–255.
- Бисра К., Лю К., Несбит Дж. К., Салими Ф. и Винн П. Х. (2018). Побуждение к самообъяснению: метаанализ. Обзор педагогической психологии, 30(3), 703–725.
SQL для аналитиков состоит из 458 страниц, каждый запрос читается построчно простыми словами, с практическими вопросами, в которых печатается ответ и причина, по которой он правильный.
SQL для аналитиков, 19 $ →тот SQL-практикум дает вам по одному выполняемому запросу к загруженной базе данных, каждый из которых представляет собой только что введенный вами запрос плюс одну новую идею, поэтому вы печатаете, а не читаете. Курс SQL это более полный путь, если вам нужны объяснения наряду с повторениями.
Откройте SQL-практикум →