最近Flutterでアプリを作るにあたりSQLiteでDBを用意したのですが、スプレッドシートに事前に入力しておいたデータをそのまま使いたかったのでそのやり方を記します。
前提情報
- スプレッドシートやエクセルから直接インポートするのはかなり面倒なのでCSVファイルにしておきましょう
- 既存のdbファイルにCSVデータを追記することは出来ません。新規でテーブルを作成する必要があります。
- 当方Mac PCのためそれに準じたやり方をご紹介しています。
1.dbファイルを作成&SQLへ接続
まずはコマンドライン(Macの場合ターミナル)を起動し、dbファイルを作成&同時にSQLに接続。
sqlite3 {任意のdbファイルまでのパス}/{任意のdbファイル名}.db
例)
sqlite3 /Users/taro/Documents/database.db
(成功するとコマンドライン上に sqlite> と表示されるようになる。)
これでSQLへ接続すると同時に {任意のdbファイル名}.db` が新規作成される。
2.テーブル作成
新規にテーブルを作成。
create table {任意のテーブル名}(
{任意のカラム名} {任意の型},
{任意のカラム名} {任意の型},
{任意のカラム名} {任意の型} ...);
例)
create table myTable(
id integer,
name text,
imagePath text,
description text);
成功していれば、 .schema {任意のテーブル名} で作成されたテーブルが表示されます。
3.CSVをインポート
.modeコマンドで表記をcsvに変更。
.mode csv
.importコマンドでインポートしたい対象のcsvファイルと、さっき作ったインポート先のテーブル名を指定。
.import {csvファイルへのパス} {さっき作ったテーブル名}
例)
.import /Users/taro/Documents/database.csv myTable
成功していれば、 SELECT * from {任意のテーブル名}; でインポートされたデータが一覧表示されます。
終わったら .quit または ctrl + C で接続を切りましょう。
余談
DB Browser for SQLite というデスクトップアプリのGUIがありまして、これを使うとdbファイルをアプリ上で見れます。
csvのインポート機能もあるようです。カラム数が少なければこっちのほうが楽にできそうです。
ちなみにFlutterアプリの場合、dbファイルにヘッダー情報などの余計なデータが入っていたり、データの型が完全一致してなかったりするとエラーを吐かずして何も表示されなくなるので要注意。
CSVのインポートのような作業は、手順そのものよりも、どのデータをどう持たせるかの設計で差が出ます。データベースの扱いを基礎から学べるカリキュラムもSiiDで用意しています。
AIプログラミングスクール「SiiD」について
AIプログラミングスクール「SiiD」は、未経験からITエンジニア転職を目指す方向けのオンラインスクールです。
SiiDの特徴
- 現役エンジニアでYouTube登録者約13万人の「セイト先生」が代表兼主任講師
- 採用側の実務知見(2,000人以上の選考・150名以上のエンジニア採用)にもとづく指導
- 生成AIを取り入れた学習設計と、実務レベルのフルスタックWeb開発スキル
- Workship CAREER(株式会社GIG)と連携した無料の転職伴走支援
- 経済産業省認定のReスキル講座で、給付金の条件を満たせば実質105,600円〜
- 学割あり(35%オフ)
こんな方におすすめ
- 未経験・文系・社会人からITエンジニア転職を本気で目指したい方
- 独学に限界を感じている方
- 費用を抑えながら実務スキルと転職サポートを両立したい方
「未経験だから」とあきらめる必要はありません。採用する側を知り尽くしたプロが、給付金で負担を抑えながら内定まで伴走します。