SQLとは、膨大なデータが管理されているデータベースを扱う言語です。
データベースとは、データを格納している大きな箱のようなイメージです。
【この記事はこんな方に向けて書いています】
・SQLの勉強をしてデータベースを扱ってみたい
・MySQLでデータベースを作成したい
・MySQLでテーブルを作成したい
【目次】
・MySQLでデータベース確認
・MySQLでデータベース作成
・MySQLでテーブル作成
・テーブル作成コマンドの解説
・MySQLでサポートされている文字コード
・テーブルの確認
・テーブルにデータ追加
・データの削除
・テーブルの削除
・データベースの削除
・まとめ
SQLの環境構築については、こちらの記事で簡単に解説していますのでよければご覧下さい。
【MySQLの起動】
まずはMySQLを起動してログインします。
MySQLの起動やログインについては、こちらの記事で簡単に解説していますのでよければご覧下さい。
MySQLにログインしたら、現在のデータベースを確認してみます。
SHOW databases;
と記述してEnterを押します。最後のセミコロン「;」を忘れないように注意します。
現在のデータベースを確認できました。
「SHOW databases;」のようなデータベースに対する命令文をクエリと言います。
ここでは、「test」というデータベースを作成してみます。
CREATE DATABASE test;
と記述してEnterを押します。
データベース「test」を作成できました。
データベースを確認してみます。
データベース「test」が作成できています。
テーブルとは、データベースに作成できる表計算ソフトのような構造のデータです。
表計算ソフトに行と列があるように、テーブルにも行と列があります。
テーブルの行をレコード、列をカラムと言います。
ちなみに、漢字の形で行は横、列は縦と覚えると覚えやすいです。
ここでは、作成したデータベース「test」にテーブルを作成します。
まずデータベース「test」を選択します。
USE test;
と記述してEnterを押します。
データベース「test」を選択できました。
テーブルを作成するときは
CREATE TABLE テーブル名(
カラム名 データ型 オプション設定,
カラム名 データ型 オプション設定,
…),
と記述します。
テーブルを作成するときに設定できるオプションは様々なものがあります。
NOT NULL:データなしのnullを許可しない
AUTO_INCREMENT:連番の設定
PRIMARY KEY:カラムの値を重複不可とする
UNIQUE:カラムの値を重複不可とするが、データなしのnullは重複可
これらが代表的なオプションです。
例えば生徒の点数をテーブルに格納したいと仮定し、「score」というテーブルを作成し、テーブルの中にカラム「id」「name」を作成してみます。
CREATE TABLE score(
id INT AUTO_INCREMENT,
name TEXT,
PRIMARY KEY(id))
DEFAULT CHARSET=utf8mb4;
と記述してEnterを押します。
上記はwindowsです。macの場合はコマンドが異なります、予めご了承下さい。
テーブル「score」を作成できました。
上記のコマンドをわかりやすく解説すると
テーブル名「score」を作成し
カラム名「id」のデータ型はint(整数型)を指定し、「id」の数値は自動的(auto)に増加(increment)させることができる(id1・id2・id3…)
カラム名「name」のデータ型は文字列型を指定し
プライマリーキーをカラム名「id」に設定してidの重複を防ぎ
文字コードを「utf8mb4」に設定する
というイメージです。
MySQLでサポートされている文字コードを表示したい時は
SHOW CHARACTER SET;
と記述してEnterを押します。
サポートされている文字コードを表示できました。
作成したテーブルを確認してみます。
テーブルを確認する時は
SHOW tables;
と記述してEnterを押します。
作成したテーブル「score」を確認できました。
次にテーブル「score」の中身を確認してみます。
テーブルの中身を確認する時は
DESCRIBE テーブル名;
と記述してEnterを押します。
テーブル「score」の中身を確認できました。
カラム名「id」と「name」が記載されています。
作成したテーブル「score」にデータを追加してみます。
テーブルにデータを追加する時は
INSERT INTO テーブル名(カラム名)VALUES('追加するデータ');
と記述してEnterを押します。
ここでは、「name」カラムに「トニー」を追加してみます。
「name」カラムに「トニー」を追加できました。
追加したデータを確認してみます。
データを確認する時は
SELECT * FROM テーブル名;
と記述してEnterを押します。
「name」カラムに「トニー」が追加されたことを確認できました。
「id」カラムは「AUTO_INCREMENT」コマンドで自動的に作成される設定をしたのでデータを追加する必要はありません。
「name」カラムに追加したデータ「トニー」を削除してみます。
「id」カラム1を削除すればデータ「トニー」も削除できます。
カラムのデータを削除する時は
DELETE FROM テーブル名 WHERE カラム名=カラムのデータ;
と記述してEnterを押します。
「id」カラム1を削除できました。
WHEREで削除する箇所を書き忘れてしまうと、すべてのデータが削除されてしまうため注意が必要です。
データを確認してみます。
テーブルの中身が空ということを示す「Empty set」と表示され、データの削除を確認できました。
作成したテーブル「score」を削除してみます。
テーブルを削除する時は
DROP TABLE テーブル名;
と記述してEnterを押します。
テーブル「score」を削除できました。
テーブルを確認してみます。
「Empty set」と表示され、テーブルの削除を確認できました。
作成したデータベース「test」を削除してみます。
データベースを削除する時は
DROP DATABASE データベース名;
と記述してEnterを押します。
データベース「test」を削除できました。
データベースを確認してみます。
データベース「test」を削除できたことが確認できました。
まとめ
・データベースとは、データを格納している大きな箱のようなイメージ
・データベースに対する命令文をクエリと言う
・テーブルとは、データベースに作成できる表計算ソフトのような構造のデータ
ここまで読んで頂きありがとうございました。
-------------------------------------------------------------------------------------
当ブログの記事一覧(カテゴリー別)