MySQLにおいて文字列や数値などの値を入力する場合のルールについて説明していきます。
まず、データベースに格納されているデータを取り出すために「SELECT文」という構文を使います。
SLECT文の基本構文は以下の通りです。
SELECT 取得したいカラム名
FROM 対象とするテーブル名;
このようにSELECT文は「SELECT句」と「FROM句」に分けることができます。
句とはSQL文を構成する要素のことです。
SELECT句には対象とするテーブルに存在するカラム名(列名)や式を指定します。
複数のカラムを取得したい場合は「,(カンマ)」で区切って指定します。
FROM句にはデータベースのどのテーブルからデータを取り出すのか、その対象のテーブル名を指定します。
・文字列の入力方法
文字列を記述する場合はシングルクォーテーション(‘)もしくはダブルクォーテーション(“)で囲んで記述します。
※どちらを使っても構いませんが、シングルクォーテーションやダブルクォーテーションで囲わないとエラーになります。
‘文字列’
“文字列”
・数値の入力方法
数値を記述する場合は、文字列とは異なりそのまま記述してください。
10
100
3.21
また正負を表す-や+を記述することができます。
-0.1
+15
・文の最後に「;」をつける
日本語の文なら句点「。」、英語の文ならピリオド「.」をつけるように、
SQLでは文の区切り文字としてセミコロン「;」を使います。
・1カラム1行にする
SELECTやFROMで指定するカラム(列)やテーブル名は1行に詰め込みすぎると読みづらくなるため1行に1つまでとします。
(SELECT文のあと改行してFROM文を記述する)
・予約語/関数は大文字にする
予約語とはSQLであらかじめ使うことが決まっている言葉です。
(例)SELECT,FROM,WHEREなど
予約語/関数を大文字にすることで、SQLで決められている構文なのか、
ユーザーが指定した項目(テーブル名、カラム名など)なのかが一目瞭然になります。
・SQLの特定の予約語の後は改行する
全ての予約語ではなく、SQLの構文構造を決める予約語を対象とします。
基本的には以下の予約語です。
SELECT
FROM
WHERE
GROUP BY
ORDER BY
SELECTやWHEREの中で利用される関数(COUNTやBETWEENなど)については
同じ予約語でも改行の必要はありません。改行が増えると逆に読みづらくなるため。
・スペースでインデントを揃える
インデントとは文章の行頭に空白を挿入して先頭の文字を右に押しやること。
構文構造がわかればよいのでここでは半角スペース2つでのインデントを推奨します。
・TRUEとFALSE
MySQLでは定数としてTRUEとFALSEが定義されていて、それぞれ1と0が設定されています。
定数は大文字小文字は区別されませんのでtrueやfalseと記述することもできます。
・NULLとは
NULLはデータが存在しないことを表す値です。大文字と小文字どちらも使用できます。
NULLはデータが存在しないということなので、文字列における’’や数字の0とは異なります。
・文字列のエスケープ処理
エスケープ処理とは簡単に言うと文字列の処理のことです。
キーボードから入力できない文字を文字列の中であらわしたい場合や、特別な意味を持つ文字を入力したい場合にはエスケープ処理が必要です。エスケープ処理には以下のような種類があります。
\0 | ASCII 0(NUL)文字 |
\’ | 単一引用符(’)文字 |
\” | 二重引用符(”)文字 |
\b | バックスペース文字 |
\n | 改行文字 |
\r | 復帰改行文字 |
\t | タブ文字 |
\Z | ASCII 26 |
\\ | \文字そのもの |
\% | %文字そのもの |
\_ | _ 文字 |
改行文字やタブなどを文字列の中に含める場合は\nや\tを文字列の中に記述します。
・16進数の入力方法
MySQLでは必要に応じて文字列から数値へ変換したり、数値から文字列へ変換を行います。
数値との演算を行うと16進数は数値として処理されます。0を加えても結果は変わらないので結果的に16進数があらわす数値を取得します。
以上、記述に関するルールでした。