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

プログラミング道場

私がオススメするプログラミング教材です

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

目次1 これからエンジニアになりたい人へ向けた本2 プログラミング言語3 アプリ開発4 サーバー、インフラ、セキュリティなど5 機械学習系6 ゲーム開発7 データベース8 デザイン9 組織作り10 自作シリーズ11 その他12 おまけ これ ...

続きを見る

【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やデータベースの学習でおすすめの本と動画【2024年最新】

目次1 動画教材2 初心者向け【入門編】3 中級者向け4 上級者向け5 データベースを自作したい人向け 動画教材 【22日間で学ぶ】SQL文、分析関数、テーブル設計、SQLチューニングまでMySQLで覚えるSQL実践講座 ▼ 興味がある方は ...

続きを見る


セキュリティをより詳しく勉強したい人には、この記事がオススメです

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

目次1 動画教材2 初心者向け3 IPAが発行している本4 中級者向け5 資格の本6 セキュリティソフトの紹介 動画教材 情報セキュリティ】Ethical Hacking:ホワイトハッカー入門 ▼ 興味がある方は、画像をクリック この講座で ...

続きを見る

-MySQL, プログラミング

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