MySQLでQUOTE()関数を使って列の値をシングルクォートで囲み、テーブルを更新する方法
MySQLでは、QUOTE()関数を使用することで、列の値をシングルクォート(一重引用符)で囲むことができます。さらに、このQUOTE()関数をUPDATE句と組み合わせれば、既存のテーブルの値を「引用符で囲まれた状態」に一括で更新することも可能です。
使い方は非常にシンプルで、QUOTE()関数の引数として、対象となる列名を指定するだけです。これにより、指定した列のすべての行に対して、値が自動的にシングルクォートで囲まれます。
以下の例では、「examination_btech」というテーブルの「Course」列の値をシングルクォートで囲んだうえで、テーブル全体を更新しています。
実行例
mysql> UPDATE examination_btech SET Course = QUOTE(Course); Query OK, 10 rows affected (0.05 sec) mysql> Select * from examination_btech; +--------+----------+----------+ | RollNo | Name | Course | +--------+----------+----------+ | 1 | Rahul | 'B.Tech' | | 2 | Raman | 'B.Tech' | | 3 | Sahil | 'B.Tech' | | 4 | Shalini | 'B.Tech' | | 5 | Pankaj | 'B.Tech' | | 6 | Mohan | 'B.Tech' | | 7 | Yash | 'B.Tech' | | 8 | digvijay | 'B.Tech' | | 9 | Gurdas | 'B.Tech' | | 10 | Preeti | 'B.Tech' | +--------+----------+----------+ 10 rows in set (0.00 sec)
結果の解説
UPDATE文を実行すると、10行すべてが正常に更新されました(0.05秒)。その後、SELECT文でテーブルの内容を確認すると、「Course」列の各値が 'B.Tech' のようにシングルクォートで囲まれていることがわかります。
補足:QUOTE()関数の特徴
QUOTE()関数は単に引用符を付けるだけでなく、文字列内に含まれる特殊文字(シングルクォートやバックスラッシュなど)を自動的にエスケープしてくれる点も便利です。そのため、SQL文を動的に生成する際の安全な文字列リテラル化にも活用できます。
-
MySQLで月ごとにテーブルの値を合計する方法を解説
MySQLでテーブル内の値を月ごとに合計したい場合は、EXTRACT()関数を使用します。この関数を使うことで、日付から特定の月の情報を抽出できます。例えば、年に関係なく1月のすべての価格を合計したい場合などに便利です。サンプルテーブルの作成まず、デモ用のテーブルを作成しましょう。mysql> create table DemoTable1415 -> ( -> ProductPurchaseDate date, -> ProductPrice int -> ); Query OK, 0 rows affected (0.53 se
-
MySQLのGROUP_CONCAT・CONCAT・DISTINCTを使って単一カラムの値を引用符で囲む方法
MySQLで単一カラム内のカンマ区切りの値を、それぞれ引用符(シングルクォート)で囲んだ形式に変換したい場合は、GROUP_CONCAT()とREPLACE()、さらにCONCAT()を組み合わせることで実現できます。ここでは、実際の例を使って手順を詳しく解説します。 テーブルの作成 まずはサンプルとなるテーブルを作成しましょう。 mysql> create table DemoTable1799 ( EmployeeId varchar(20) ); Query OK, 0 rows affected