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

MySQLのINSERTステートメントでカラム名を指定してデータを挿入する方法

はい、MySQLのINSERTステートメントでカラム名を明示的に指定することは可能です。通常の「INSERT INTO テーブル名 VALUES (...)」構文では値の順序がカラムの定義順と一致している必要がありますが、SET句を使用すると、カラム名と値を直接対応させて挿入できるため、可読性が高く、カラムの順序を意識せずに済むというメリットがあります。

1. テーブルを作成する

まず、サンプル用のテーブルを作成します。

mysql> create table DemoTable674(
    StudentId int,
    StudentFirstName varchar(100),
    StudentLastName varchar(100)
);
Query OK, 0 rows affected (0.82 sec)

これで、学生ID・姓・名の3つのカラムを持つテーブル「DemoTable674」が作成されました。

2. SET句を使ってレコードを挿入する

次に、INSERTコマンドにSET句を組み合わせて、カラム名を指定しながらレコードを挿入していきます。

mysql> insert into DemoTable674 set StudentId=10,StudentFirstName='John',StudentLastName='Smith';
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable674 set StudentId=11,StudentFirstName='Carol',StudentLastName='Taylor';
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable674 set StudentId=12,StudentFirstName='David',StudentLastName='Miller';
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable674 set StudentId=13,StudentFirstName='Chris',StudentLastName='Brown';
Query OK, 1 row affected (0.53 sec)

このように「set カラム名=値」の形式をカンマでつなげることで、どのカラムにどの値を入れるのかが一目瞭然になります。特定のカラムだけに値を設定したい場合にも便利です。

3. SELECT文で登録結果を確認する

SELECT文を実行して、テーブル内のすべてのレコードを表示します。

mysql> select *from DemoTable674;

実行結果は以下の通りです。

+-----------+------------------+-----------------+
| StudentId | StudentFirstName | StudentLastName |
+-----------+------------------+-----------------+
| 10        | John             | Smith           |
| 11        | Carol            | Taylor          |
| 12        | David            | Miller          |
| 13        | Chris            | Brown           |
+-----------+------------------+-----------------+
4 rows in set (0.00 sec)

まとめ

MySQLでは、INSERTステートメントにSET句を組み合わせることで、カラム名を明示的に指定したデータ挿入が可能です。VALUES句を使う従来の方法と比べて、どのカラムに何の値を設定しているかが分かりやすくなり、カラム数が多いテーブルや一部のカラムのみに値を入れたいケースで特に有効です。ぜひ実際の開発でも活用してみてください。

  1. MySQLに日付レコードを挿入する最も簡単な方法は?STR_TO_DATE()関数の使い方を解説

    MySQLで日付レコードを挿入・変換するには?MySQLでは、STR_TO_DATE() 関数を使うことで、文字列として保存された日付データを日付形式に変換できます。以下が基本の構文です。SELECT STR_TO_DATE(yourColumnName, %b %Y) FROM yourTableName;この記事では、実際にテーブルを作成し、「Jan 2018」のような「月 年」形式の文字列データを日付に変換する手順を、具体例とともにわかりやすく解説します。ステップ1:テーブルを作成するまず、サンプル用のテーブルを作成しましょう。ここでは入社年月を格納するカラムを持つテーブルを定義します。

  2. MySQLストアドプロシージャでテーブル名を変更する簡単な方法

    はい、ALTERコマンドとRENAMEを組み合わせることで、MySQLのストアドプロシージャ内でもテーブル名を変更できます。この記事では、実際の手順をサンプルコードとともに段階的に解説します。 1. テーブルの作成 まず、サンプル用のテーブルを作成しましょう。 mysql> create table DemoTable1859 ( Id int ); Query OK, 0 rows affected (0.00 sec) 2. レコードの挿入 INSERTコマンドを使って、テーブルにいくつかのレコードを挿入します。 mysql> insert into