【webアプリ初学者必見】MySQLでデータベースを作成する

今までPHPだけの学習をしてきましたが、そろそろ本格的なwebアプリケーションを作成したくなってきました。

そこで重要なのが、SQLの知識ですね。

よくプログラミング初学者は、SQLの知識がなく、現場に入ったときにとても苦労する、という話しを耳にします。

そこで、今回の記事は、純粋なSQLでデータベースを作る方法を解説します。

フレームワークで用意された各言語の関数を使用すると、何も分からずにデータベースに保存されます。

フレームワークに用意された暗黙知を、今日で簡単に理解していきましょう。

また、後ほど少し触れます通り、SQLにはいくつか種類がありますが、一般的に使用されているMySQLで今回は記事を書いていきます。

今日の記事は、

  • 現場でSQLを書けと言われたが、全く分からない
  • フレームワークに使用されているSQLを簡単に理解したい
  • MySQLの基本を学びたい

そんな方におすすめの記事です。

それでは、やっていきましょう。

※参考

mysqlのversion  8.0.22

実際にSQLを書いてよう

一緒に手を動かして書いてみてくださいね。

データベースの作成から保存・削除までを5つのステップに分けて紹介します。

1. データベースを作成する

create database item;

create文を使用して、データベースを作成します。

sql文で注意が必要なのは、文末に「;」(セミコロン)が必要になることです。

2. テーブルを作成する

create table items (
    id int,
    name varchar(255),
    price int
);

こちらも同様、create文を使用してテーブルを作成します。

今回は、idをinteger型nameをvarchar型で255文字までpriceをinteger型で3つのカラムを作成しています。

それぞれの型の詳細については、MYSQLのリファレンスにある第11章 データ型をご参考ください。 

3. 各カラムに値を保存する

ここまででデータベースとテーブル、カラムが揃いました。

つまり、データベースに値を保存する準備ができました。

それでは、早速データベースに値を保存していきましょう。

 insert into items set id=1, name='リンゴ', price=200;

みなさん保存はできましたか?

insert文を使用して、データベースに値を保存します。

SQLも書けるようになると、とても楽しいですよね。

世の中にあるwebサービスのデータベース処理がわかるようになる、と考えるととても楽しく学習できますよね。

4. 保存したデータを確認する

select * from items;

select文を使用すると、テーブルに保存された値を見ることができます。

5. 保存した値を削除する

データベースの作成〜保存内容の確認までを足早に確認してきました。

フレームワークでどんなSQLが走っているかを思い浮かべながら復習すると、より理解が深まります。

みなさんもぜひもう一度試してみてください。

最後に、保存した値を削除してみましょう。

 delete from items where id=1;

みなさんいかがでしたでしょうか?

SQLは規格が決まっていますので、これらを覚えると、MySQL以外の、例えばPostgreSQLでも同様に操作が可能です。

一連の流れで覚えてしまいましょう。

自動でidが変わるようにしよう

みなさん、お気づきでしょうか?

実は、これまで書いたSQLだと、

同じid番号でも登録されてしまいます。

さらにさらに、idが自動で更新されずに、

何番目まで保存されているか

をいちいち覚えていなくてはいけません。

これって面倒ですよね。

これを解決する制約がSQLに用意されていますので、2つご紹介しますね。

1. 主キーの設定

まずは同じidが保存できないようにしていきましょう。

この時使用されるのが、primary keyです。

日本語訳すると、「主キー」という呼ばれます。

データ行が一意になるように設定します。

簡単に行ってしまうと、idが被らないようにするためですね。

alter table items add primary key (id);

このSQLを書いた後に、insert文を実行してみてください。

同じidだと保存されないはずです。

2. 自動でidを更新していく

最後に自動でidが更新されるようにしていきます。

今のままだと同じidは保存されないのですが、いちいち最後のidを覚えている必要があるます。

1個や2個だったら覚えていられますが、webアプリのように膨大なデータを保存する時は覚えることは困難です。。。

そこで用意されているのが、auto_incrementです。

alter table items change id id int auto_increment;

auto_incrementを付与することで、idが自動で更新されるようになります。

それでは、実際に以下のSQLを実行してみてください。

insert into items set name='イチゴ', price=150;

auto_incrementを付与したら、insert文にidは不要です。

では、select文を実行してみましょう。

自動で更新されていますか?

ここまで簡単にSQL文を学習してきました。

SQLの基礎になりますので、ぜひ何度も復習してみてください。

まとめ

create database データベース名;
create table テーブル名 (カラム名 型, ...);
insert into テーブル名 set カラム名=値, ...;
delete from テーブル名where カラム名=値;
alter table テーブル名 add primary key (カラム名);
alter table テーブル名 change 古いカラム名 新しいカラム名 型 auto_increment;

今日のSQL文をまとめておきました。

今日も学習お疲れ様です。

引き続き頑張っていきましょう。

コメント

Comments are closed.