sqlite3 = require('sqlite3').verbose() db = new sqlite3.Database('/tmp/blog.db') readAllRows = -> db.all "SELECT perma,title FROM entries", (err, rows) -> rows.forEach (row) -> console.log("#{row.perma}: #{row.title}") closeDb() closeDb = -> console.log "closeDb" db.close 1355998432: PersistentのMigrationが便利そうだ 1356131853: カタカナのしりとりの圏 1356162470: ScottyはHaskellのSinatraクローン 1356235849: 本棚オーバーフロー 135
これまでsqlite3で外部キーを使ったことがなかったので知りませんでしたが、sqlite3はデフォルトでは外部キーのサポートが無効になっている事に気が付きました(バージョンは3.6.22)。テーブルのcreate時に外部キー制約を指定することはできるけれど、実際に参照先テーブルのレコードが変更、削除されたときはノーチェックです。不正なデータだろうがなんだろうがwarningひとつ出しません。 sqlite3で外部キーを使いたい場合、PRAGMA文で動作を変更しなければいけません。sqlite3はPRAGMA文で動作を変更できるらしいです。たとえばPRAGMA cache_sizeでキャッシュサイズを変更できます。PRAGMA文で使える項目のリストは以下のページに記載されています。 http://www.sqlite.org/pragma.html PRAGMAで外部キー制約を有効にしたい
「PupSQLite」は、フリーで利用できる軽量データベースエンジン「SQLite」のデータベースをGUIで管理できるソフト。Windows XP/Vistaに対応する寄付歓迎のフリーソフトで、作者のWebサイトからダウンロードできる。なお、動作には.NET Framework 2.0以降が必要。 本ソフトには「SQLite」のライブラリ“sqlite3.dll”が同梱されており、環境の構築作業などが必要なくそのまま利用可能。画面はMDI方式になっており、複数のデータベースをそれぞれ同時に子ウィンドウとして開くことができる。各データベース内のテーブルは、データベースのウィンドウ内にタブ切り替え型のグリッドビューとして表示される仕組み。 機能も充実しており、テーブル内データの閲覧・編集はもちろん、SQL文を発行して結果を表形式で閲覧できる機能、テーブル定義文を出力する機能、2つのテーブルを比
Appleの07年度第3四半期決算が発表されました。地域別のMacの出荷台数を見ると、欧米のほうが日本より伸び率が高いんですね。話はガラッと変わりますが、ウチの3歳の娘が、幼稚園で覚えてきたのか事あるごとに「欧米か!」を連発して困ります……。 さて、今回は「SQLite」について。Tiger/Spotlightの登場以降、急速に増えつつあるSQLite内蔵アプリケーションの一端を知ろう、という主旨だ。 SQLiteを使うというトレンド SQLiteは、スタンドアロンのデータベース管理ソフト(DBMS)。名前が示すとおり、PostgreSQLやMySQLなどと同じSQL構文を使うDBMSだが、サーバとしてシステムに常駐することはなく、ライブラリとして他のアプリケーションから呼び出される形での利用が一般的。大規模なDBの管理こそ不向きだが、SQLの命令やトランザクション処理を実行できる。
■製品概要 SQLiteはパブリックドメイン(著作権放棄)として提供されており、無償で入手可能なデータベースだ。ソースコードの改変や第三者への再配布も自由に行える。 ほかのRDBMSと大きく異なるのは、SQLiteがいわゆるクライアント/サーバ構成ではないという点だ。デーモンが常駐するわけでもなく、1データベース1ファイルからなるその構成は、むしろMicrosoft Accessに近いかもしれない。実行プログラム(ライブラリ)からデータベースに対する操作も、ファイルに対する読み書きという形で行われる。また、ユーザーという概念もSQLiteではサポートしておらず、データベースに対するアクセス制御はすべてOSのユーザー属性によって行う。 もっとも、SQLiteが一般ユーザーによる利用を想定したパーソナルデータベースであると断じるのは早計だ。SQLiteの特徴として、公式ページで挙げられている主
MySQLとSQLite(PrinCo.)という記事経由で、生まれ変わるPHP - Zend Engine 2、SQLiteの実力は?(MYCOM PC WEB)という記事を読んだ。 MySQL と SQLite で INSERT 時の処理速度が公開されている。 1000件のレコードのINSERTを実行し、それぞれにどれぐらいの時間がかかっているかを示しているのだ。 MySQLが 0.4秒、SQLite が 16秒だというのだが、これはあまりにもひどすぎる。しかも、結論としてどうやら大量データの連続挿入はSQLiteの不得意な処理のようだ。と書かれている。1000件程度でこんなにかかるんだったら、10000件だったら160秒ぐらいかかる(単純すぎ。)って事? 実はこれにはからくりがあって、SQLite の処理は トランザクション の中でないと著しく遅いのだ。おそらく、これが原因なのではない
sqlite: SQLite データベースを管理するプログラム (This page was last modified on 2003/06/29 16:11:13 UTC) SQLite ライブラリには sqlite というシンプルなコマンドライン ユーティリティが含まれます。これを使うと、ユーザは手作業で SQLite データベースに接続して SQL コマンドを実行できます。この文書では sqlite の使い方に関する概略を紹介しています。 起動する sqlite を起動するには単に "sqlite" とタイプし、その後ろに SQLite データベースを保持するファイル名を付けます。ファイルが存在 しない場合は、自動的に新しく作られます。起動後 sqlite プログラムは、SQL をタイプするためのプロンプトを表示します。 SQL ステートメント(終了はセミコロン)をタイプし、 "E
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く