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
※型によって入力できる数字の範囲が異なります
文字列型(そのフィールドには文字列しか入力できない)
- 固定長文字型:CHAR
- 可変型:VARCHAR
※型によって入力できる文字列の長さが異なります
※文字列型の入力のときは「” “」「’ ‘」で文字列を囲む必要があります
日付型(そのフィールドには日付しか入力できない)
- 日付型:DATE
- 時刻型:DATETAME
テキスト型(そのフィールドにはテキストしか入力できない)
- テキスト型:TEXT, LONGTEXT
テーブルを作成してみよう
テーブルを作成するときはコマンド「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)
);
実行すると Query OK と出ました。これでテーブルが作れました。
テーブルがきちんと作られているかをコマンド「show tables;」で確認してみます。
show tables;
次の画面になればOKです。
さらに、テーブルの中身のフィールドを確認したいときはコマンド「desc テーブル名;」で見ることができます。
desc user;
おわりに
MySQLでテーブルを作成する方法は以上です。
テーブルを作成したら、MySQLでテーブルを削除する方法についても知っておきましょう。
テーブル名がuserで、フィールド名がそれぞれid,username,email,passwordなので、ユーザー登録の内容といった感じですか?
その通り!登録フォームからのデータを登録するといった感じに取れるよね。
当たってますね。後、思ったんですが同じテーブル名はやっぱり作成することは出来ませんよね?
同じ名前はフォルダやファイルと同じで作成できないんだ。CREATE TABLE IF NOT EXISTS テーブル名で、もしテーブルが無い場合だけ作成するみたいなことも出来るんだよ。
MySQLを勉強していて、
・もっと効率的に勉強したい
・誰かに聞きながら学びたい
・自分でWebサービスを作りたい
と思ったことはないでしょうか?
そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、オリジナルWebサービスを開発することが可能です。
独学に限界を感じている場合はご検討ください。