データベースの作成
MySQL内にデータベースを作成してみます。
ターミナルで以下を実行します。
create database school;
「create database」は文字通り「データベースを作成する」という命令で、次の「school」は任意のデータベース名になります。
これで、以下の状態になりました。
データベースを作成したら、ターミナルで以下を実行します。
use school;
文字通り「schoolというデータベースを使う」、言い換えれば「schoolというデータベースの中で作業する」という意味になります。
データベースの中で行う作業(=この後でてくる「create table」「show tables」「show fields」「alter table」「insert」「select」「update」「delete」などのコマンド)を、「SQL(Structured Query Language:データベースを操作するプログラミング言語)」と言います。
SQLを実行することで、データベースの作成、テーブルの作成、レコードの作成、レコードの取得などを行うことができます。
テーブルの作成
データベース内にテーブルを作成します。
ターミナルで以下のSQLを実行します。
(※SQLは大文字と小文字、どちらで実行しても構いません)
create table student
(
number int comment ‘生徒の番号’,
name varchar(32) comment ‘生徒の名前’,
create_datetime datetime comment ‘登録日時’,
update_datetime datetime comment ‘更新日時’
);
「create table」は文字通り「テーブルを作成する」という命令で、次の「student」は任意のテーブル名になります。
テーブル内にどのようなカラムを持つかを、括弧()内で指定しています。
ここでは「number」「name」「create_datetime」「update_datetime」という4つのカラムを作成しています。これらを「カラム名」と言います。
カラム名の後の「int」「varchar」「datetime」はカラムのデータ型です。「int」は数値、「varchar」は文字列、「datetime」は日時のデータをそれぞれもつことができます。
vacharの後の「(32)」はサイズです。32文字までのデータをもつことができる、という意味になります。
「comment ‘メモ’」を指定することで「このカラムはどういうカラムか」というメモを残すことができます。「comment ‘メモ’」は省略することができます。
ターミナルで以下を実行すると、作成したテーブルを確認することができます。
show tables;
文字通り「テーブルの一覧を表示する」という意味になります。
ここでは、作成した「student」というテーブルが見つかりました。
ターミナルで以下を実行すると、テーブルの構造も見ることができます。
show fields from student;
「show fields」は「各フィールド(の詳細)を表示する」という命令で、次の「from student」でテーブルを指定しています(ここでは「student」テーブルを指定しています)。
「create table」で指定したカラム名(Fieldの箇所)、データ型(Typeの箇所)で作成されていることが分かります。
カラムの追加
作成したstudentテーブルに「age」すなわち年齢を表すカラムを追加します。
ターミナルで以下のSQLを実行します。
alter table student add age int default ’20’;
「alter table student」は文字通り「studentテーブルを変更する」という意味です。
次の「add age int」は「データ型がintのageというカラムを追加する」という意味です。
次の「default ’20’」は「デフォルト値は20にする」という意味です。これは、「データを登録するときにageのデータを指定しなかったら、デフォルトで20という値で登録しておく」という意味になります。
テーブルの構造を見てみます。
カラム「age」が追加されていることが分かります。デフォルト値として「Default」の箇所に「20」も指定されています。
カラムの削除
先ほど追加した「age」というカラムを削除してみます。
ターミナルで以下のSQLを実行します。
alter table student drop column age;
「alter table student」は文字通り「studentテーブルを変更する」という意味です。
次の「drop column age」は「ageというカラムを削除する」という意味です。
テーブルの構造を見てみます。
カラム「age」が削除されていることが分かります。
本節の説明は以上になります。