SQLite3入門 テーブル作成Create Tableとテーブル確認方法【VMWareでSQLデータ管理】
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
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文で取得します。
データが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
こちらでTerminalに戻れます。
作成した作成したデータベースをlsコマンドで見てみると
「test1.db」ファイルが作成されていることがわかります。
[xxxxx@localhost hogehoge]$ ls -la test1.db
-rwxrwxrwx. 1 root root 3072 Dec 27 05:09 test1.db