MySQLで2つの列の値を交換しますか?
2つの列を交換するには、以下の交換ロジックを適用できます。
-
両方の値を追加して、最初の列に保存します
-
2番目の列から最初の列の値を減算し、それを2番目の列に格納します。
-
更新された2番目の列から最初の列の値を減算し、最初の列に格納します。
上記のルール構造は次のとおりです。最初の列がaで、2番目の列がbであるとします。
1. a = a+b; 2. b = a-b; 3. a = a-b;
次に、2つの列の値を交換するために、上記のルールを適用します。
テーブルを作成します。
mysql> create table SwappingTwoColumnsValueDemo -> ( -> FirstColumnValue int, -> SecondColumnValue int -> ); Query OK, 0 rows affected (0.49 sec)
いくつかのレコードを挿入します。
mysql> insert into SwappingTwoColumnsValueDemo values(10,20),(30,40),(50,60),(70,80),(90,100); Query OK, 5 rows affected (0.19 sec) Records: 5 Duplicates: 0 Warnings: 0
交換する前に列の値を確認します。
mysql> select *from SwappingTwoColumnsValueDemo;
以下は出力です。
+------------------+-------------------+ | FirstColumnValue | SecondColumnValue | +------------------+-------------------+ | 10 | 20 | | 30 | 40 | | 50 | 60 | | 70 | 80 | | 90 | 100 | +------------------+-------------------+ 5 rows in set (0.00 sec)
列の値を交換する構文。
mysql> UPDATE SwappingTwoColumnsValueDemo -> SET FirstColumnValue = FirstColumnValue+SecondColumnValue, -> SecondColumnValue = FirstColumnValue-SecondColumnValue, -> FirstColumnValue = FirstColumnValue-SecondColumnValue; Query OK, 5 rows affected (0.15 sec) Rows matched: 5 Changed: 5 Warnings: 0
列の値が交換されているかどうかを確認します。
mysql> select *from SwappingTwoColumnsValueDemo;
以下は出力です。
+------------------+-------------------+ | FirstColumnValue | SecondColumnValue | +------------------+-------------------+ | 20 | 10 | | 40 | 30 | | 60 | 50 | | 80 | 70 | | 100 | 90 | +------------------+-------------------+ 5 rows in set (0.00 sec)
-
MySQLで列の値をシャッフルしますか?
要素をシャッフルするには、ORDER BY RAND()を使用する必要があります。まずテーブルを作成しましょう- mysql> create table DemoTable1557 -> ( -> SubjectId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> SubjectName varchar(20) -> ); Query OK, 0 rows affected (0.91 sec) 挿入コマンド-を使用して
-
MySQLは空白値の列をNULLに更新します
このために、UPDATEコマンドと一緒にIF()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1601 -> ( -> FirstName varchar(20) , -> LastName varchar(20) -> ); Query OK, 0 rows affected (0.53 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert