MySQLでテーブルを作成する方法【CREATE TABLE文】

MySQLで【テーブルを作成する方法】を初心者向けに解説記事です。テーブルを作成するには、「CREATE TABLE文」を使います。テーブルを作成する際に知っておきたい、フィールドのデータ型についても紹介しています。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が1,000以上あります。

MySQLの初心者向けに、基本的な使い方を解説する記事です。

今回は、MySQLのデータベースでテーブルを作成する方法を解説します。

なお本記事は、MySQLを扱うTechAcademyのPHPオンライン講座の内容をもとにしています。

 

今回の記事の内容は動画でもご覧いただけます。
テキストよりも動画の方が理解しやすいという場合はぜひご覧ください。

 

テーブルとは

データベースは特定のテーマに沿ったデータを集めて管理するものでしたが、データベースのなかのデータは、さらにテーブルと呼ばれる場所に種類別に格納されています。

衣類をタンスの引き出しに収納する際、シャツ、ズボン、靴下……といった具合に種類ごとにわけてしまう方も多いと思います。それと同じようにデータベース(タンス)のなかでも、数値や文字列など、データの種類ごとにわけてテーブル(引き出し)にわかりやすくしまって管理しているのです。

 

さらに、テーブルの中身はちょうどエクセルの表のように列と行で整理されており、それぞれをフィールドレコードといいます。

テーブル

 

また、フィールドには数値や文字列など様々な種類のデータを入れますが、入力する種類に応じてデータの型を指定する必要があります。これをデータ型といいます。

たとえば、整数を入力する場合はINT, 文字データをまとめる場合はCHARといった具合です。

MySQLのデータベースのなかでは、このようにデータが細かく整理されているのです。

 

20160620

 

データ型って何でしょうか?

 

20163020-2

 

データってメモリ上に展開されてからCPUに読み込まれるよね?

 

20160620

 

はい。あまり意識したこと無いですけど、そういえばそうですよね。

 

20163020-2

 

データ型はメモリ上に取られたデータの領域って感じかな。規格を決めておくと領域を確保するのも楽だし、速度も速くなるんだ。

 

フィールドのデータ型一覧

参考までに、データ型には以下のようなものがあります。

 

数値型(そのフィールドには数値しか入力できない)

  • 整数型:INT, BIGINT, TINYINT
  • 浮遊小数点型:DOUBLE, FLOAT

※型によって入力できる数字の範囲が異なります

 

文字列型(そのフィールドには文字列しか入力できない)

  • 固定長文字型:CHAR
  • 可変型:VARCHAR

※型によって入力できる文字列の長さが異なります

※文字列型の入力のときは「”  “」「’  ‘」で文字列を囲む必要があります

 

日付型(そのフィールドには日付しか入力できない)

  • 日付型:DATE
  • 時刻型:DATETAME

 

テキスト型(そのフィールドにはテキストしか入力できない)

  • テキスト型:TEXT, LONGTEXT

 

 

[PR] MySQLで挫折しない学習方法を動画で公開中

テーブルを作成してみよう

テーブルを作成するときはコマンド「create table テーブル名」を使い、フィールド名とデータ型をそれぞれ書いていくことで作ることができます。

create table テーブル名 (
フィールド名 データ型,
フィールド名 データ型,
フィールド名 データ型
);

 

実際に作ってみましょう。

 

まずはデータベースにログインします。

※ここでは、データベースsampledb にdbuser というユーザーでログインします

./mysql -u dbuser -p sampledb

ログイン

 

データベースに入ったら、user という名前のテーブルを作ってみます。

ターミナル上で直接打っていってもいいのですが、間違い防止も踏まえてテキストエディタで打ち、後ほどコピー&ペーストすることをおすすめします。

create table user(
id int,
username varchar(255),
email varchar(255),
password char(30)
);

create tale

実行すると Query OK と出ました。これでテーブルが作れました。

 

テーブルがきちんと作られているかをコマンド「show tables;」で確認してみます。

show tables;

次の画面になればOKです。

show tables;

 

さらに、テーブルの中身のフィールドを確認したいときはコマンド「desc テーブル名;」で見ることができます。

desc user;

desc user;

 

おわりに

MySQLでテーブルを作成する方法は以上です。

テーブルを作成したら、MySQLでテーブルを削除する方法についても知っておきましょう。

 

20160620

 

テーブル名がuserで、フィールド名がそれぞれid,username,email,passwordなので、ユーザー登録の内容といった感じですか?

 

20163020-2

 

その通り!登録フォームからのデータを登録するといった感じに取れるよね。

 

20160620

 

当たってますね。後、思ったんですが同じテーブル名はやっぱり作成することは出来ませんよね?

 

20163020-2

 

同じ名前はフォルダやファイルと同じで作成できないんだ。CREATE TABLE IF NOT EXISTS テーブル名で、もしテーブルが無い場合だけ作成するみたいなことも出来るんだよ。

 

MySQLを勉強していて、
・もっと効率的に勉強したい
・誰かに聞きながら学びたい
・自分でWebサービスを作りたい
と思ったことはないでしょうか?

そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

独学に限界を感じている場合はご検討ください。