SQLとは
SQLとはStructured Query Languageの略で、データベースとやりとりする言語です。
SQLには、データベースや表などを定義する「データ定義言語」と「データ操作言語」
の2つにわかれます。
表の作成
表を定義するには「CREATE TABLE」を使います。
代表的なカラムのタイプとしては、
・INTEGER
負の値も含んだ整数値を格納する。
・CHAR
最大バイト数を指定して文字列を格納する。
格納するデータが指定したものよりも少ない時は、空白で埋められる。
・VARCHAR
最大バイト数を指定して文字列を格納する点は、CHARと一緒だが、
格納するデータが指定したものよりも小さい場合は、その長さに合わせたデータ領域で格納されるという違いがある。
・TEXT
長文の保存に使用する。
しかし、CHAR・VARCHARに比べて検索スピードは遅くなる。
具体的な例:Citysという表を作る。項目は、Number・Region・Cityの3つ。
CREATE TABLE Citys(
Number INTEGER,
Region VARCHAR(225),
City VARCHAR(225)
);
実行したらこのようになってるはず
Number | Region | City |
表に書き込む
表に書き込むには、「INSERT INTO」を使います。
値を作った表の項目の順番で入れていく方法と、項目を指定して値を入れる2通りがあります。
具体的な例:上で作ったCitysに値を作った項目の順番で入れていく
INSERT INTO Citys VALUES(
1,'kanntou','Yokohama'
);
具体的な例:Citysに項目を指定して値を入れる
INSERT INTO Citys(Number,City)
VALUES(2,'Oosaka');
この場合は、2行目のRegionのところには既定値(ここではNULL)が入る。
実行したら、このようになってるはず
Number | Region | City |
1 | kanntou | Yokohama |
2 | NULL | Oosaka |
表の表示
表を表示するには、「SELECT」を使います。
「SELECT * FROM 表の名前」で、表の中身を一覧表示する。
*のところに、列の項目の名前(ここでは、Number,Region,City)を入れると
その項目だけが表示されます。このように、表から特定の列を取り出すことを
「射影」といいます。
↓表の一覧表示
SELECT * FROM Citys
射影
SELECT City FROM Citys
表に登録されているCityの列だけ表示される。
射影は列の取り出しでしたが、行の取り出しは「選択」といいます。
「選択」をするには、「WHERE」を使う必要があります。
表の一覧表示の後ろにWHERE 取り出したい列の中の要素をいれれば、選択を行うことができます。
具体的な例:Citysからkanntouの行だけ取り出す
SELECT * FROM Citys WHERE Region='kanntou';
実行結果
1 | kanntou | Yokohama |
上のように文字列を指定する場合には、''(シングルクォーテーション)で囲む必要があるので、そこだけ注意!
ちなみにWHEREの後には比較演算子・論理式も使えます。INTEGERのときだけに限りますが。
WHERE Number < 4とか。等しくないときは、<>を使います。
他のもWHEREの後に続くのは色々あるのですが、今度気が向いたらそれについても記事として書いていきます。
表のアップデート
表のアップデートには、「UPDATE」を使います。
具体的な例:Citysの3行目のNULLをkinnkiにアップデートします。
UPDATE Citys
SET Region='kinnki'
WHERE Number=2;
少しわかりにくいかもしれませんが、SETのところで列を決めてkinnkiと書き換えています。そして、WHEREで書き換える行を指定しています。
UFOキャッチャーみたいな感じですね。
表の削除
表の削除には、「DELETE」を使います。
DELETE FROM CitysでCitysは削除されます。
今回は、軽くSQLについてやってきましたが、本当に軽くこの記事には収まりきらないほどにSQLはもっと奥深いです。
時間がないのでこんな浅い感じになってしまって申し訳ないです。
でも、これだけ覚えてればデータベースを少しは触れると思います。
ここまで、付き合っていただきありがとうございました。
おつかれさまです。
では、また。