プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

私がおすすめするプログラミング教材のまとめ【書籍と動画】

プログラミング言語 スクリプト言語 コンパイル言語 アプリ開発 サーバー、インフラ、セキュリティなど 機械学習系 ゲーム開発 データベース 子供向け デザイン その他 おまけ まとめ この記事では、様々な書籍を紹介しました。 是非、自分に合 ...

続きを見る

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

更新日:

記事の内容


この記事では、MySQLでcreate tableを使ってテーブルを作成する方法を紹介します。

テーブルの作成方法

テーブルの作成方法は、「CREATE TABLE」を使って以下のように行います。

CREATE TABLE テーブル名(
カラム名1 データ型 オプション,
カラム名2 データ型 オプション,
カラム名3 データ型 オプション,
)
CREATE TABLE subjects (
id bigint(20) NOT NULL AUTO_INCREMENT,
name varchar(255) DEFAULT NULL,
created_at datetime NOT NULL,
updated_at datetime NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB CHARSET=utf8

データ型の説明

カラムに入れるデータには様々な種類があり、それをデータ型で指定することができます。

整数型

整数を扱うには、主にint型かbigint型を使います。
int型の整数の最大値は21億ぐらいです。
世界中のユーザーを登録しようとすると、21億では足りなくなります。
そういった時には、bigint型を使いましょう。

文字列型

文字列を扱うには、主にVARCHAR型かTEXT型を使います。
VARCHAR型は最大で255文字までです。
短い文字の場合は、VARCHARを使いましょう。
それ以上の場合は、TEXT型を使います。

時刻型

時刻を扱う場合には、datetimeを使います。
created_atというカラム名は、そのレコードが作られた時刻を入れる時に、よく使われる名前です。
updated_atというカラム名は、そのレコードが更新された時刻を入れる時に、よく使われる名前です。

その他のオプション

NOT NULL

NOT NULLが設定されているカラムには、必ずデータを入れなければいけません。
そのカラムを未定義のままにしてデータを入れようとすると、エラーが発生します。

AUTO_INCREMENT

AUTO_INCREMENTを設定したカラムでは数値が連番で入力されるようになります。
サロゲートキー(代理キー)によく使われます。

PRIMARY KEY

そのテーブルの主キーとなるカラムで、常に一意になる値が入ります。

ENGINE=InnoDB

MySQLにおいて、データベースの種類を指定します。
最近のバージョンでは、InnoDBを使っていれば間違いはありません。

CHARSET=utf8

テーブルの文字コードです。
よくわからない場合は、utf8を使っておきましょう。

まとめ

この記事では、「CREATE TABLE」の簡単な説明をしました。
「CREATE TABLE」では他にも設定できることがあります。
詳細を知りたい人は、公式のドキュメントを見てて下さい。

Good luck for your engineer life!

この記事が面白かった人は、こちらの記事も読んでみて下さい。

MySQLをより詳しく勉強したい人は、この記事を読んで下さい

MySQLの学習でおすすめの本と動画【2020年最新】

初心者向け【入門編】 書き込み式SQLのドリル SQLの基本である、CREATE、READ、UPDATE、DELETE、JOINなどを書きながら丁寧に覚えていきます。 GROUP BYやWHEREなども抑えており、初心者にはオススメできる本 ...

続きを見る


セキュリティをより詳しく勉強したい人は、この記事を読んで下さい

セキュリティの学習でおすすめの本と動画【2020年最新】

初心者向け 図解まるわかり セキュリティのしくみ イラストが豊富に入っているので、私はこの本が大好きです。 非常にわかりやすい、初心者向けのセキュリティ本です。 法律関係についても書かれているのは嬉しいですね^^ まんべんなく、セキュリティ ...

続きを見る

関連コンテンツ

-MySQL, プログラミング

Copyright© プログラミング道場 , 2020 All Rights Reserved Powered by AFFINGER4.