DBを作成する!PHPでSQLite3を扱う方法【初心者向け】
初心者向けにPHPでsqlite3を使う方法について解説しています。sqlite3は制限もありますがMySQLなどと比べると使いやすいデータベースです。実際にDBを作成する書き方を説明しているので、ぜひ参考にしてみてください。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
PHPでSQLite3を使う方法について解説します。
そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。
今回は、PHPに関する内容だね!
どういう内容でしょうか?
PHPでsqlite3を使う方法について詳しく説明していくね!
お願いします!
SQLite3とは
サーバーを使わないでローカルファイルをSQLでアクセス操作するデータベース エンジンです。
様々な言語がサポートしていて、PHPでも簡単に利用することが出来ます。
PHPでローカルにデータを保存するには標準ではテキストファイルなどを利用しますが、これでは検索が難しいなどの問題があります。
手軽に索引機能が利用できる sqlite3 は便利でしょう。
SQLite3 で DB を作成する方法
linux環境には最初からインストールされている可能性があります。
実際にDBを作成してみます。
実験用にディレクトリを作ってsqlite3を起動します。
$ mkdir sqlite $ cd sqlite $ sqlite3 example.db
実行結果
SQLite version 3.7.17 2013-05-20 00:56:22 Enter "".help"" for instructions Enter SQL statements terminated with a "";"" sqlite >
sqlite >はsqlite3の命令を受付可能なことを示すプロンプトです。
続いてテーブルを作成します。最初のテーブルを作成すると、先程 起動時に指定したexample.dbファイルが作成されます。
sqlite> CREATE TABLE syohin ( ...> id INTEGER PRIMARY KEY AUTOINCREMENT, ...> name VARCHAR(50), ...> price INTEGER ...> );
sqlite3 を終了してbashのコンソールに戻るには.exitコマンドを実行します。
sqlite> .exit
[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは
実際に書いてみよう
PHPではPDOで sqlite: をつけてデータベースファイル名を指定すれば利用できます。
データベースファイルが無かった場合、sqlite3コマンドと同様に自動的にファイルが作成されます。
<?php $db = new PDO('sqlite:example2.db'); $sql = <<exec($sql); $insert = $db->prepare('INSERT INTO syohin (name, price) VALUES (?, ?)'); $stat = $insert->execute(['カメラ','10000']); $stat = $insert->execute(['スマートフォン','25000']); $syohin = $db->prepare('SELECT * FROM syohin'); $syohin->execute(); $result = $syohin->fetchAll(PDO::FETCH_ASSOC); print_r($result);
実行結果
$ php sqlite3.php Array ( [0] => Array ( [id] => 1 [name] => カメラ [price] => 10000 ) [1] => Array ( [id] => 2 [name] => スマートフォン [price] => 25000 ) )
この記事を監修してくれた方
大網 清和(おおあみきよかず ) プログラム歴は長く中学生の頃から始めて35年くらいになります。古くは BASIC、C、COBOLなどを経験し SQL を集中的に使っていた時期もあります。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもPHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できるオンラインブートキャンプPHP/Laravel講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。