\r\n\r\n
SQLiteのDB Browserは、Linux上でSQLiteデータベースを閲覧・編集することができます。これらのデータベースファイルを設計、作成、編集し、他のアプリケーションの内部構造を見ることができます。ここでは、SQLiteのGUIの使い方を説明します。
SQLiteデータベースライブラリおよびツールは、オープンソースの構造化照会言語(SQL)データベースプロジェクトとして大きな成功を収めています。実際、世界で最も広く導入されているデータベースエンジンであると言えるほどです。
SQLiteは、2000年に初めてリリースされて以来、絶対的に驚異的な成長を遂げています。すべてのiPhoneとAndroid**、そしてwindows 10やMacのコンピュータに搭載されています。また、Chrome、Firefox、Safariなどのすべてのインターネットブラウザや、数え切れないほどのアプリケーションに搭載されています。
SQLiteデータベースの驚異的なインパクトは、そのアーキテクチャに起因しています。他のアプリケーションにマージ(開発者の言葉ではリンク)される、高速で軽量なライブラリです。データベースエンジンは、製品に不可欠なものとなります。つまり、MySQL、MariaDB、Microsoft SQL serverなどの外部SQLデータベースサーバーを用意する必要がない。
SQLiteには、データベースを操作するためのコマンドラインツールもありますが、成功したのはこのライブラリのおかげです。強力で自己充足的なデータベースエンジンをアプリケーションに隠蔽することで、多くの問題を解決することができます。アプリケーションのインストールルーチンを簡素化し、アプリケーションに必要な最小限のハードウェアを削減することができます。
また、SQLiteはデータベースのテーブル、インデックス、スキーマを1つのクロスプラットフォームファイルで管理するため、データベース全体を別のコンピュータに移動させることも可能です。また、ファイルをコピーすることで、異なるOSを搭載したコンピューターに移動することも可能です。
実際、SQLiteのデータベースファイル形式は非常に人気があり、米国議会図書館がデータの長期保存に推奨する数少ない形式の一つとなっています。
しかし、SQLiteは開発者用のライブラリであるため、フロントエンド、つまりグラフィカルユーザーインターフェースを持たない。ユーザーインターフェースを提供するのは、このライブラリを利用するアプリケーションである。コマンドラインユーティリティはインタラクティブモードで実行できますが、それでもGUIではありません。
SQLiteのdbbrowser(DB4S)は、その条件にぴったりです。これもオープンソースプロジェクトで開発されたビジュアルツールで、SQLiteデータベースをGUIで作成・操作することができます。
SQLite用のdbbrowserは2003年から(あるバージョンでは)存在し、何度か名前の変更を繰り返しています。以前は「SQLite Browser」と呼ばれていましたが、混乱を招いたため、「SQLite Browser」に変更しました。SQLiteチームが書いたものだと思われていたため、DB4Sに関する機能要求やサポートの問い合わせをSQLiteに転送していたのです。
これに伴い、SQLite BrowserはDB Browser for SQLiteに名称が変更されました。今でも、あちこちで旧名称を目にすることがあります。実際、プロジェクトのウェブサイトでは今でも「sqlitebrowser」がドメインとして使われており、DB4Sをインストールする際にも旧名称が使われる。
DB4Sなら、できる。
UbuntuにDB4Sをインストールするには、以下のコマンドを使用します(インストールは旧名称のままですのでご注意ください)。
sudo apt-get install sqlitebrowserFedoraの場合は、次のように入力します。
sudo dnf install sqlitebrowserマンガロールでは、パックマンを使う。
sudo pacman -Sy sqlitebrowserDB4Sの起動時には、データベースの読み込みは行いません。データのインポートとデータベースのテーブル定義の2つの方法と、独自のデータベースを作成する方法について見ていきます。
SQL形式のデータベースダンプファイルが提供されたり、送付されたりすることもあります。データベースを再作成し、そのデータを ** 持ってくるために必要な手順が含まれています。
テーブル定義やデータのインポートによく使われるもう一つの形式が、CSV(Comma Separated Values)形式です。データ生成サイト(データベースのテストデータなど)を利用して、練習用のダミーデータを生成することができます。このデータは、SQLやCSVにエクスポートすることができます。
以下は、現地で作成したSQLファイルです。それをエクスポートした後、編集し、SQLiteに必要な行をファイルの先頭に追加しました。
BEGIN TRANSACTION;その後、ファイルを保存しました。DB4Sでは、File>Import>databasefromsql fileをクリックします。
ファイル選択ダイアログが開き、SQLファイルを選択することができます。この例では、"database"_dump.sqlという名前で、ホームディレクトリのルートに配置されています。
ファイルを選択したら、「開く」をクリックすると、ファイル保存のダイアログが表示されます。ここで、新しいデータベースに名前を付け、どこに保存するかを決定する必要があります。これを「"our" geekbase.sqlite3 database」と名付け、ホームディレクトリに保存します。
準備ができたら、[保存]をクリックします。インポート元のSQLファイルを特定し、新しいデータベースの名前を決めたので、インポート処理を開始できます。これが完了すると、以下のような通知ダイアログが表示されます。
データベースにテーブルとデータを追加したので、変更を保存するよう促されるので、「保存」をクリックして変更を保存します。
DB4Sのメインウィンドウにデータベースの構造が表示されるようになりました。
SQLファイルには1つのテーブル定義しかないのに、2つのテーブルが作成されました。これは、"id "フィールドが自動インクリメントのフィールドとして定義されており、新しいレコードがデータベースに追加されるたびに自動的に追加されるためである。SQLiteは自動インクリメントのフィールドを追跡するためのテーブルを作成します。
Browse Data」タブをクリックすると、新しく追加されたレコードが表示されます。
もちろん、データベースの力は、記録を検索し、抽出する能力にある。SQLが使えるデータベースの場合、SQL言語を使ってこれを行う。まずは、「ExecuteSQL」タブを使用します。
以下のSQLコマンドを追加しました。
SELECT * FROM account_details WHERE last_name LIKE "%ll%" ORDER BY stateこれは、苗字に「l」が2つある人を検索し、結果を州ごとに並べ替えたものです。青い矢印(「再生」ボタンのように見える)をクリックすると、SQLコマンドが実行されます。その結果は下のペインに表示されます。
苗字に「l」が2つある記録は4件あり、アリゾナからウィスコンシンまで州ごとにアルファベット順に並んでいます。
また、適切なCSVファイルからテーブルをインポートすることも可能です。最も便利な方法は、CSVファイルのテーブルフィールド名をテキストの1行目として使用することです。以下は、CSVファイルの一部分です。
最初の行には、firstu name, lastu name, created, email, state and IDというフィールド名があり、他の行には、テーブルに追加される各レコードのデータ値が格納されます。ファイル形式が変更されただけで、以前と同じデータです。
CSVデータをインポートする場合、インポートするものを用意するために、空のデータベースを作成する必要があります。そのためには、ツールバーの「新規データベース」をクリックします。
ファイル保存]ダイアログボックスが表示されます。新しいデータベースに名前を付け、保存先を決めます。これを "私たちの「.sqlite3」の見つけ方 "と名付け、ホームディレクトリに保存しています。
テーブル定義の編集]ダイアログボックスが表示されたら、[キャンセル]をクリックします。DB4Sのメインウィンドウに戻り、File > Import > Tables from CSV fileをクリックします。ファイル選択ダイアログが表示され、CSVファイルを選択することができます。
この例では、"user.csv "という名前で、ホームディレクトリのルートに配置されています。開く」をクリックすると、DB4SがCSVデータをどのように解釈するかを示すプレビューダイアログが表示されます。
最初の行に列名」の隣にあるチェックボックスが選択されていることを確認すれば、編集可能です
OK」をクリックします(上の画像の画面が閉じます)。データがインポートされ、問題がなければ、「インポートの完了」ダイアログボックスが表示されますので、「OK」をクリックします。
Browse Data」をクリックすると、インポートしたデータが表示されます。
しかし、もう一つ小さな調整が必要です。「データベース構造」タブをクリックし、テーブルの名前を選択してから、ツールバーの「テーブルの修正」をクリックしてください。
テーブル定義の編集」ダイアログボックスで、「id」フィールドの「AI」(オートインクリメント)チェックボックスをオンにします。
PK」(主キー)のチェックボックスが自動的に選択されますので、「OK」をクリックします。これにより、"id "フィールドがオートインクリメントに設定されます。これで、データベースに新しいレコードを追加して、正しく動作していることを確認することができます。
executesql "タブをクリックし、上のペインに以下のSQLを入力します("id "以外のフィールドに値を指定していることに注意してください)。
INSERT INTO "users" ("first_name","last_name","created","email","state") VALUES ('Dave','McKay','12/08/2020','[email protected]','Idaho');青い矢印(再生ボタンのようなもの)をクリックすると、SQLコマンドが実行されます。Browse Data」をクリックし、一番下までスクロールします。新しく追加されたレコードが表示されるはずです。このレコードには、以前の最高値の「id」よりも1つ高い「id」フィールドが自動的に設定されています。
インポートする SQL または CVS ファイルがない場合、手動でデータベースを作成する必要があります。まず、「New Database」をクリックすると、ファイル保存ダイアログが表示されます。新しいデータベースの名前と保存場所を入力します。
ファイル名を "geeksrock.sqlite3 "とし、"Documents "ディレクトリに保存しています。データベースに名前を付け、保存する場所に移動したら、"Save "をクリックします。
選択した内容を確認するメッセージが表示されたら、もう一度「保存」をクリックします。
テーブル定義の編集 "ダイアログボックスが表示されます。新しいテーブルに名前を付け(ここでは "eagles "と呼ぶ)、"Add Field "をクリックする。ここで、フィールドの名前を入力し、そのフィールドに含まれる情報の種類を「タイプ」ドロップダウンメニューから選択することができます。
鷲の名前を入れるテキストフィールドと、翼長を入れる実数(浮動小数点)の数値フィールドを追加しました。
各フィールドの横にあるチェックボックスやその他のオプションで、以下の動作を追加することができます。
データベースが作成され、最初のテーブルが追加されたら、いくつかのレコードを追加することができます。
executesql "タブで,sqlinsert文を使って何度かテーブルに行を追加しています.
また、「Browse Data」タブで新しいレコードを表示することも可能です。
ユーザーインターフェースから新しいレコードを追加する場合は、ツールバーの「新規レコード」をクリックします。そうすれば、SQLを理解しなくても、新しいレコードの値を入力することができます。
また、DB4Sを利用して、他のアプリケーションのSQLiteデータベースを閲覧することも可能です。他のデータベースの構造や内容を調べることは、有益(あるいは単に興味深い)である。ただし、他のアプリケーションが所有するデータベースを変更すると、そのアプリケーションの動作に悪影響を及ぼす可能性があるため、変更しないことが重要です。
Firefoxで作成・管理されているSQLiteデータベースを見てみましょう。Firefoxは、「Firefox」というディレクトリにファイルを保存します。このディレクトリは、あなたのホームディレクトリの中にある「.mozilla」という隠しディレクトリの中にあります。.mozilla "をホームディレクトリにコピーしてください。
私たちのテストマシンでは、firefoxsqliteデータベースは次の場所にありました: "home/dave/.mozilla/Firefox/vpvuy438.default release"; あなたのデータベースも同様の場所にあります。
biscuit.sqliteデータベースを開きたいので、そのファイルをハイライトして「開く」をクリックします。データベースを開くと、そのテーブル構造、フィールド定義、データを調べることができます。
ここでは、GoogleとYouTubeのクッキーを幅広く見ることができます。
データベースをエクスポートする(「ファイル」→「エクスポート」→「データベースをSQLファイルへ」をクリック)ことも有効です。データベースのSQLダンプを見ることで、SQL文で示されるデータベース全体のスキーマを見ることができます。