読者です 読者をやめる 読者になる 読者になる

文系男子が日和るIT開発~IT知識なしで飛び込んだIT企業

文系男子だからIT企業に就職するなんて考えてもみませんでしたが、日和ながら日々くらいついています。

SQLite3入門 テーブル作成Create Tableとテーブル確認方法【VMWareでSQLデータ管理】

VMWare DataBase CentOS

VM WareでCent OSを使用していますが、RDBとしてSQLiteが使用できるようです。

SQLiteは、ファイルでデータ管理を行うタイプで、
軽量のリレーショナルデータベース(RDB)というのが特徴のようです。

こちらを使ってSQLに触れて慣れてみよう、というのが目的です。

当初、筆者もSQLやデータベースというのが苦手(今でも得意ではない!)でしたが、
仕事で触れる機会が多く、初心者レベルはクリアできそう、というスキルレベルです。

ですので、

 

似たような処遇の方や、SQLを使いたい、
RDBMSに触れたいというSQL初心者、MySQL入門者なども
合わせて是非読んでいただけると幸いです。

ここではSQLiteを使用するため、もちろんコマンドや文法的な差異がある点はあしからず。

 

1.データベースへの接続【SQLITE3】

データベースへ接続するには下記構文で接続する。

sqlite3 データベース名

[xxxxx@localhost hogehoge]$ sqlite3 test1.db
SQLite version 3.6.20
Enter ".help" for instructions
Enter SQL statements terminated with a ";"

 

2.テーブル一覧の確認【.table】

接続してすぐ間もないのでテーブルなどはないはずだが、
テーブルの一覧を確認する。

テーブルの一覧の確認方法は、下記コマンドを入力する。

.tables

実際に入力してみるがテーブルが未作成の状態であるため、
入力後にEnterキーを押しても何も表示が返ってこないことが、わかる。
正しい動きです。

sqlite> .tables

sqlite>

 

 3.テーブル作成【CREATE TABLE】

テーブルを作成してみます。
構文は他のRDBMSと類似の構文で下記のような構文となります。

CREATE TABLE  テーブル名  (カラム名1  型,  カラム名2  型、・・・・・) ;

テーブル名やカラム名は、型名と同名は使用できないなどの一部制約はありますので、ご注意ください。

今回は、テーブル名「test_table」にカラムを2つ用意します。
1つ目は、ID(型名Varchar(10))と更新日(up_date、型名date型)とします。

sqlite> create table test_table (id varchar(10) primary key, up_date date);

CREATE TABLE構文にてテーブル作成ができているはずなので、
「.table」コマンドで作成されたテーブル一覧をチェックしてみます。

sqlite> .tables
test_table

確かにテーブルが作成されていることがわかります。

 

4.データの取得【SELECT文】

データの取得にはご存じSELECT文を作成します。

SELECT  取得したいカラム名  from  テーブル名  where 条件文 ;

where句は省略可。

先ほどCREATE TABLEしたテーブル名「test_table」の全レコードをSELECT文で取得します。

sqlite> select * from test_table;
sqlite

データが1レコードも登録されていないため、データの取得件数がありません。

 

5.データ登録【INSERT文】

データの登録はINSERT文を使います。

INSERT  INTO  テーブル名(カラム名1, カラム名2, ・・・) values ('カラム1の値', 'カラム2の値’, ・・・・) ;

ここでは、下記の値を1レコード登録してみます。

ID='1234567890'
up_date=datetime('now') ・・・・現在日時

sqlite> insert into test_table (id, up_date) values ('1234567890', datetime('now'));

全レコードをSELECT文で取得します。

sqlite> select * from test_table;
1234567890|2015-12-27 13:08:57
sqlite>

SELECT結果が返ってきました。

 

 

6.テーブル切断方法【.exit】

.exit

sqlite> .exit
[xxxxx@localhost hogehoge]$

こちらでTerminalに戻れます。

 

作成した作成したデータベースをlsコマンドで見てみると
「test1.db」ファイルが作成されていることがわかります。

[xxxxx@localhost hogehoge]$ ls -la test1.db 
-rwxrwxrwx. 1 root root 3072 Dec 27 05:09 test1.db