データベース(特にRDBMS)を操作するために使われる言語。
標準規格はあるものの、各RDMBSの独自仕様も多い。
関係データベース管理システム(Relational Database Management System)。関係モデルに基づいてデータを持つ。
超簡単に言うと、excelで作るような表形式(テーブルと呼ばれる)でデータを持つということ。
表形式なので、データを取得する場合は行と列を選択する。
RDBMSでは列を列名、行を主キー(Primary Key、よくPKと略される)の値で選択する。
主キーとは、データが絶対に重複しない列のこと。
出席番号、社員番号、ログインIDなんかをイメージすると良いかも。
主な理由は大量のデータを取り扱えて性能がいいから。
プログラム中で処理とデータを分けることはよくあるのだけど、大量にデータがあるとCSVみたいなテキストファイルでデータを管理するのは無理。
RDMBSは各ソフトウェアによって微妙な差異が結構ある。
性能を気にする場合などは各RDBMSの仕様を確認しよう。
SQLを使うためには、まずDBをインストール。
各SQL文はOracleを使う前提で書いてるので、他のDBを使う場合は型を適当に読み替えてください(><)
まずvipperidとvippernameを持つvipperというテーブルを作ってみる。
CREATE TABLE vipper( vipperid INT(9, 0) PRIMARY KEY, vippername VARCHAR(20) );
CREATE Table [テーブル名](列名 型, 列名 型, ・・・)でテーブルを作ることができる。
vipperidはINT型で最大9桁、vippernameは文字列型で最大20文字。
「PRIMARY KEY」と後ろに書かれているvipperidが主キー。
データはINSERT文を使って挿入する。
INSERT INTO vipper(vipperid, vippername) VALUES(1, 'ブーン'); INSERT INTO vipper(vipperid, vippername) VALUES(2, 'vipper'); INSERT INTO vipper(vipperid, vippername) VALUES(3, '(^ω^)')
INSERT INTO [テーブル名](列名1, 列名2, ・・・) VALUES(列名1の値, 列名2の値, ・・・);
文字列は「'」で囲む必要あり。他のデータを入れる場合は主キーのvipperidがかぶらないようにね。主キーがかぶったデータを入れようとすると・・・?
データ挿入後はこんな感じ。
vipperid | vippername |
1 | ブーン |
2 | vipper |
3 | (^ω^) |
SELECT文を使ってデータを参照
テーブルの全てのデータを参照
SELECT * FROM vipper;
取得データ
vipperid | vippername |
1 | ブーン |
2 | vipper |
3 | (^ω^) |
指定した列だけ参照(この場合はvippernameだけ)
SELECT vippername FROM vipper;
取得データ
vippername |
ブーン |
vipper |
(^ω^) |
特定の行だけを参照
SELECT vipperid, vippername FROM vipper WHERE vipperid = 1;
取得データ
vipperid | vippername |
1 | ブーン |
UPDATE文を使って更新
UPDATE vipper SET vippername = 'vippest' where vipperid = 2;
データ更新後
vipperid | vippername |
1 | ブーン |
2 | vippest |
3 | (^ω^) |
※注意 whereで更新する行を絞らないとvipperテーブルの全データが更新される!
DELETE文を使って削除
DELETE FROM vipper WHERE vipperid = 3;
データ削除後
vipperid | vippername |
1 | ブーン |
2 | vippest |
※注意 DELETE文もWHEREで行を絞らないと、全データ削除される!