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

MySQLの各行に追加するにはどうすればよいですか?


UPDATEコマンドを使用して、MySQLの各行に値を追加できます。

列が整数の場合を見てみましょう。構文は次のとおりです。

UPDATE yourTableName SET yourIntegerColumnName = yourIntegerColumnName+anyValue;
UPDATE yourTableName SET yourIntegerColumnName = anyValue WHERE yourIntegerColumnName IS NULL;

日付列名に値を追加できます。構文は次のとおりです。

UPDATE yourTableName SET yourDateColumnName = DATEADD(yourDateColumnName,INTERVAL anyIntegerMonth)

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。

mysql> create table addEachRowValue
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Amount int,
   -> ShippingDate date,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.50 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです。

mysql> insert into addEachRowValue(Amount,ShippingDate) values(100,'2019-02-21');
Query OK, 1 row affected (0.15 sec)
mysql> insert into addEachRowValue(Amount,ShippingDate) values(10,'2013-04-22');
Query OK, 1 row affected (0.19 sec)
mysql> insert into addEachRowValue(Amount,ShippingDate) values(110,'2015-10-25');
Query OK, 1 row affected (0.15 sec)
mysql> insert into addEachRowValue(Amount,ShippingDate) values(150,'2016-03-27');
Query OK, 1 row affected (0.29 sec)
mysql> insert into addEachRowValue(Amount,ShippingDate) values(190,'2018-12-29');
Query OK, 1 row affected (0.20 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです。

mysql> select *from addEachRowValue;

出力は次のとおりです。

+----+--------+--------------+
| Id | Amount | ShippingDate |
+----+--------+--------------+
|  1 |    100 | 2019-02-21   |
|  2 |     10 | 2013-04-22   |
|  3 |    110 | 2015-10-25   |
|  4 |    150 | 2016-03-27   |
|  5 |    190 | 2018-12-29   |
+----+--------+--------------+
5 rows in set (0.00 sec)

整数のタイプであるAmount列の各行に値を追加するクエリは次のとおりです。

mysql> update addEachRowValue
   -> set Amount=Amount+20;
Query OK, 5 rows affected (0.85 sec)
Rows matched: 5 Changed: 5 Warnings: 0

これで、[金額]列の更新されたすべての値を確認できます。クエリは次のとおりです。

mysql> select Amount from addEachRowValue;

出力は次のとおりです。

+--------+
| Amount |
+--------+
|    120 |
|     30 |
|    130 |
|    170 |
|    210 |
+--------+
5 rows in set (0.00 sec)

日付列に値を追加するためのクエリは次のとおりです。

mysql> update addEachRowValue
   -> set ShippingDate=adddate(ShippingDate,interval 1 month);
Query OK, 5 rows affected (0.31 sec)
Rows matched: 5 Changed: 5 Warnings: 0

これで、テーブルから日付列の更新されたすべての値を確認できます。クエリは次のとおりです。

mysql> select ShippingDate from addEachRowValue;

出力は次のとおりです。

+--------------+
| ShippingDate |
+--------------+
| 2019-03-21   |
| 2013-05-22   |
| 2015-11-25   |
| 2016-04-27   |
| 2019-01-29   |
+--------------+
5 rows in set (0.00 sec)

  1. 単一のMySQLクエリに列とインデックスを追加するにはどうすればよいですか?

    これにはADDでALTERを使用します。以下は構文です- alter table yourTableName add yourColumnName DATETIME DEFAULT NOW(), add index(yourColumnName); まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Id int NOT NULL AUTO_INCREMENT,    -> Name varchar(100),    -&

  2. MySQLクエリで特定の行を見つける方法は?

    まずテーブルを作成しましょう- mysql> create table DemoTable (    UserId int,    UserName varchar(100) ); Query OK, 0 rows affected (0.66 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(100,'Chris'); Query OK, 1 row affected (0.19 sec) mysql> insert