MySQLでどんなことができるのか知りたい
学習者の中にはこのように感じている方もいるかもしれません。特にMySQLはSQLを用いてデータベースを管理するシステムで、馴染みが無い人も多いのではないでしょうか?
そこで本記事では実際にMySQLを使って、データベースの作成や削除など基本的な操作方法について分かりやすく解説していきます。
今後Webアプリケーション作成やシステム開発していく上で、非常に重要な内容ですので、この機会にしっかりと理解していきましょう。
MySQLでデータベースを作るには
この項目では、MySQL(マイエスキューエル)の概要と環境構築について解説していきます。
Repl.it(レプルイット)などの環境構築無しでMySQLを扱う方法もありますが、今回は実務を想定してご自身で環境構築を行い、MySQLの操作を学んで頂きます。
環境構築と聞くとすごく難しそうに感じるかと思いますが、画像付きで分かりやすく解説していきますので、ぜひ皆さんも手を動かして学んでいきましょう。
そもそもMySQLとは
MySQLの操作の解説に入る前に、簡単に概要を解説しておきます。
MySQLとは一言で説明すると、「データベース管理システム」を指します。では「データベース」とは一体どのような働きをするのでしょうか?
データベースはTwitterやInstagramなどのWebアプリケーションをイメージすれば理解しやすいかと思います。上記のようなアプリケーションでは、年齢や性別などのユーザー情報を登録したり、記事や画像を投稿することができます。
このような情報はデータベースという場所に保管されます。そしてデータベースは情報を保管するだけでなく、取り出したり削除することもできます。
またこのようにデータベースの情報を検索したり、削除するものを「SQL(エスキューエル)」と呼びます。今回紹介する「MySQL(マイエスキューエル)」はSQLを操作するための言語です。
MySQLが使われているアプリケーションの例として、「Wordpress」が挙げられます。Wordpressは、プログラミングの知識がない方でも簡単に自分のサイトを制作することができるため、非常に多くのユーザーから指示されています。
よりMySQLに関して知りたい方は下記記事を参照してくださいね。
MySQLのインストール
MySQLを使うには、まずインストールする必要があります。インストールを行うには、「ターミナル(コマンドプロンプト)」にコマンドを入力して操作していきます。
詳しいインストール方法については下記記事を参照してくださいね。
なお今回使用するMySQLのヴァージョンは5.7となっています。
MySQLでデータベースを作成・表示する
この項目では実際にMySQLでデータベースを作る方法について解説していきます。分かりやすく解説していきますので、ぜひ実際にご自身で手を動かしてみてくださいね。
また次の項目からMySQLで頻繁に使用するコマンドを紹介していきます。どれも非常に重要なものばかりですので、この機会に操作に慣れておきましょう。
CREATEでデータベースを作成
まず情報を格納するためにデータベースが必要となります。ターミナルを使って、データベースを作成してみましょう。
ターミナルが下記画像のようにMySQLのコマンド操作が可能な状態になっているか確認してください。もしこのような状態になっていなければ、先程紹介した環境構築の記事を読み直してみましょう。
新しいデータベースを作成するには「CREATE databases mysqltry;」をターミナルで入力します。「mysqltry」の部分はデータベースの名前であり、好きな名称を付けることができます。
ちなみに今回はMySQLの練習ということで分かりやすく「mysqltry」としておきました。
[result] mysql > CREATE databases データベース名; [/result]
上記コードにある「mysql >」の部分は入力する必要はありません。また必ず末尾に「;(セミコロン)」を付けるのを忘れないようにしましょう。
コマンドを実行して「Query OK, 1 row affected」と表示されたらデータベースが作成された証拠です。次の項目で本当にデータベースを作成できたのか確認していきます。
SHOWデータベースでデータベースの一覧を確認
ここまででデータベースを作成することができました。しかし本当に作成できているのか確認したいですね。また作成したデータベースの一覧を見たい場合もあるかと思います。
「SHOW databases;」コマンドで作成したデータベースの一覧を表示することができます。ではターミナルに下記のように入力してみましょう。
[code] SHOW databases; [/code]
下画像のように表示されればOKです。
今回は「mysqltry」というデータベースのみ表示されていますが、MySQLでは複数のデータベースを同時に管理することができるため、作成した分データベースが表示されます。
USEデータベースで使用するデータベースを選択
先程MySQLは複数のデータベースを作成できると説明しました。では複数存在する場合、どのようにして作業するデータベースを選択することができるのでしょうか?
MySQLには「USE」というコマンドが用意されており、使用するデータベースを自由に選択することができます。コマンドに「USE 作成したデータベース名」を入力するだけでOKです。
下記のようにコマンドを入力してみましょう。「Database changed」が表示されれば指定したデータベースを選択できた証拠です。
CREATEテーブルでテーブルを作成
次にデータベースに「テーブル」を作成していきます。テーブルは格納されたデータが整理されたものを指します。
ここではExcelのように行と列が存在する表のようなものだと理解しておいてください。このテーブルがあるおかげでMySQLは自由にデータを取り出したり、削除することができるわけです。
ここではユーザー情報を保管する「user」というテーブルを作成していきます。今回はuserテーブルに「id」、「name」という2つのカラム(テーブルの列)を用意します。
カラムはデータベースを扱う上で非常に重要な言葉ですので、この機会に覚えておきましょう。
それではターミナルで下のようにコマンドを入力してみましょう。macとwindowsで多少コマンドが異なりますので、ご注意ください。
[macの場合] [code] CREATE TABLE users (id INT AUTO_INCREMENT, name TEXT, PRIMARY KEY (id)); [/code]
[windowsの場合] [code] CREATE TABLE users (id INT AUTO_INCREMENT, name TEXT, PRIMARY KEY (id)) DEFAULT CHARSET=utf8; [/code]
上記コマンドの中身が何を表しているのかを解説していきます。
- users:作成するテーブルの名前
- id:idというカラム名
- INT:idカラムのデータ型が「整数」という意味。INTは英語のIntegerの略
- AUTO_INCREMENT:idの数字を連続した値にすることが可能。例えば、id= 1, id= 2, id =3….という感じです。
- name:nameというカラム名
- TEXT :nemeカラムのデータ型が「文字」という意味。
- PRIMARY KEY (id) :重複したidが生成されないようになります。例えばid=1,id=2が存在する場合、新しく生成されるidは1と2以外の数字となります。
上記コマンドを見ると複雑に見えるかもしれませんが、テーブルを作成する際の型は下記のようにシンプルに表すことができます。
[result] CREATE TABLE テーブル名(カラム_1の名前 カラム_1のデータ型, カラム_2の名前 カラム_2のデータ型....) [/result]
SHOWで作成したテーブルを確認する
前項でテーブルを作成することができました。ターミナルで下記のように入力してみましょう。
[code] SHOW tables; [/code]
下画像のように表示されればOKです。
ちなみにコマンドを実行して「Empty set(0.00sec)」と表示された場合は、テーブルが作成されていない状態です。MySQLを使用する場合は、エラーを防ぐためにもその都度テーブルの状態を確認することをオススメします。
DESCRIBEで作成したテーブルの中身を確認する
この項目では作成したテーブルの中身を確認してみましょう。ターミナルで下記コマンドを入力してみましょう。
[code] DESCRIBE users; [/code]
下画像のようにテーブルの状態が表示されればOKです。テーブル作成時に追加した「id」や「name」が存在していることが分かるかと思います。
MySQLでテーブルのデータを追加・削除する
この項目ではテーブルにデータを追加したり、削除する方法を解説していきます。追加したカラムが不要になったり、カラムのデータ型を途中で変更したい場合があります。
自由自在にカラムの内容を扱えるようになりましょう。
INSERT文でカラムにデータを追加する
テーブルのカラムにデータを追加するには「INSERT」を使用します。
[result] INSERT INTO テーブル名(カラム名) VALUES ('追加したい値’'); [/result]
今回はnameカラムに「ジョン」という値を追加してみます。下記コマンドをターミナルで入力してみましょう。
[code] INSERT INTO users(name) VALUES ('ジョン'); [/code]
コマンドを実行して「Query OK, 1 row affected (0.01 sec)」と表示されればOKです。実際にカラムにデータが追加されたか確認するために、下記コマンドを入力してみましょう。
[code] SELECT * FROM users; [/code]
コマンドを実行すると、下画像のように「ジョン」が追加されていることが確認できました。
DELETEコマンドでカラムの値を削除する
カラムの中のデータを削除してみましょう。「DELETE」コマンドを使えば削除することができます。
指定したカラムの値を削除したい場合は、下記コマンドで可能です。「WHERE」を指定しないと、テーブルに保管されているデータ全てが削除されるので注意が必要です。
DELETE FROM テーブル名 WHERE カラム名 = 値;
今回はid = 1のカラムを削除してみます。ターミナルで下記コマンドを入力して実行してください。
[code] DELETE FROM users WHERE id = 1; [/code]
「Query OK, 1 row affected (0.05 sec)」と表示されればOKです。試しに「SELECT * FROM users;」を入力してテーブルの中身を確認してください。
「Empty set (0.00 sec)」と表示されれば、指定したカラムが削除できたことになります。
DROPコマンドでテーブルを削除する
最後にテーブルを削除してみましょう。テーブルを一度削除すると、復元できないため注意が必要です。
今回はここまでで作成してきた「user」テーブルを削除していきます。テーブルの削除は「DROP」コマンドで可能です。
[code] DROP TABLE users; [/code]
「Query OK, 0 rows affected (0.01 sec)」と表示されれば、テーブルが削除された証拠です。
挫折なくSQLの習得を目指すなら
ここまでの解説を踏まえ、独学でMySQLを扱うスキルやSQL言語を習得しようと考えている人のなかには、
独学で習得できるかな…
途中で挫折したらどうしよう…
と不安な人もいますよね。
実のところ、SQLといったプログラミング言語の学習途中で挫折する独学者は多くいます。事実、弊社の調査では
- 不明点を聞ける環境になかった
- エラーが解決できなかった
- モチベーションが続かなかった
などの理由から、87.5%が「プログラミング学習で挫折や行き詰まりを感じた」と回答しています。
また、こうした背景もあってか、弊社がプログラミングに興味がある人100名へ実施した別の調査では
- 確実にスキルを身につけられると思ったから
- 独学では不安がある
- 効率よく学べそう
などの理由から、61%が「プログラミングの勉強を始めるならスクールを選ぶ」と回答しています。
加えて、プログラミングスクールの卒業生に「独学ではなくスクールを活用した理由」を聞いたところ「できるだけ短い期間でITエンジニアへの転職や副業に必要なスキルを身につけたかった」という回答も多く寄せられました。
上記から、1人でプログラミングスキルを習得できるか不安な人や短期間でスキルを習得したい人ほど確実性を求め、現役エンジニアといったプロの講師に質問できるプログラミングスクールを利用する傾向にあるのがわかります。
いざ独学でプログラミングを学び始めても、勉強の最中に挫折しまっては学習にかけた時間を悔やむだけでなく「プログラミングスキルを身につけるのって思っていたよりも難しいんだな…」とSQLの習得自体を諦めかねません。
仮にわからないことを飛ばしながら勉強を進めたとしても、ITエンジニアへの転職や副業での収入獲得を実現できる実践的なスキルが身につかなければ、結局後悔することになります。
そこで、おすすめしたいのが「SAMURAI ENGINEER(侍エンジニア)」です。
料金 | 月分割4.098円~ |
実績 | ・累計指導実績4万5,000名以上 ・受講生の学習完了率98% ・受講生の転職成功率99% |
侍エンジニアをおすすめする最大の理由は「挫折しづらい学習環境」にあります。
先ほど述べたとおり、独学者の多くは自力で不明点やエラーを解決できないためにプログラミング学習を挫折しています。そのため、未経験者が現役エンジニアのようなプロに質問や相談できない状況で、プログラミングスキルを習得するのは非常に難易度が高いといえます。
しかし、侍エンジニアでは
- 現役エンジニア講師によるマンツーマンレッスン
- 現役エンジニアに質問できるオンラインでのQ&Aサービス
- 不安や悩み・勉強の進み具合を相談できる学習コーチ
といったサポート体制を整えているため、学習中に出てきたわからないことや不明点をいつでも相談可能です。「受講生の学習完了率98%」「転職成功率99%」という実績からも、侍エンジニアなら挫折しづらい環境でプログラミング学習を進められるといえます。
また、侍エンジニアではカウンセリングにて受講生一人ひとりの目的をヒアリングしたうえでカリキュラムを作成するため、限られた受講期間でも効率的に必要なスキルだけを習得可能です。
最短距離で目的を実現できるようカリキュラムが組まれているため、勉強する順番や内容を誤り非効率に時間や手間を費やす心配もありません。
なぜ侍エンジニアが挫折せずSQL言語を習得できるのか気になる人はぜひ公式サイトをご覧ください。
公式サイトで詳細を見るまとめ
ここまでMySQLのコマンド操作について解説してきました。慣れないコマンドが沢山出てきて大変だったかもしれませんが、最後に本記事の内容をまとめておきますので、復習する際に参考にしてみてくださいね。
[1]MySQLはデータベースを操作するための言語
[2]MySQLはWebアプリケーションに必須
[3]MySQLはテーブルを追加したり、削除することができる
[4]データはカラムに追加される