MySQLでシングルクォートを含むテキストを列の値として挿入・表示する方法
MySQLでアポストロフィ(')を含むテキスト、例えば You've のような文字列を列の値として扱いたい場合は、シングルクォートを適切にエスケープする必要があります。最も簡単な方法は、シングルクォートを2つ連続して記述することです。こうすることで「You''ve」と書いた文字列が「You've」として正しく登録・表示されます。
テーブルの作成
まずは動作確認用のサンプルテーブルを作成します。
mysql> create table DemoTable ( Note text ); Query OK, 0 rows affected (0.57 sec)
シングルクォートを含むレコードの挿入
続いて、INSERT文を使ってアポストロフィを含むレコードを挿入します。ポイントは、シングルクォートの部分を2つのシングルクォート('')で表現している点です。
mysql> insert into DemoTable values('You''ve seen the Taj? When?');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('You''ve visited the US?');
Query OK, 1 row affected (0.16 sec)
レコードの確認
SELECT文ですべてのレコードを表示してみましょう。
mysql> select *from DemoTable;
実行結果は以下のとおりです。「You've」の部分が正しく表示されていることが確認できます。
+---------------------------------+ | Note | +---------------------------------+ | You've seen the Taj? When? | | You've visited the US? | +---------------------------------+ 2 rows in set (0.00 sec)
補足:バックスラッシュによるエスケープ
シングルクォートのエスケープには、バックスラッシュ(\)を使う方法もあります。例えば You\'ve のように記述しても同じ結果が得られます。プロジェクトのコーディング規約や可読性に応じて、使いやすい方法を選択するとよいでしょう。
-
MySQLで列の値と任意のテキストを連結して1つの列に表示する方法
MySQLで列の値とテキストを連結する方法MySQLでは、CONCAT()関数を使用することで、テーブルの列の値と任意のテキストを連結し、結果を1つの列として表示できます。本記事では、サンプルテーブルを作成し、実際に文字列を連結して表示するまでの手順を具体例とともに解説します。1. テーブルの作成まず、テーブルを作成しましょう。mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> );Query OK, 0 rows affected (0.93 sec)こ
-
MySQLで列の値の先頭に000(ゼロ埋め)を追加する方法
MySQLで列の値に000(ゼロ)を追加するには?MySQLで数値の先頭に「000」のようなゼロを追加して表示したい場合は、ZEROFILL属性を使用します。ZEROFILLを指定した列では、設定された表示幅に満たない桁数が自動的に0で埋められます。まず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable1913 ( Code int(4) ZEROFILL AUTO_INCREMENT NOT NULL, PRIMARY KEY(Code) ); Query OK, 0 rows affected (0.00