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

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句の指定を忘れるとテーブル内のすべての行が更新されてしまうため、十分に注意してください。

  1. MySQLで特定の行から単一の値だけを取得する方法(SELECT INTOの使い方)

    MySQLで特定の条件に一致する行から、単一の値だけを変数に取得したい場合は、SELECT ... INTO 変数構文とWHERE句を組み合わせて使用します。この記事では、実際のテーブル作成から値の取得までの手順を順番に解説します。 1. サンプルテーブルを作成する まずは動作確認用のテーブルを作成しましょう。学生ID・氏名・点数を持つシンプルなテーブルを定義します。 mysql> create table DemoTable1896 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName

  2. MySQLで列の値から先頭の1文字を取り出し、別の列に挿入する方法

    はじめにMySQLである列(カラム)の値から先頭の1文字を取り出し、それを別の列に格納したい場合があります。このようなときに便利なのが LEFT() 関数です。LEFT() 関数は、文字列の左端から指定した文字数だけを抽出することができます。ここでは、実際にテーブルを作成しながら、その手順を順番に解説していきます。1. テーブルを作成するまず、サンプル用のテーブルを作成しましょう。ここでは「FirstLetter」(先頭文字を格納する列)と「Title」(元となる文字列の列)の2つの列を持つテーブルを定義します。mysql> create table DemoTable2036