sql file

sql のコマンドをタイプした、スクリプトファイル(.sql)を使います。

meibo.sql

  1. meibo.db を作成するコマンドをタイプした meibo.sql です。
    Windows7 までは Shift-JIS でタイプしていたのですが、Windows10 では utf-8(BOM 無し)でタイプして下さい。
    utf-8(BOM 有り)でタイプすると BOM が邪魔をしてエラーになるようです。
    create table table1(id, name, sex, age);
    insert into table1 values('n1', '花子', 2, 20);
    insert into table1 values('n2', '太郎', 1, 21);
    insert into table1 values('n3', '涼子', 2, 22);
    insert into table1 values('n4', '和也', 1, 22);
    insert into table1 values('n5', '美里', 2, 22);
    .mode column
    .header on
    select * from table1;
    
  2. コマンドプロンプトを起動して meibo.db を作成します。
    del meibo.db で古いファイルを削除して、sqlite3 meibo.db で新しく作成します。
    .read で meibo.sql を入力して実行します。
    C:\Windows\System32>CD C:\sqlite
    C:\sqlite>del meibo.db
    C:\sqlite>sqlite3 meibo.db
    C:\sqlite> .read meibo.sql
    
  3. 【実行画面】
    C:\SQLite>sqlite3 meibo.db
    SQLite version 3.8.8.3 2015-02-25 13:29:11
    Enter ".help" for usage hints.
    sqlite> .read meibo.sql
    id          name        sex         age
    ----------  ----------  ----------  ----------
    n1          花子        2           20
    n2          太郎        1           21
    n3          涼子        2           22
    n4          和也        1           22
    n5          美里        2           22
    
    sqlite>
    
  4. sqlite3 の実行を終了します。
    sqlite> .exit
    C:\sqlite>
    
  5. データベースファイルを .open で開くことも出来ます。
    スクリプトファイルの中で meibo.db のオープンを追加した create.sql を作成します。
    create.sql を utf-8(BOM 無し)でタイプして下さい。
    .open meibo.db
    create table table1(id, name, sex, age);
    insert into table1 values('n1', '花子', 2, 20);
    insert into table1 values('n2', '太郎', 1, 21);
    insert into table1 values('n3', '涼子', 2, 22);
    insert into table1 values('n4', '和也', 1, 22);
    insert into table1 values('n5', '美里', 2, 22);
    .mode column
    .header on
    select * from table1;
    
  6. コマンドプロンプトを起動して create.sql を実行します。
    meibo.db が正常に作成されました。
    C:\SQLite>sqlite3
    sqlite> .read create.sql
    sqlite> .exit
    C:\sqlite>  
    

utf-8(BOM 有り)

create.sql を utf-8(BOM 有り)でタイプして実行すると、次のメッセージが表示されました。
utf-8(BOM 有り)の文字コードは受け付けないようです。
【実行画面】
C:\Users\maeda>cd c:\sqlite
c:\sqlite>sqlite3
SQLite version 3.31.1 2020-01-27 19:55:54
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .read create.sql
Error: near line 1: near "?": syntax error
Error: near line 3: no such table: table1
Error: near line 4: no such table: table1
Error: near line 5: no such table: table1
Error: near line 6: no such table: table1
Error: near line 7: no such table: table1
Error: near line 10: no such table: table1
sqlite> .exit
C:\sqlite>

前田稔の超初心者のプログラム入門
PHP Program