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)
-
単一の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), -&
-
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