8-4. MySQL入門④テーブルや列とデータ型
データ型の続きです。
今回は、列の変更や削除の方法を勉強します。
1. テーブルとデータ型
1-1. テーブルへのデータの追加
1-2. テーブル名の変更
1-3. 列のデータ型の変更
1-4. 新しい列の追加
1-5. 列名の変更
1-6. 列やテーブルの削除
1-1. テーブルへのデータの追加
データにテーブルを追加するには「INSERTコマンド」を使用します。
実際に、以下のデータをclassicsテーブルに追加してみます。
INSERT INTO classics(author, title, type, year)
VALUES('Mark Twain','The Adventures of Tom Sawyer','Fiction','1876');
INSERT INTO classics(author, title, type, year)
VALUES('Jane Austen','Pride and Prejudice','Fiction','1811');
INSERT INTO classics(author, title, type, year)
VALUES('Charles Darwin','The Origin of Species','Non-Fiction','1856');
INSERT INTO classics(author, title, type, year)
VALUES('Charles Dickens','The Old Curiosity Shop','Fiction','1841');
INSERT INTO classics(author, title, type, year)
VALUES('William Shakespeare','Romeo and Juliet','Play','1594');
すべて入力したら、テーブルの内容を表示する次のコマンドを実行します。
SELECT * FROM classics;
結果はこう。
INSERT DATE classicsという部分は、MySQLに対し、後続のデータをどこに挿入するのかを伝えます。
つづくカッコ内では、4つの列名author,title,type,yearをコンマで区切って指定しています。
これはMySQLに対して、4つの列名がデータを挿入するフィールドということを伝えています。
VALUESの部分は、後ろに続く、4つのストリングをコンマで区切って指定しています。これは前に指定した4つの列に挿入する4つの値をMySQLに与える働きを持っています。
1-2. テーブル名の変更
テーブル名を変更するときは、「ALTERコマンド」を使用します。
classicsの名前をpre1900に変更してみます。
1-3. 列のデータ型の変更
列のデータ型を変更する際も、「ALTERコマンド」を使用しますが、この場合には「MODIFYキーワード」を合わせて使用します。
たとえば、year列のデータ型をCHAR(4)からSMALLINTに変更してみます。
1-4. 新しい列の追加
さらに列を追加しようとなった場合を見てみます。pageという新しい列を追加します。
ALTER TABLE classics ADD pages SMALLINT UNSIGNED;
と入力し、DESCRIBEコマンドでMySQLに更新したテーブルの表示を求めると以下のように変更されていることがわかります。
1-5. 列名の変更
列名を変更する際も、やはり「A}TERコマンド」を使用します。typeと名付けた列をcategoryに変えてみます。
ALTER TABLE classics CHANGE type category VARCHAR(16);
と入力し、DESCRIBEコマンドでMySQLに更新したテーブルの表示を求めると以下のように変更されていることがわかります。
コマンドの最後にVARCHAR(16)を加えている点に注意です。これは、「CHANGEキーワード」にはデータ型を指定する必要があり、データ型を変更しない場合でも指定しなくてはいけません。
1-6. 列やテーブルの削除
列の削除には、「DROPキーワード」を使用します。テーブルの削除にも使用します。
ALTER TABLE classics DROP pages;
DROP TABLE classics;
※DROPをすると完全に消えてしまうので細心の注意が必要です
今日のまとめ。
追加はINSERT、変更はALTER、削除はDROP、確認はDESCRIBEということを学んだ。
いじょー