auの日記

プログラミング初心者の日記。(auはハンドルネームです)

SQLiteのテーブルスキーマ

auです。
今回は、sqlの用語の、テーブルスキーマについて調べました。

テーブルスキーマについて、名前は知っていましたが、どういう意味なのか知らなかったので、この機会に調べてみようと思いました。

テーブルスキーマとは

スキーマは、「schema」と書き、テーブルをどのようなCREATE文で書いたかを確認することができます。確認方法あ、2パターンあります。
1つ目は、「sqlite_master」をselect文で書く方法です。モードはlineにしています。

.mode line
sqlite> select * from sqlite_master;
    type = table
    name = book
tbl_name = book
rootpage = 2
     sql = CREATE TABLE book(id, name)

    type = table
    name = book2
tbl_name = book2
rootpage = 3
     sql = CREATE TABLE book2(id integer, name text)

    type = table
    name = customer
tbl_name = customer
rootpage = 5
     sql = CREATE TABLE customer(id int, name text, address text)

テーブル名や、カラムが確認できます。

.schemaを使う

「.schema」と入力しても確認することができます。

.schema
CREATE TABLE book(id, name);
CREATE TABLE book2(id integer, name text);
CREATE TABLE customer(id int, name text, address text);

こちらは自分が書いた文を見ることができました。

insertモードでは、自分がいれたデータを確認できたのに対して、schemaでは、自分が作成したテーブルを確認することができることがわかりました。