MySQLで列の値をランダムな値に更新する方法
MySQLで列をランダムな値で更新するには?
MySQLである列(カラム)の値をランダムな値に一括更新したい場合、ROUND()関数とRAND()関数を組み合わせて使うのが簡単です。基本的な構文は以下のとおりです。
update yourTableName set yourColumnName = round(1+rand()*100);
この構文では、RAND()が0以上1未満の乱数を返し、それに100を掛けて1を足した後、ROUND()で四捨五入することで、1から100までの間のランダムな整数が生成されます。
それでは、実際の例を見ていきましょう。まずはテーブルを作成します。
テーブルの作成
mysql> create table DemoTable
(
Number int
);
Query OK, 0 rows affected (0.46 sec)レコードの挿入
次に、INSERTコマンドを使ってテーブルにレコードを挿入します。
mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable values(100); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values(80); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable values(100000); Query OK, 1 row affected (0.39 sec) mysql> insert into DemoTable values(987); Query OK, 1 row affected (0.16 sec)
レコードの確認
SELECT文ですべてのレコードを表示してみましょう。
mysql> select *from DemoTable;
実行すると、次のような出力が得られます。
+--------+ | Number | +--------+ | 10 | | 100 | | 80 | | 100000 | | 987 | +--------+ 5 rows in set (0.00 sec)
ランダムな値で列を更新するクエリ
ここで、列の値をランダムな値で更新するためのクエリを実行します。
mysql> update DemoTable set Number=round(1+rand()*100); Query OK, 5 rows affected (0.46 sec) Rows matched: 5 Changed: 5 Warnings: 0
UPDATE文の実行後、もう一度テーブルの内容を確認してみます。
mysql> select *from DemoTable;
結果は以下のようになります。すべての行が1~100の範囲内のランダムな整数に書き換えられているのがわかります。
+--------+ | Number | +--------+ | 33 | | 88 | | 41 | | 39 | | 70 | +--------+ 5 rows in set (0.00 sec)
ポイントまとめ
RAND()は行ごとに評価されるため、UPDATE文を実行すると各行に異なるランダム値が割り当てられます。生成される値の範囲を変更したい場合は、「1+rand()*100」の部分にある係数や加算値を調整してください。たとえば「1+rand()*999」にすれば1~1000の範囲になります。なお、WHERE句を指定しなければテーブル内の全行が更新対象となるため、実行前には十分注意しましょう。
-
MySQLで列の値の先頭に文字列を追加(連結)する方法
MySQLでは、列の値の先頭に文字列を追加したい場合、CONCAT関数を使用します。CONCAT関数はUPDATE文と組み合わせることで、既存のデータを一括して更新できます。 CONCAT関数とは CONCAT関数は、複数の文字列を連結するための関数です。「CONCAT(文字列1, 文字列2, ...)」のように引数を指定すると、それらを順番に結合した結果を返します。この特性を利用することで、列の値の前や後ろに任意の文字列を付加できます。 サンプルテーブルの作成 まず、動作確認用のテーブルを作成します。 mysql> create table PrependStringOnCOlumn
-
JavaでMySQLデータベースのレコードを更新する方法【UPDATE文の使い方を実例で解説】
MySQLデータベースのテーブルに格納されたデータを更新するには、UPDATEコマンドを使用します。本記事では、UPDATE文の基本構文から、実際にテーブルを作成し、Java(JDBC)経由でレコードを更新するまでの一連の手順を、サンプルコード付きで詳しく解説します。 UPDATE文の基本構文 MySQLで既存のデータを更新する場合、以下の構文を使用します。 update テーブル名 set カラム名1 = 値1, ....N where 条件; where句で条件を指定しないと、テーブル内のすべてのレコードが更新されてしまうため注意が必要です。 ステップ1:テーブルの作成 まずは更新用のサン