- Home ›
- MySQLの使い方 ›
- MySQLの基本構文
文字列や数値の値の入力方法
MySQL において文字列や数値などの値を入力する場合のルールについて解説します。
(Last modified: )
文字列の入力方法
文字列を記述する場合はシングルクォーテーション(')またはダブルクオーテーショ(")で囲んで記述します。
'文字列'
"文字列"
どちらを使っても構いませんが、比較的シングルクォーテーションを使われているケースが多いように思います。
select 'Hello', "Hello";
文字列のエスケープ処理
キーボードから入力できない文字を文字列の中で表したい場合や、特別な意味を持つ文字を入力したい場合にはエスケープ処理が必要です。次のような種類があります。
\0 ASCII 0(NUL)文字 \' 単一引用符 (')文字 \" 二重引用符(")文字 \b バックスペース文字 \n 改行文字(LF) \r 復帰改行文字 \t タブ文字 \Z ASCII 26 (Control-Z) \\ '\'文字そのもの \% '%' 文字 \_ '_' 文字
※ \% と \_ は LIKE 式の中でワイルドカードとして使われる文字のため、 LIKE 式に対するパターン文字列の中でのみエスケープ処理が必要です。
改行文字やタブなどを文字列の中に含める場合には '\n' や '\t' を文字列の中に記述して下さい。
select 'hello\nbye';
文字列をシングルクォーテーションで囲った場合に、文字列の中でシングルクォーテーションを使用したい場合にエスケープ処理を行って下さい。同じようにダブルクォーテーションで囲った場合に、文字列の中でダブルクォーテーションを使用したい場合もエスケープ処理を行って下さい。
\' 単一引用符 (')文字 \" 二重引用符(")文字
select 'Book\'s title', "mysql is \"relational\" db";
なおこの場合は \' の代わりに '' 、 \" の代わりに "" と記述することもできます。
select 'Book''s title', "mysql is ""relational"" db";
文字列をシングルクォーテーションで囲った場合に、文字列の中でダブルクォーテーションを使用したい場合やその逆の場合にはエスケープ処理は必要ありません。
select "Book's title", 'mysql is "relational" db';
数値の入力方法
数値を記述する場合は、文字列とは異なりそのまま数値を記述して下さい。
100
13.254
また正負を表す '-' や '+' を記述することができます。
-32
-0.332
+14
浮動小数点数については指数形式でも記述することができます。
1.414e+5
8.7E-3
試してみます。
select 100, 13.254, -32, -0.9, +14, 1.41e+5, 8.7E-3;
16進数の入力方法
16 進数をそのまま記述した場合、文字コードとして扱われ文字に変換されます。
select 0x41, 0x42;
※ 本当は 0x41 は A 、 0x42 は B と表示されるはずですが、そのまま 0x41 と 0x42 と表示されました。理由が現状分からなかったので、分かり次第更新します。
16 進数を数値として扱うには 2 つ方法があります。 1 つ目は数値との演算を行う方法です。
select 0x41 + 0;
MySQL では必要に応じて文字列から数値へ変換したり、数値から文字列へ変換を行います。数値との演算(今回は 0 を加算)を行うと 16 進数は数値として処理されます。 0 を加えても結果は変わりませんので結果的に 16 進数が表す数値を取得します。
もう一つはキャスト関数を使う方法です。次のように使います。
select CAST(0x41 AS UNSIGNED);
CAST 関数は値を特定の型としてキャストします。今回の場合は符号なし整数に変換しています。
TRUEとFALSE
MySQL では定数として TRUE と FALSE が定義されており、それぞれ数値の 1 と 0 が設定されています。
select TRUE, FALSE;
なお定数は大文字小文字は区別されませんので true や false と記述することもできます。
NULL
NULL はデータが存在しないことを表す値です。大文字と小文字のどちらも使用できます。 NULL はデータが存在しないということなので、文字列における空文字 '' や数値における 0 とは異なります。
select 0, '', NULL;
-- --
MySQL で文字列や数値などの値を入力する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。