>_ IzzyLab

Практическое задание

SQLite: импорт данных из CSV

средне

В /root/data.csv лежит CSV-файл с заголовком name,population и тремя строками данных о городах. Создай в базе /root/geo.db таблицу cities(name TEXT, population INTEGER) и импортируй в неё данные из этого CSV (строку-заголовок в таблицу заносить не нужно). В итоге в таблице должно быть ровно 3 строки с корректными значениями.

Что потренируешь:
  • импорт csv
  • dot-команды
  • sqlite3
  • .import
  • create table

Разбор темы

У утилиты sqlite3 кроме SQL есть dot-команды (начинаются с точки) — команды самой утилиты. Для загрузки данных нужны .mode csv (переключает парсер ввода на CSV) и .import (построчно заливает файл в уже существующую таблицу), причём режим задают до импорта. Таблицу с нужными колонками и типами создают заранее обычным CREATE TABLE.import только заполняет готовую структуру. Отдельный нюанс — строка-заголовок CSV: её нельзя заносить как данные, и современный .import умеет пропускать первые строки файла соответствующим флагом.

Что проверяется

  1. импортировано ровно 3 строки
  2. значения импортированы корректно

Как это выглядит