Как настроить базу данных SQL для начинающих
В каждом учебнике по SQL предполагается, что ваши данные уже находятся «в базе данных». Никто не объясняет шаг между ними. Это руководство и есть этот шаг. Вы получите файл данных, создадите свою первую настоящую базу данных на своем компьютере, загрузите в нее файл и выполните свой первый запрос. Для этого требуются два настольных инструмента и нулевая настройка сервера.
Вам не нужно приносить свои собственные данные. На шаге 1 вам предоставляется файл для загрузки, и каждый запрос в этом руководстве выполняется с его помощью.
Если вы все еще раздумываете, какой двигатель установить на свою машину, вариант этого решения, состоящий из одного вопроса, находится в какую базу данных SQL следует установить. Все остальные могут начать с шага 1.
- Поймите, что вы на самом деле создаете (60 секунд)
- Получите CSV-файл для работы.
- Установите браузер БД для SQLite
- Создать файл базы данных
- Импортируйте CSV в виде таблицы.
- Проверьте импорт одним запросом
- Устраните две наиболее распространенные проблемы импорта.
Во-первых: что вы на самом деле строите?
Скажите, что, по вашему мнению, представляет собой база данных, в одном предложении, прежде чем читать следующее. Что бы вы ни представляли, реальный ответ в этом руководстве меньше и менее устрашающий.
База данных звучит как большой и пугающий сервер в центре обработки данных. Для учебных и портфолио проектов это не так. С SQLite, база данных - это просто один файл на вашем компьютере - нравиться mygames.db сидит в папке «Документы». Внутри этого файла живут один или несколько столы, а таблица — это просто сетка строк и столбцов, как в электронной таблице.
Итак, вся работа такова: создать файл, поместить в него CSV в виде таблицы, убедиться, что ничего не потерялось. Вот и все.
Шаг 1. Получите CSV-файл для работы.
CSV — это обычный текстовый файл, содержащий таблицу, по одной строке в строке, значения которой разделены запятыми. Это то, что дает вам почти каждая кнопка «загрузить эти данные».
Если он у вас уже есть, используйте его и пропускайте дальше. Если нет, вот файл, который используется в остальной части этого руководства. Щелкните ссылку правой кнопкой мыши, выберите Сохранить ссылку каки поместите его где-нибудь, где сможете найти снова.
- Сиэтл-погода.csv — четыре года ежедневной погоды в Сиэтле. 1461 строка, около 60 КБ, без регистрации.
- Откройте его один раз в Excel или текстовом редакторе, прежде чем идти дальше. Шесть столбцов: дата, осадки, temp_max, темп_мин, ветер, погода. Зная, что находится в файле, вы сможете позже определить, правильно ли он загрузился.
Прежде чем двигаться дальше, скажите вслух, сколько строк вы ожидаете разместить в базе данных. Вы просто читаете номер. Удержание этого делает шаг 5 значимым.
weather_raw.Шаг 2. Установите браузер БД для SQLite.
Все, что вы будете вводить в этом руководстве, — это бесплатное настольное приложение под названием Браузер БД для SQLite. Он предоставляет SQLite удобное окно «укажи и щелкни», а также вкладку, на которой можно ввести SQL.
- Перейти к sqlitebrowser.org/dl
- Загрузите установщик для Окна или Мак и запустите его (все значения по умолчанию подходят)
- Откройте приложение — вы увидите практически пустое окно с кнопками типа Новая база данных и Открытая база данных
Шаг 3 — Создайте файл базы данных
- Нажмите Новая база данных (вверху слева)
- Выберите папку, которую сможете найти еще раз, назовите файл примерно так:
portfolio.db, нажмите Сохранить - Появится диалоговое окно «Создать таблицу» — нажмите Отмена. Вам это не нужно; импорт CSV на следующем этапе создаст таблицу для вас.
Это настоящая база данных. Он пуст, но он существует — один файл, нет сервера.
Шаг 4. Импортируйте CSV в виде таблицы.
- В меню: Файл → Импорт → Таблица из файла CSV…
- Выберите CSV-файл, который вы скачали на шаге 1.
- В диалоге импорта:
- Имя таблицы: Тип
weather_raw._rawсуффикс — это привычка аналитиков: он помечает эту таблицу как нетронутый оригинал. Любая очистка происходит позже, в копии — никогда в оригинале. Правило именования: подчеркивание, никогда не дефисы и пробелы. Браузер БД автоматически заполняет имя из имени файла, поэтомуseattle-weather.csvПрибывает какseattle-weather— законно, но SQL считывает дефисы как вычитание, заставляя вас вечно заключать имя в кавычки в каждом запросе. Переименуйте его, прежде чем нажать «ОК». - Отметьте «Имена столбцов в первой строке» — в противном случае ваша строка заголовка будет импортирована как строка данных.
- Имя таблицы: Тип
- Нажмите ОК, затем нажмите Ctrl+S (Cmd+S на Мак), чтобы сохранить базу данных. Браузер БД не записывает изменения в файл, пока вы его не сохраните.
Шаг 5. Проверьте это с помощью первого запроса.
Прежде чем запустить его, скажите, какой номер вы ожидаете получить. В этом ожидании и заключается весь смысл этого шага, поскольку запрос, которому не с чем сравнивать, не может ничего проверить.
Нажмите кнопку Выполнить SQL вкладка. С этого момента вы вводите SQL. Введите это и нажмите кнопку ▶ (воспроизведение):
SELECT COUNT(*) FROM weather_raw;
Он возвращает одно число: сколько строк в вашей таблице. С файлом погоды в Сиэтле это должно быть 1461. Если вы принесли свой собственный CSV-файл, поменяйте его местами. weather_raw для имени таблицы, которое вы ввели на шаге 4, и сравните число с количеством строк исходного файла (откройте его в Excel и проверьте номер последней строки, минус 1 для заголовка).
Если они совпадают, значит, доставлена каждая строка. Затем обратите внимание на несколько строк:
SELECT * FROM weather_raw LIMIT 10;
Вы должны увидеть даты в первом столбце и числа в следующих четырех, а такие слова, как моросящий дождь и дождь, в последнем. Если столбцы выглядят правильно и счетчик совпадает — все готово. У вас есть работающая база данных SQL, и каждый урок SQL, который вы извлечете отсюда, применим к вашим собственным данным.
Две проблемы, которые однажды коснутся каждого
Оба из них отображаются как неправильный ответ, а не как сообщение об ошибке, что делает их дорогими. Угадайте, как бы выглядела общая сумма, если бы база данных считала ваши цены словами, а не числами.
1. Числа, импортированные в виде текста
Если столбец цен содержит такие значения, как $4.99 или 1,299, знак доллара и запятая заставляют импортировать его как ТЕКСТ — и SUM(price) возвращает мусор. Исправление состоит в том, чтобы очистить эти значения в новом числовом столбце (в новой таблице — никогда не редактируйте _raw один). Уроки очистки Курс SQL посвящены именно этому.
2. Количество строк не совпадает.
Отклонение ровно на один? Вы, вероятно, забыли «имена столбцов в первой строке». Еще больше? CSV, скорее всего, имеет проблемы с кавычками или разделителями (классическими являются запятые внутри текстовых полей без кавычек). Еще раз проверьте настройки разделителя и кавычек в диалоге импорта.
Шпаргалка
| Шаг | где | Действие |
|---|---|---|
| Получить данные | Браузер | Сохраните CSV на диск. seattle-weather.csv из вега-наборов данных, если их у вас нет |
| Создать базу данных | Браузер БД | Новая база данных → сохранить файл .БД → Отменить диалоговое окно таблицы. |
| Импортировать CSV-файл | Меню «Файл» | Импорт → Таблица из CSV → назовите ее. something_raw → отметьте «имена столбцов в первой строке» |
| Сохранить | Браузер БД | Ctrl+S — изменений нет в файле, пока вы их не сохраните. |
| Проверять | Вкладка «Выполнение SQL» | SELECT COUNT(*) против количества строк CSV, затем LIMIT 10 в глаза |
Та же идея, большие базы данных
На работе вы встретите MySQL (LOAD DATA INFILE) и Постгрес (COPY). Инструменты меняются; рабочий процесс, который вы только что изучили, не: создать → импортировать → проверитьи сохраняйте нетронутым _raw копия.
А если сам файл огромен (миллионы строк, гигабайты на диске), та же база данных все равно работает, достаточно добавить несколько привычек: см. Как обрабатывать большие наборы данных.
SQL для аналитиков состоит из 458 страниц, каждый запрос читается построчно простыми словами, поэтому пустую базу данных есть куда девать.
SQL для аналитиков, 19 $ →тот Курс SQL учит SELECT, WHERE, JOIN и GROUP BY с отработанными примерами, практикой, флэш-карточками и пробным экзаменом - все в вашем браузере, ничего не нужно устанавливать.
Откройте набор SQL →Или приступайте к делу и учитесь, написав запросы: открыть SQL-практикум, тринадцать запросов, каждый из которых добавляет что-то одно к последнему.