SQLite 3 CSV Импорт в таблицу - PullRequest
       7

SQLite 3 CSV Импорт в таблицу

1 голос
/ 17 февраля 2012

Я использую это как ресурс, чтобы начать меня - http://www.pantz.org/software/sqlite/sqlite_commands_and_general_usage.html

В настоящее время я работаю над созданием программы AIR с использованием встроенной базы данных SQLite. Меня можно считать полным новичком в создании запросов SQL.

типы столбцов таблицы

У меня довольно большой файл Excel (14K строк), который я экспортировал в файл CSV. Он имеет 65 столбцов с различными типами данных (в основном, int, float и короткие строки, МОЖЕТ быть несколько bools). Я понятия не имею о правильной форме импорта, чтобы сохранить структуру столбцов, и при этом я не знаю, какие форматы данных лучше выбрать для каждого столбца дБ. Я мог бы использовать некоторые материалы по этому вопросу.

утилиты создания таблицы

Есть ли утилита, которая может прочитать файл XLS и на основе заголовков столбцов сгенерировать быстрый запрос, чтобы облегчить задачу выполнения запроса вручную? Я видел этот пост, но он, кажется, ориентирован на уже существующий CSV-файл и использует python (что я тоже являюсь новичком)

Заранее спасибо за ваше время. J

1 Ответ

2 голосов
/ 17 февраля 2012

Типы столбцов SQLite3 в основном сводятся к:

  • TEXT
  • NUMERIC (REAL, FLOAT)
  • INTEGER (различные длины целых чисел; но INT будетобычно делают)
  • BLOB (двоичные объекты)

Обычно в CSV-файле вы встретите строки (TEXT), десятичные числа (FLOAT) и целые числа (INT).Если производительность не критична, вам нужны только три типа столбцов.(CHAR(80) меньше на диске, чем TEXT, но для нескольких тысяч строк это не такая большая проблема.)

Что касается помещения данных в столбцы, SQLite3 использует тип принуждение для преобразования входного типа данных в тип столбца, где бы ни имел смысл преобразование.Поэтому все, что вам нужно сделать, это указать правильный тип столбца, и SQLite позаботится о его правильном хранении.

Например, число -1230.00, строка "-1230.00" и строка "-1.23e3" все приведёт к 1230 при сохранении в столбце FLOAT.

Обратите внимание, что если SQLite3 не может применить значимое преобразование типа, он просто сохранит исходные данные, не пытаясь преобразовать их ввсе.SQLite3 очень рад вставить "Hello World!" в столбец FLOAT.Обычно это плохо.

См. Документацию SQLite3 о типах столбцов и преобразовании для таких драгоценных камней, как:

Тип сродства

Чтобы максимизировать совместимость между SQLite и другими механизмами баз данных, SQLite поддерживает концепцию «соответствия типов» для столбцов.Сходство типов столбца является рекомендуемым типом для данных, хранящихся в этом столбце.Важной идеей здесь является то, что тип рекомендуется, не требуется. Любой столбец может хранить данные любого типа.Просто некоторые столбцы, при выборе, предпочитают использовать один класс хранения над другим.Предпочтительный класс хранения для столбца называется его «сродством».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...