データ型
この考え方は、後々の使いやすさを大きく左右しそうな気がしますね。
適切なデータ容量に抑えられるか、計算・検索が容易であるかとか…?
一章までに出てきたデータ型のみメモします。
数値型
計算の対象になりそうなデータは、数値型を使うのでしょうか。
- INT ... INTEGER
整数であれば、負の数でも扱えます。
- DEC ... DECIMAL
小数点以下を含んだ表現をする数値が適しています。
DEC(10,6)とした場合、小数点未満を6桁、合計上限10桁を意味します。
文字列型
計算対象でなければ、数値でも文字列型でいいと思います。
格納・取得する際に空白がどう扱われるかも違ったりするようです。
- CHAR ... CHARACTER 固定長文字列
CAHR(7)のように数値を入れて、文字数を指定します。0から255までの文字数を指定できます。
- VARCHAR ... CHARACTER VARYING 可変長文字列
こちらでは、カッコでバイト数を指定します。0から65535バイトまで可能です。
- BLOB
最大65535バイトまでの、大量の文字、音声、画像を格納できます。
日付・時刻型
- DATE
YYYY-MM-DDという形で、日付を格納します。
- TIME
HH:MM:SSという形で、時間を格納します。
- DATETIME/TIMESTAMP
両者とも、YYYY-MM-DD HH:MM:SSという形式で格納します。
ただし年については、前者が1000から9999まで対応しているのに対し、後者は1970から2037までです。
そして、後者は命令文実行時の日付時間データを自動的に格納してくれるようです。
似たような文字型があったり、しかし微妙に特徴が違ったりしますね。
参考にさせていただきました。