テーブルに保存するデータの操作
ターミナルを再起動した場合は以下のコマンドからデータベースを選択した場面まで進む。
・mysqlに接続
1 |
mysql -u root
|
・データベースを選択
1 |
USE sqltest;
|
データを登録してみる
まず、データの操作として最も基本的なのは、データの登録である。
データの登録にはINSERT
文を使用する。
INSERT文
テーブルにデータを登録するためのSQL文。INSERT
文は全てのカラムに値を入れるか否かで、以下のように文法が変化する。
・全てのカラムに値を入れる場合
1 |
INSERT INTO テーブル名 VALUES(値1, 値2, 値3);
|
・特定のカラムのみに値を入れる場合
実際にこの2つの方法を用いてデータの登録を行ってみる。
まずは全てのカラムに値を入れる場合から。
mysqlで以下のSQL文を実行
1 |
INSERT INTO goods VALUES(1, "ペン", 120);
|
以下のように表示がされれば正常にSQL文が実行されている。
本当にデータが登録されているかも確認する。
1 |
SELECT * FROM goods;
|
SELECT *
という、SQL文が出てきた。これに関しては次で扱うので、いまはテーブルにあるレコードを全て表示するSQL文、と考えて進む。
以下のように、idに1、nameにペン、priceに120が入力され、データが登録されたことが確認できる。
続いて、特定のカラムのみに値を入れる場合を見てみる。
1 |
INSERT INTO goods(id, name) VALUES(2, "消しゴム");
|
以下のように表示がされれば正常にSQL文が実行されている。
もう一度以下のSQL文を実行し、どのようにデータが追加されたかを確認。
1 |
SELECT * FROM goods;
|
実行結果を見てみると、以下のように指定したカラムにデータが追加されていることが分かる。
指定していないカラムについてはNULL
が入っている。
これはカラムの設定で、デフォルト値というものがNULL
に設定されているから。
デフォルト値
デフォルト値とは、レコードを生成するときにカラムに入れるものを指定しなかった場合、そのカラムに入る値のこと。
このデフォルト値はSHOW columns FROM goods;
を実行したときの結果にも記載がされていた。
デフォルト値を設定していないカラムのデフォルト値はNULL
となる。
そのため、今回追加したカラムもデフォルト値はNULL
になっており、先ほど追加したレコードのpriceカラムにもNULL
が挿入されたということ。
データを更新してみる
UPDATE文
データの更新にはUPDATE
文を使用。
UPDATE
文を使用する際は、以下のようにテーブル名、変更内容、条件を指定する。
1 |
UPDATE テーブル名 SET 変更内容 WHERE 条件;
|
実際に、先ほど追加したidが2のレコードを、priceが100となるように更新してみる。
1 |
UPDATE goods SET price = 100 WHERE id = 2;
|
以下のように表示がされれば正常にSQL文が実行されている。
以下のSQL文を実行し、テーブルの状況を確認。
1 |
SELECT * FROM goods;
|
以下のように、idが2のレコードのpriceが100に更新されている。
データを削除してみる
DELETE文
テーブルにあるデータを削除するためにはDELETE
文を使用。
DELETE
文を使用する際は以下のような文法でSQL文を記述する。
1 |
DELETE FROM テーブル名 WHERE 条件;
|
実際にidが2のレコードを削除してみる。
1 |
DELETE FROM goods WHERE id = 2;
|
以下のように表示がされれば正常にSQL文が実行されている。
DELETE
文の実行が出来たら再度、以下のSQL文を実行してテーブルの状況を確認。
1 |
SELECT * FROM goods;
|
すると、以下のようにidが2の行がなくなり、レコードが1つとなっている。
これでデータが削除できたことが確認できた。