MySQLで特定の行と列に値を挿入(更新)する方法
MySQLで特定の行と列に値を挿入する方法
MySQLでは、すでに存在するレコードの特定の行と列に値を設定(挿入)する場合、UPDATE文を使用します。ここでは、テーブルの作成からデータの挿入、特定のセルの値の更新、結果の確認までの手順を順番に解説します。
1. テーブルを作成する
まず、サンプル用のテーブルを作成しましょう。
mysql> create table DemoTable1569
-> (
-> StudentId varchar(10),
-> StudentName varchar(20)
-> );
Query OK, 0 rows affected (3.05 sec)
2. レコードを挿入する
INSERTコマンドを使って、テーブルにいくつかのレコードを追加します。
mysql> insert into DemoTable1569 values('John_12','John Smith');
Query OK, 1 row affected (0.38 sec)
mysql> insert into DemoTable1569 values('David_321','Carol Taylor');
Query OK, 1 row affected (0.50 sec)
mysql> insert into DemoTable1569 values('David_989','David Miller');
Query OK, 1 row affected (0.24 sec)
3. レコードを表示して確認する
SELECT文ですべてのレコードを表示します。
mysql> select * from DemoTable1569;
実行結果は以下の通りです。
+-----------+--------------+ | StudentId | StudentName | +-----------+--------------+ | John_12 | John Smith | | David_321 | Carol Taylor | | David_989 | David Miller | +-----------+--------------+ 3 rows in set (0.00 sec)
4. 特定の行と列に値を挿入(更新)する
既存レコードの特定の行・列に値を設定するには、WHERE句で対象の行を絞り込んだ上でUPDATE文を実行します。以下の例では、「StudentName」が「Carol Taylor」である行の「StudentId」列の値を「Carol_321」に変更しています。
mysql> update DemoTable1569 set StudentId='Carol_321' where StudentName='Carol Taylor'; Query OK, 1 row affected (0.26 sec) Rows matched: 1 Changed: 1 Warnings: 0
5. 更新結果を確認する
もう一度テーブルのレコードを確認してみましょう。
mysql> select * from DemoTable1569;
実行結果は以下の通りです。「StudentId」の値が正しく更新されていることがわかります。
+-----------+--------------+ | StudentId | StudentName | +-----------+--------------+ | John_12 | John Smith | | Carol_321 | Carol Taylor | | David_989 | David Miller | +-----------+--------------+ 3 rows in set (0.00 sec)
まとめ
新しいレコードとして値を追加する場合はINSERT INTO ... VALUESを、既存レコードの特定の行・列の値を書き換える場合はUPDATE ... SET ... WHEREを使い分けるのが基本です。特にUPDATE文ではWHERE句の指定を忘れるとテーブル内のすべての行が更新されてしまうため、十分に注意してください。
-
MySQLで特定の行から単一の値だけを取得する方法(SELECT INTOの使い方)
MySQLで特定の条件に一致する行から、単一の値だけを変数に取得したい場合は、SELECT ... INTO 変数構文とWHERE句を組み合わせて使用します。この記事では、実際のテーブル作成から値の取得までの手順を順番に解説します。 1. サンプルテーブルを作成する まずは動作確認用のテーブルを作成しましょう。学生ID・氏名・点数を持つシンプルなテーブルを定義します。 mysql> create table DemoTable1896 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName
-
MySQLで列の値から先頭の1文字を取り出し、別の列に挿入する方法
はじめにMySQLである列(カラム)の値から先頭の1文字を取り出し、それを別の列に格納したい場合があります。このようなときに便利なのが LEFT() 関数です。LEFT() 関数は、文字列の左端から指定した文字数だけを抽出することができます。ここでは、実際にテーブルを作成しながら、その手順を順番に解説していきます。1. テーブルを作成するまず、サンプル用のテーブルを作成しましょう。ここでは「FirstLetter」(先頭文字を格納する列)と「Title」(元となる文字列の列)の2つの列を持つテーブルを定義します。mysql> create table DemoTable2036