SQLの基礎について学ぶ#02
0.accountテーブル
「SQLの基礎について学ぶ#01」に引き続き、accountテーブルでSQLに共通する基本ルールなどをまとめていきます!!
accountテーブル
date(日付) | name(項目名) | price(金額) |
---|---|---|
2020-12-03 | お弁当 | 9000 |
2021-01-03 | 飲み代 | 3000 |
2021-05-22 | 電車代 | 3000 |
2021-03-14 | 日用品 | 2000 |
2021-04-02 | ローン | 4000 |
2021-01-12 | 医療費 | 3000 |
1. 基本ルール#01
・文の途中に改行を入れることができる
・行の先頭や途中に半角の空白を挿入できる
/* SELECT文を一行で表示 */
SELECT price FROM account WHERE price > 3000
/* SELECT文を改行して表示 */
SELECT price
FROM account /* 先頭に半角の空白*/
WHERE price > 3000; /* 末尾のセミコロンで終了を表す */
👉改行を長いSQL文で用いることで予約語(キーワード)が一目で分かるようになる。
2. 基本ルール#02
・SELECTやWHEREなどの命令語は「予約語」である
・「予約語」の表記は大文字、小文字の区別がない
・テーブル名や列名に「予約語」を使用することはできない
3. データ型とリテラル
代表的なデータ型
データ種別 | 区分 | 代表的なデータ型名 |
---|---|---|
数値 | 整数 | INTEGER型 |
数値 | 小数 | DECIMAL型、REAL型 |
文字列 | 固定長 | CHAR型 |
文字列 | 可変長 | VARCHAR型 |
日付・時刻 | - | DATETIME型、DATE型、TIME型 |
▶利用可能なデータ型は利用するDBMSによって異なるが、数値型、文字列型、日付型は使用されている。 | ||
▶テーブルの各列にはデータ型が必ず指定されている。 | ||
▶日付型は各DBMS間で比較的違いが大きいため注意が必要である。 | ||
▶固定長はあらかじめ格納できる文字列の領域が指定されている。 | ||
(例:CHAR(10)=10バイトの領域を確保、7バイトの文字列が格納されると残り3バイトは空白で格納される。) | ||
▶可変長は格納された文字列に応じた領域が確保される。 | ||
(例:VARCHAR(10)=10バイトの領域を確保、7バイトの文字列が格納されても残り3バイトは空白で格納されない。) |
リテラルの記述に関するルール
SQL文中に書き込まれたデータそのものをリテラルと呼ぶ。
以下のSQL文ではVLAUEのあとに続く()に囲まれたもの。
INSERT INTO account VALUES ('2021-04-04', 'お茶', 900)
/* 900が「'」シングルクォーテーションで囲まれていない */
▶「'」でくくらずに記述されたリテラルは数値情報で扱われる。
▶「'」でくくられて記述されたリテラルは文字列情報で扱われる。
▶「'」でくくられ、'2021-04-04'のようにある形式で記述されたリテラルは日付情報で扱われる。
まとめ
今回はここまでです!SQLについて引き続き学び、また次回投稿していきたいと思います!!