タグ

SQLiteに関するcubickのブックマーク (27)

  • 初心者のためのSQLite入門 | DevelopersIO

    はじめに こんにちは。データアナリティクス事業部 ビッグデータチームのShiwaniです。 SQLite データベースを使用してみましたが、非常に興味深く使いやすいことがわかりました。このブログでは、SQLite データベースの基と簡単な使い方についてまとめています。 SQLiteとは SQLite は、localのリレーショナル データベース管理システムです。これはインメモリ オープンソース ライブラリであり、インストールは必要ありません。 また、サイズも500KB未満なのでとても便利です。 SQLiteをいつ使用するか? SQLiteはインストールが不要なので、例えば以下の目的で使用ができます。 内部または一時的なデータベース。 小規模データベース。 テレビ、携帯電話、カメラなどの組み込みソフトウェアの開発。 初心者向けの学習やトレーニング。 詳細については、次のリンクを参照してく

    初心者のためのSQLite入門 | DevelopersIO
  • SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ

    SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ SQLiteの開発チームは、複数クライアントからの同時書き込みを可能にするBEGIN CONCURRENT文を実装していることを明らかにしました。 これまでSQLiteでは書き込みの同時実行はできず、つねに1つのクライアントだけが書き込み可能でした。 同時書き込み処理は、データベースのジャーナルモードが「wal」(Write-Ahead-log)もしくはwalを改良した「wal2」で、BEGIN CONCURRENT文を実行した場合に可能となります。 どのように同時書き込み処理が行われるのかについては、上記のWebページの説明を引用しましょう。 ロックが延期されることで同時書き込みが可能に まず、書き込み時のロックがCOMMITまで延期されることで同時書き込みが実現されると説明されて

    SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ
  • SQLite 3.44 日本語

    SQLite 3.44 日SQLite Limits SQLite の実装制限 Language 日付と時刻の関数 WITH句 マンデルブロ集合を計算する NOT MATERIALIZED 通常の共通テーブル式 グラフに対するクエリ Recursive query 数独パズルを解く VACUUM 真空の仕組み VACUUM INTO ANALYZE Approximate ANALYZE ANALYZEの自動実行 推奨される ANALYZE 使用パターン REINDEX SQLite が理解できるクエリ言語 組み込みの集計関数 ALTER TABLE ALTER TABLE 列の追加 Drop column ALTER TABLE が難しい理由 Rename column Rename table 一般化された ALTER TABLE プロシージャ ATTACH DATABASE S

  • SQLiteプロジェクトがGitを使用しない理由

    SQLiteがGitを使用しない理由についての詳細 7月23日、SQLiteはGitを使用しない理由を発表しました。 Gitが提供する機能やユーザーエクスペリエンスの問題を理由に、SQLiteは代わりにFossilを使用して 7月23日、SQLiteがGitを使用しない理由について述べたドキュメントが公開されました。 Gitが提供する機能やユーザーエクスペリエンスの問題を理由に、SQLiteは代わりにFossilを使用しています。 記事では、SQLiteがなぜGitを使用しないのかについて詳しく説明します。 Gitではプロジェクトの状態を把握できない Gitのインターフェースでは、開発者がプロジェクトの進行状況や変更履歴を把握するのが難しいとされています。 また、モバイルデバイスでの利用も制限されています。 一方、Fossilでは、タイムラインを通じて最新の変更の要約や詳細を簡単に確認す

    SQLiteプロジェクトがGitを使用しない理由
  • SQLiteStudio

  • GitHub - pawelsalawa/sqlitestudio: A free, open source, multi-platform SQLite database manager.

  • SQLite - Perl

  • 「SQLite」用のGUIデータベースマネージャー「SQLiteSpy」NOT SUPPORTED

  • パフォーマンス比較 Cassandra、Mongodb、SQLite、H2、MySQL、Postgres - cypher256's blog

    下記のようなシステムでパフォーマンスが良さげな SQLite を使用予定ですが、もっと速いものが無いか確認のため他のデータベースのパフォーマンスを計測してみました。SQL 利用前提ですが、NoSQL が圧倒的な性能を出す場合は検討する必要があるので KVS も確認しました。 データ件数は 1 億件程度、JDBC SQL 利用可能 INSERT、UPDATE はバッチ SELECT は主キーアクセス性能を重視 将来スケールアウトのための分散はありえるが、スタンドアロンで遅いのはだめ データベースのパフォーマンス比較 計測したデータベース データベース名 タイプ 形態 評判 計測についての備考 SQLite RDB 組み込み ※2 おもちゃ、Android標準 JDBC操作 ※1 H2 RDB 組み込み ※2 組み込み最速 JDBC操作 ※1 Derby RDB 組み込み ※2 Java標準で

    パフォーマンス比較 Cassandra、Mongodb、SQLite、H2、MySQL、Postgres - cypher256's blog
  • How to optimize the sqlite files - Pale Moon forum

  • AndroidアプリにおけるDBファイルの正しい使い方

    はじめに Androidアプリケーションを作成する上でSQLiteを使用してデータベースを扱うことは多々あります。データの永続化や検索といった処理を容易に実装することができるので、多くのアプリケーションで使用されています。しかし、AndroidにはSQLiteを使用するための方法が以下のようにいくつか用意され、それぞれファイル作成時のパーミッションの挙動が異なっています。 SQLiteDatabase#openOrCreateDatabaseを使用して作成する Context#openOrCreateDatabaseを使用して作成する SQLiteOpenHelperクラスを使用して作成する もし、開発者がこれら方法の挙動を十分に理解していない場合、知らずのうちに脆弱性を作り込んでしまいます。 実際に、いくつかのアプリケーションではSQLiteDatabase#openOrCreateDa

    AndroidアプリにおけるDBファイルの正しい使い方
  • 【Delphi】 SQLite に正規表現関数を追加してみる

    こんにちは。FenrirFS 開発担当の福満です。 今日は Delphi を使って SQLite 用の拡張を作成し、正規表現関数を追加してみたいと思います。 ソースコードとコンパイル済 DLL は こちら からダウンロードしてご利用いただけます。 * ご利用に際しては自己責任にてお願いいたします。 * 今回作成した DLL は、Delphi XE2 でコンパイルし、 sqlite3.exe で動作確認をしています。 正規表現ライブラリ Delphi の最新版、Delphi XE2 には、正規表現ライブラリ(System.RegularExpressions の TRegEx)が含まれています。 試してみた感じではサードパーティ製のものと比較しても使いやすく、パフォーマンスも優秀なので、今日はこれを使いたいと思います。 TRegEx の使用例は下記の通りです。 var reg :

    【Delphi】 SQLite に正規表現関数を追加してみる
  • スマホ&クラウド時代のデータベース入門

    ソフト開発の世界にスマートフォンとクラウドの波が押し寄せてきています。それらに取り組む際に欠かせないのがデータベースの知識。とりわけAndroidでは軽量データベースの「SQLite」、クラウドサービスのGoogle App Engineでは「Datastore」の知識が欠かせません。 特集では、こうしたデータベースの最新動向を理解し、実際にデータベースを活用したアプリケーションを作って実戦的なノウハウを学びます。データベースなら自信あり!という人もそうでない人も、最新情報をしっかり吸収してください。 目次

    スマホ&クラウド時代のデータベース入門
  • rktSQLite : SQLiteのSQLコマンド CREATE

    新しいテーブルの作成 CREATE [TEMP | TEMPORARY] TABLE テーブル名 ( カラム定義 [, カラム定義]* [, 制約条件]* ) CREATE [TEMP | TEMPORARY] TABLE テーブル名 AS SELECT文 ・カラム定義 名前 [データ型] [[CONSTRAINT 名前] カラム制約条件]* ・データ型 型名 | 型名 ( 数字 ) | 型名 ( 数字 , 数字 ) ・カラム制約条件 NOT NULL [ CONFLICT 句 ] | PRIMARY KEY [ソート順] [ CONFLICT 句 ] | UNIQUE [ CONFLICT 句 ] | CHECK ( 評価式 ) [ CONFLICT 句 ] | DEFAULT 値 ・制約条件 PRIMARY KEY ( 名前 [, 名前]* ) [ CONFLICT 句 ]| UNIQ

  • 手作りiPhoneTracker - すぎゃーんメモ

    これは不気味―iPhoneには過去の位置情報が逐一記録されていることが判明 | TechCrunch Japanという記事が話題に。 iPhoneで取得した位置情報が記録されている、というもの。そのデータを抜き出して可視化するツールが公開されている。 petewarden/iPhoneTracker @ GitHub ソースが公開されているので覗いてみたところ、どうやら"$HOME/Library/Application Support/MobileSync/Backup"以下のファイルにそれらの情報を格納しているsqliteのファイルがあるらしく、そこからすべて抜き出しているらしい。ただBackupディレクトリ以下には無数のファイルがあり、どれがどれか分からない。それを判別するために"Manifest.mbdb", "Manifest.mbdx"というファイルを解析しているようだ。解析方

    手作りiPhoneTracker - すぎゃーんメモ
  • SQLiteで組み込みDB体験

    はじめに そもそもコンピュータのプログラムとは、データの処理を求められるものです。ファイルコンバータなど、単純なプログラムほど、そうした傾向がはっきり現れます。複雑なデータ処理の実現は、プログラマの腕の見せ所でもありますが、自前で不慣れな複雑なデータ構造を実装して、バグに悩まされた経験はありませんか? 1日でサクっと作ってしまう予定が3日になってしまったり、開発の後期になってバグが顕在化したり、なかなか思い通りにはいかないものです。 その一方で、複雑なデータ処理を行うために、データベース(以下、DB)を使うことが一般的になりました。多くのプログラムが、DBと通信して処理を行うように作られています。しかし、一般的なDBは、サービスを提供するプロセスとして実装されているので、ちょっとした用途のために、DBをインストールして運用するのは、ムダに大袈裟に思えてしまいます。 複雑なデータ処理にはDB

    SQLiteで組み込みDB体験
  • Curlのオフライン機能とSQLiteを使って「停止しないシステム」を作る

    はじめに 最近ではWebブラウザやWebアプリケーションを通じて業務を行うことが増えています。一方、その頻度が高まっていくことにより、ネットワーク障害、あるいは出張先でネットワークに接続できない環境といった、いつも使用しているデータにアクセスできない場合でも、業務に支障が出ない対策が求められています。働く場所や状況を問わず、業務システムにアクセスできる態勢を整える解決策の1つに「オフライン・アプリケーション」があります。 「オフライン・アプリケーション」はネットワークに接続できる際に一括でクライアントアプリケーションにデータをダウンロードしてしまい、そのデータをもとに作業を行った後、再びネットワークを通じてデータをアップロードする仕組みのアプリケーションです。常にネットワークに接続しておく必要がないため文字通りオフライン環境で作業ができ、またクライアント側のマシンリソースが使えるため、処理

    Curlのオフライン機能とSQLiteを使って「停止しないシステム」を作る
  • Adobe AIR製のSQLite管理·The SQLite Sorcerer MOONGIFT

    The SQLite SorcererはAdobe AIR製のフリーウェア。SQLiteを使えばデータベースを用意する手間もなくすぐにデータ管理がはじめられる。SQLもきちんとサポートしているのでデータが大量になったら格的なデータベースに移行することも容易だ。 Adobe AIRでSQLiteを管理 そんなSQLiteを管理するツールは多々あるが、ローカルにあるファイルを管理したければAdobe AIRで作られたThe SQLite Sorcererが面白いそうだ。一通りのデータ操作に加え、トリガーなどもThe SQLite Sorcerer上で作成できるようになっている。 The SQLite Sorcererはテーブルの作成、フィールドの追加/編集、データのメンテナンスまでこなすことができる。さらにビューを作ったり、トリガーの作成も可能だ。暗号化にも対応し、解析を行う機能もある。ほと

    Adobe AIR製のSQLite管理·The SQLite Sorcerer MOONGIFT
  • DBD::SQLiteの入出力をちゃんと考えてみる - 日曜プログラマのそゞろ事

    普段から「binmode STDOUT => ":encoding(cp932)";」をよく使うので、なんとかならないかやってみました。 やってみればちゃんと出来るものです。 基的には、Perlの内部形式の考え方をおさらいする形になった。 プログラムで扱う前にdecode、出力するときはencodeする。 それは、標準入出力だろうが、データベースだろうが、同じ扱い、ということ。 SQLiteはutf8の入出力が(少なくともver3.6.13では)可能のようだ。 まずは出力の時、データベースに渡すステートメントは「Encode::encode_utf8」してから出力する。 そして入力の時、つまり、データベースからデータを取る時は、とって来た後に「Encode::decode_utf8」する。 イメージは下の図。 今回は出力だけなのでSTDINは使っていないが、binmode S

  • SQLiteを使ってみる!(パート2) - 小池啓仁 ヒロヒト応援ブログ By はてな

    前回のをencode/decodeを使って書き換えてみました。 『from_toはバイト文字列をバイト文字列に変換するのでよくないです』、とのご指摘もありましたので…。 use strict; use warnings; use DBI; use Encode; use utf8; binmode STDOUT, ':encoding(shiftjis)'; # メモリ上のデータベースへ接続 my $dbh = DBI->connect("dbi:SQLite:dbname=:memory:"); # ディスク上のデータベースへ接続 #my $database = 'test.db'; #my $data_source = "dbi:SQLite:dbname=$database"; #my $dbh = DBI->connect($data_source); my $create_tab

    SQLiteを使ってみる!(パート2) - 小池啓仁 ヒロヒト応援ブログ By はてな