スッキリわかるSQL入門〜2日目〜

◆SQLに共通するルール
・文の途中に改行を入れることができる。
・行の先頭や行の途中に半角の空白を入れることができる。
・末尾の;(セミコロン)で終了を表す。 
・--(ハイフン2つ)以降は行末まで無視(コメント)。
・/* から*/まではコメントになり無視される。
・予約語(keyword。  予め使われている、または使われそうな語句「SELECT」や「WHERE」)を記述する際は、大文字と小文字の区別はない。
・予約語のテーブル名や列名に利用することができない。

*SQL分を見やすくするための改行や空白。ただうちで使ってるSQLめちゃくちゃ長くて5画面分くらいで一行とかザラだらか個人的に見やすくもなんとも・・・。慣れると違って見えるんでしょうかね。。。
コメント?一番最初に全体の説明あれば良い方かな?

予約語の大文字と小文字の区別はなくても小文字で書いてる人見たことないの気のせいかな。正直一々大文字にするの面倒だし、テーブル名とかも大文字だから読みづらさが加速してる。だってみんな英語勉強してた時は最初の一文字以外基本小文字でしょ?
多分設計書のどっかにでも書いてあるんでしょう!

◆リテラルの種類
リテラル=定数
・「 ' 」シングルクォーテーション記号でくくられていない場合は数値情報
・くくると基本的に文字列情報
・'2020-01-01'のような一定の形式で記述されたリテラルは日付情報

◆列とデータ型
・データ型の各列には、データ型が指定されている。
・列にはデータ型で指定された種類の情報しか格納することはできない。
・利用可能なデータ型は、DBMS製品によって異なる。
代表的なデータ型(データの種類)
・数値
  整数値 INTEGER型
  小数 DECIMAL型、REAL型
・文字列
  固定長 CHAR型
  可変長 VARCHAR型
・日付と時刻
      DATETIME型、DATE型、TIME型

レコードの挿入
insert into テーブル名 values ( カラム1に入れる値, カラム2に入れる値, ~~);
挿入しようとしたデータ型(数値に文字列など)と違う場合、処理を中断するか強制的に変換(数値部分だけを切り取るなど)して格納。
CHAR型とVARCHAR型の違い
両方とも桁数指定できるが、CHAR型は必ず指定の桁数(足りない場合右側に空白が追加されて格納)になる。VARCHAR型は指定以下ならそれに合わせた容量が確保される。
例)
CHAR(5) SQL□□
VARCHAR(5) SQL
CHAR型は郵便番号や社員番号など桁数が決まってるもの、
VARCHAR型は氏名や書籍名など桁数が決まってないものに向いている。

日付に関してはDBMSに依存しやすく、
・どのような記述を許すのか
・データ型の名前や制度
・日付に関して利用できる命令(関数)の種類
が異なるため詳細は各DBMS製品マニュアルを要確認。

◆基本のSQL文
前述のSELECT、UPDATED、INSERT、DELETEの4つでほとんどのデータ操作が可能。
4つでDML(Data Manipulation Language)と総称される。
google先生曰く「データ操作言語」とのこと。まんまである。

*私はDataとDateの違いが高頻度わからなくなる。Dataはデータ、Dateは日付の事なので入力時には注意。日付はDayteとかにしてくれたらまだ区別がついたのに世界は私に優しくない。データは発音そのままなんですけど、英語特有のaとeがぐっちゃになる現象に名前をつけたい。


この記事が気に入ったらサポートをしてみませんか?