データベース MySQLの基礎 Part2

ここではMySQLの基礎 Part2としてテーブル内のデータの操作(修正、削除、フィールドの追加、フィールド名やデータ型の変更、フィールドの削除)の基本的な命令文を実際に触れていきます。
前回のMySQLの基礎 Part1までで作成したデータベースのテーブルの構造です。
↓ ↓ ↓
データベース MySQLの基礎 Part1

データベースの作成からテーブルの作成、INSERT文でレコードの追加までをやりました。
ここからまたいろいろと操作していこうと思います。
データの修正(UPDATE文)
データの修正にはUPDATE文を使います。
UPDATE [テーブル名] SET [カラム名] = [カラム値] WHERE [条件];
今回のサンプルに置き換えると、
UPDATE users SET email = "i.yamada@yahoo.co.jp" WHERE id = 3;
UPDATEのあとに対象のテーブル名を入力、SETするものはフィールド名(カラム名)がemailの値を「i.yamada@yahoo.co.jp」に、WHEREでどこのレコードなのかを指定、対象はid 3とする。
まとめると、
「テーブル「users」の「id」3の「email」のデータを「i.yamada@yahoo.co.jp」に修正」
という意味になります。

実際にid 3のemailの値が変更されたのが確認できます。
複数のデータを修正する場合は、修正するカラム等をカンマ「,」で区切ります。
UPDATE users SET email = "i.yamada@outlook.com", modified = NOW() WHERE id = 3;

上記の命令はメールをoutlook.comにして、更新した日時「modified」も現在の日時を入れて更新します。
データの削除(DELETE文)
データの削除にはDELETE文を使います。
DELETE FROM [テーブル名] WHERE [条件];
今回のサンプルに置き換えると、
DELETE FROM users WHERE id = 2;
DELETE FROMのあとにテーブル名を入力、WHEREでどのレコードを削除するのかを指定します。
ですので、
「テーブル「users」のid 2のレコードを削除」
となります。

id 2のレコードが削除されたのが確認できます。
フィールドの追加(ALTER文)
テーブルのフィールドは後からでも追加することができます。
追加するときはALTER文を使います。
フィールド追加には、追加する場所によって最後の部分が少しだけ記述が変わります。
//最後の位置に追加
ALTER TABLE [テーブル名] ADD [追加するフィールド名] [データ型];
//先頭に追加
ALTER TABLE [テーブル名] ADD [追加するフィールド名] [データ型] FIRST;
//指定した位置に追加
ALTER TABLE [テーブル名] ADD [追加するフィールド名] [データ型] AFTER [追加する場所];
今回のサンプルに置き換えると、
ALTER TABLE users ADD age INT AFTER email;
ALTER TABLEのあとにテーブル名を入力、ADDのあとに追加するフィールド名「age」とデータ型「INT」として、AFTERのあとにどのフィールドの後に追加するかを指定。
まとめると、
「テーブル「users」のフィールド「email」の後にフィールド「age」を追加」
となります。

フィールド「email」の後に「age」が追加されたのが確認できます。
テーブル内のフィールド名(カラム名)やデータ型を変更
フィールド名やデータ型の変更にはALTER TABLEと一緒にCHANGE文を使います。
ALTER TABLE users CHANGE [変更前フィールド名] [変更後フィールド名] [データ型];
今回のサンプルに置き換えて「name」を「uname」に変更してみます。
フィールド名だけの変更でも変更したフィールドに対してデータ型を指定しなければいけません。
ALTER TABLE users CHANGE name uname VARCHAR(50);

フィールド名が「name」、データ型が「VARCHAR(50)」に変更されているのが確認できます。
フィールドの削除
フィールドの削除にはALTER TABLEと一緒にDROP文を使います。
ALTER TABLE [テーブル名] DROP [削除するフィールド名];
先程追加したばかりですがageのフィールドを削除してみましょう。
ALTER TABLE users DROP age;

emailの下に位置していたageのフィールドが削除されているのが確認できます。
MySQLの基礎 Part1からのINSERT文を含め、SELECT文、UPDATE文、DELETE文、DROP文と生成、読み取り、更新、削除といった基本的な部分が理解できれば大体のことはできるようになります。
まだまだ演算子や条件などを付けた命令もありますので、ちょっとずつ触れて慣れていきましょう。