MySQLのテーブルに値を追加する方法:INSERT文の基本と使い方
INSERT文とは
MySQLのテーブルに新しいデータ(値)を追加するには、INSERT文を使用します。すべての列に対応する値を指定して挿入する場合、基本的な構文は以下のとおりです。
基本構文
INSERT INTO table_name VALUES(value1, value2, ...);
この構文では、テーブル作成時に定義した列の順序どおりに値を記述する必要があります。順序が異なるとエラーになったり、意図しないデータが登録されたりするため注意しましょう。
使用例
例として、「Item_id」「Item_name」「Item_rate」という3つの列を持つ「Stock」というテーブルを想定します。次のクエリを実行すると、各列に値を追加できます。
mysql> INSERT INTO Stock VALUES(1, 'HistoryBook', 250); Query OK, 1 row affected (0.07 sec) mysql> INSERT INTO Stock VALUES(2, 'DBMSBook', 280); Query OK, 1 row affected (0.10 sec)
データが正しく挿入されたかどうかは、SELECT文で確認できます。
mysql> SELECT * FROM Stock; +---------+-------------+-----------+ | item_id | Item_name | Item_rate | +---------+-------------+-----------+ | 1 | HistoryBook | 250 | | 2 | DBMSBook | 280 | +---------+-------------+-----------+ 2 rows in set (0.00 sec)
補足:列名を明示的に指定する書き方
より安全な書き方として、INSERT文で列名を明示的に指定する方法もあります。この方法なら列の順序に依存せず、特定の列だけに値を設定することも可能です。
INSERT INTO Stock(item_id, Item_name, Item_rate) VALUES(3, 'SQLBook', 300);
実務では、テーブル構造の変更にも強く、可読性も向上するため、列名を明示する書き方が推奨されます。
-
MySQLでブール型(BOOLEAN)フィールドを追加する方法を徹底解説
MySQLには厳密な意味での「ブール型」は存在せず、BOOLやBOOLEANとして定義した場合でも、内部的にはすべてTINYINT(1)として扱われます。つまり、tinyint(1)、bool、booleanの3つは完全なシノニム(同義語)です。MySQLにおける真偽値の扱いMySQLでは、0が偽(false)、0以外の数値が真(true)として解釈されます。PHPと同様に、0以外の任意の数値もtrueとして扱われる点に注意しましょう。実務上は、可読性を高めるためにtrue/falseリテラルを使うか、規約として0と1のみを使用するのが一般的です。BOOL型カラムを持つテーブルを作成するそれで
-
MySQLテーブルのカラム名を取得する方法【SHOW・DESCRIBE活用ガイド】
SHOWコマンドでカラム名を取得するMySQLでは、SHOWコマンドを使うことで、テーブルのカラム(列)名を簡単に確認できます。カラム名だけでなく、データ型やNULL許可、キー情報なども一緒に取得できるのが特徴です。基本構文show columns from テーブル名;サンプルテーブルの作成まず、動作確認用に「DemoTable」というテーブルを作成します。mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(