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

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

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

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

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

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

 

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

 

テーブルとは

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

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

 

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

テーブル

 

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

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

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

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

田島悠介

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

 

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

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

 

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

  • 整数型:INT, BIGINT, TINYINT
  • 浮遊小数点型:DOUBLE, FLOAT
1時間でできる無料体験!

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

 

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

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

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

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

 

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

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

 

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

  • テキスト型:TEXT, LONGTEXT

 

 

[PR] プログラミング入門で挫折しない学習方法を動画で公開中

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

テーブルを作成するときはコマンド「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でテーブルを削除する方法についても知っておきましょう。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

田島悠介

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

 

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

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

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

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

独学に限界を感じたら…テックアカデミーに相談しよう

プログラミングを独学していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 独学に不安を抱えている方へ、現役エンジニア講師とマンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう 厳しい試験を通過した講師 があなたの相談に真摯に向き合います。

「ただ気になることを相談したい」
「漠然としているがプロの話を聞いてみたい」

こんな気持ちでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料で予約する