MySQLで列の値にシングルクォートを付けるには?QUOTE()関数の使い方を解説
MySQLのQUOTE()関数を使用すると、列の値にシングルクォート(')を付けて出力することができます。この関数を使う際は、引数として対象の列名を渡す必要があります。
以下では、「Student」テーブルのデータを使って、QUOTE()関数の実際の動作を確認してみましょう。
QUOTE()関数の使用例
mysql> Select Name, ID, QUOTE(Subject)AS Subject from Student; +---------+------+-------------+ | Name | ID | Subject | +---------+------+-------------+ | Gaurav | 1 | 'Computers' | | Aarav | 2 | 'History' | | Harshit | 15 | 'Commerce' | | Gaurav | 20 | 'Computers' | | Yashraj | 21 | 'Math' | +---------+------+-------------+ 5 rows in set (0.00 sec)
このように、QUOTE()関数を通すことで、「Computers」や「History」といった各科目名がシングルクォートで囲まれて表示されていることがわかります。
CONCAT()関数による代替方法
同じ結果は、CONCAT()関数を使っても実現できます。この場合は、シングルクォートを文字列リテラルとして明示的に連結します。
mysql> Select Name, ID, CONCAT('''',Subject,'''')AS Subject from Student;
+---------+------+-------------+
| Name | ID | Subject |
+---------+------+-------------+
| Gaurav | 1 | 'Computers' |
| Aarav | 2 | 'History' |
| Harshit | 15 | 'Commerce' |
| Gaurav | 20 | 'Computers' |
| Yashraj | 21 | 'Math' |
+---------+------+-------------+
5 rows in set (0.00 sec)
CONCAT()関数の場合、シングルクォート自体を表現するためにクォートを重ねる必要があるため、クエリがやや複雑になります。そのため、列の値にシングルクォートを付けるという目的においては、QUOTE()関数の方がはるかにシンプルで使いやすいといえます。また、QUOTE()関数は文字列内の特殊文字を適切にエスケープしてくれるという利点もあります。
-
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で1つのINSERT文を使って列に複数の値を一括挿入する方法
はじめにMySQLでは、1つのINSERT文を繰り返し実行しなくても、単一のクエリだけで同じ列に複数の値を挿入できます。VALUES句の後ろに、挿入したい値をカンマ区切りのタプル(行)として列挙するだけです。この方法はデータベースへの接続回数を減らせるため、大量のデータを登録する際にパフォーマンス面でも大きなメリットがあります。基本構文複数の値を1つの列に挿入する場合の基本構文は以下のとおりです。INSERT INTO テーブル名 VALUES(値1),(値2),...,(値N);このように、各値を丸括弧で囲み、カンマ(,)で区切って並べることで、1回のクエリで複数行をまとめて挿入できます。実