MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

INSERT()関数を使ってMySQLテーブルの列の値に新しい文字列を挿入する方法

INSERT()関数で列の値に文字列を挿入する基本

MySQLのINSERT()関数を使って、テーブルの特定の列の値に新しい文字列を挿入したい場合は、第1引数(本来は元の文字列を指定する箇所)に列名を指定します。これにより、SELECT文の実行時に各レコードの列の値に対して文字列の挿入が行われます。

INSERT()関数の構文は以下のとおりです。

INSERT(元の文字列, 挿入開始位置, 置き換える文字数, 挿入する文字列)

挿入開始位置は1から始まり、置き換える文字数に0を指定すると、既存の文字を削除せずに指定位置へ文字列を挿入できます。

使用例:year_of_admission列に「/Old」を追加する

例として、Studentテーブルのyear_of_admission列(入学年)の各値に「/Old」という文字列を追加してみましょう。この場合、次のようなクエリを記述します。

mysql> Select INSERT(year_of_admission,5,0,'/Old')As 'Old Admissions' From Student;

+-----------------+
| Old Admissions  |
+-----------------+
| 2001/Old        |
| 2010/Old        |
| 2009/Old        |
| 2017/Old        |
| 2000/Old        |
+-----------------+

5 rows in set (0.00 sec)

上記の出力から、5番目の位置(文字列の末尾)に「/Old」が挿入され、すべての行に対して処理が適用されていることがわかります。なお、ここでは元のテーブルのデータが変更されているわけではなく、表示結果だけが加工されています。

WHERE句と組み合わせて条件を絞る

さらに、WHERE句を組み合わせることで、特定の条件を満たす行だけを対象にすることも可能です。例えば、入学年が2017年より前のレコードのみを表示したい場合は、次のようにクエリを記述します。

mysql> Select INSERT(year_of_admission,5,0,'/Old')As 'Old Admissions' From Student WHERE year_of_admission < '2017';

+----------------+
| Old Admissions |
+----------------+
| 2001/Old        |
| 2010/Old        |
| 2009/Old        |
| 2000/Old        |
+----------------+

4 rows in set (0.00 sec)

ポイントまとめ

  • INSERT()関数の第1引数に列名を指定すると、その列の値を元の文字列として扱える。
  • 第2引数で挿入位置、第3引数で削除する文字数(0なら純粋な挿入)、第4引数で挿入する文字列を指定する。
  • WHERE句と併用すれば、条件に合致する行のみを対象にできる。
  1. MySQLであるテーブルから別のテーブルへINSERT INTOし、特定の列に固定値を設定する方法

    MySQLでは、INSERT INTO ... SELECT文を活用することで、既存テーブルのデータを別のテーブルへコピーしながら、同時に特定の列へ固定値を設定できます。本記事では、実際のSQLクエリ例を通じてその手順をわかりやすく解説します。手順1:元となるテーブルを作成するまず、コピー元となるテーブルを作成します。以下がそのクエリです。mysql> create table insertOneToAnotherTable -> ( -> Value int -> ); Query OK, 0 rows affected (0.60 sec)手

  2. Javaを使ってDATE型の値をMySQLカラムに挿入する方法【PreparedStatement活用】

    はじめに JavaからMySQLのDATE型カラムに日付データを挿入したい場合、PreparedStatementを使用するのが最も安全で推奨される方法です。SQLインジェクション対策にもなり、日付型の変換もスムーズに行えます。 本記事では、Javaプログラムから現在の日付をMySQLテーブルに挿入する手順を、サンプルコード付きでわかりやすく解説します。 1. サンプルテーブルの作成 まず、DATE型のカラム「ArrivalDate」を含むテーブルを作成します。以下はMySQLでの作成例です。 mysql> create table DemoTable( PassengerId