desc
がOracleにあったように SQLite のtableの構造をどうやって見ることができますか?
データベースファイルでsqlite3
ユーティリティを起動し、その特殊なドットコマンドを使用します。
.tables
はテーブルをリストします.schema [tablename]
は1つまたは複数のテーブルのCREATEステートメントを表示します他にもたくさんの便利な組み込みドットコマンドがあります - http://www.sqlite.org/sqlite.html のsection Specialにあるドキュメントを見てください。 sqlite3へのコマンド 。
例:
sqlite> entropy:~/Library/Mail>sqlite3 Envelope\ Index
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
addresses ews_folders subjects
alarms feeds threads
associations mailboxes todo_notes
attachments messages todos
calendars properties todos_deleted_log
events recipients todos_server_snapshot
sqlite> .schema alarms
CREATE TABLE alarms (ROWID INTEGER PRIMARY KEY AUTOINCREMENT, alarm_id,
todo INTEGER, flags INTEGER, offset_days INTEGER,
reminder_date INTEGER, time INTEGER, argument,
unrecognized_data BLOB);
CREATE INDEX alarm_id_index ON alarms(alarm_id);
CREATE INDEX alarm_todo_index ON alarms(todo);
また、SQLiteはデータベース自体のスキーマとテーブルに関するすべての情報をsqlite_masterという名前のマジックテーブルに保存します。また、そのテーブルに対して通常のSQLクエリを実行することもできます。例えば、上の文書リンクは、通常のSQLコマンドを使用して、.schema
および.tables
コマンドの動作を派生させる方法を示しています( データベーススキーマの照会 を参照)。
PRAGMA table_info(table_name);
これは、コマンドラインと接続されたデータベースに対して実行されたときの両方で機能します。
詳細と例へのリンク。ありがとう SQLiteプラグマコマンド
あなたはsqlite_master
を問い合わせることができます
SELECT sql FROM sqlite_master WHERE name='foo';
これはcreate table
SQLステートメントを返します。例えば:
$ sqlite3 mydb.sqlite
sqlite> create table foo (id int primary key, name varchar(10));
sqlite> select sql from sqlite_master where name='foo';
CREATE TABLE foo (id int primary key, name varchar(10))
sqlite> .schema foo
CREATE TABLE foo (id int primary key, name varchar(10));
sqlite> pragma table_info(foo)
0|id|int|0||1
1|name|varchar(10)|0||0
.schema TableName
TableNameはテーブルの名前です。
実行することでスキーマを見ることができるはずです
.schema <table>
次のコマンドを入力して構造を取得します。
.schema <tableName>
あなたがPHPを使っているなら、あなたはそれをこのようにすることができます:
<?php
$dbname = 'base.db';
$db = new SQLite3($dbname);
$sturturequery = $db->query("SELECT sql FROM sqlite_master WHERE name='foo'");
$table = $sturturequery->fetchArray();
echo '<pre>' . $table['sql'] . '</pre>';
$db->close();
?>
データベースの構造を明確に表示するには、 SQLiteマネージャ というFirefoxアドオンを使用できます。