86
85

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

テーブルの作成手順(MySQL)

Last updated at Posted at 2018-05-29

テーブルの作成

どうも、webエンジニアのキャリア2年目の者です。今まで、静的サイトのコーディングしかしてなかったので、Webアプリケーション作成に関するお勉強中です。
今回は、MySQLというミドルウェアのアプリケーションを使用して、テーブルの作成手順を紹介したいと思います。

記事メディアを作りたいと言う目標があるので、今回は仮にmediaというデータベースに、articleというテーブルを作成したいと思います。

データ型

基本のデータ型だけを挙げておきます。

  • INT(整数)
  • DOUBLE(少数)
  • VARCHAR(可変長の文字列)
  • TEXT(文章用の長い文字列)
  • TIMESTAMP(日付時刻型)

データベースの作成

MySQLの環境の用意や初期設定などは説明しません。すいません。

SQLでmediaデータベースを作成するには下記のコマンドを実行します。

mysql> CREATE DATABASE media;

できているかどうかの確認は以下のコマンドを実行しましょう

mysql> show databases;

操作するデータベースを選択したいとき

mysql> USE media;

データベースを削除したいとき

mysql> DROP DATABASE media;

(注意)確認なしに削除するので、消していいのかちゃんと確認しましょう。

mediaデータベースにarticleテーブルを作成するSQLファイル

mediaデータベースにテーブルを作成します。少し長いのでファイルを作成してSQLから実行しましょう。

create_table_media_article.sql ファイルを作成

create_table_media_article.sql
CREATE TABLE media.article (
    id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
    title VARCHAR(50),
    content TEXT,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

上記のSQLについて説明していきます。

CREATE TABLE media.article

mediaデータベースの中にarticleテーブルを作成するという意味です。
特定のデータベースのテーブルを指定するときは、 データベース名.テーブル名によって指定できます。

次は、テーブルの設計の中身について見て行きます。
上記のSQL文では、下記の4つのカラムを作成して行きます。

  • id(ID)
  • title(タイトル)
  • content(本文)
  • created_at(登録された日時)

id INT AUTO_INCREMENT NOT NULL PRIMARY KEY

  • カラム名:id
  • データ型:INT
  • AUTO_INCREMENT:自動的に値が1ずつ増えていく設定
  • NOT NULL:空データを許さない設定
  • PRIMARY KEY:データ(レコード)を一意に特定するためのカラムを決めるもので、1つのテーブルに必ず1つは必要

title VARCHAR(50)

  • カラム名:title
  • データ型:VARCHAR

VARCHAR型は文字列であり、(50)は50文字と制限するためのものです。VARCHARでは必ず最大文字数を指定する必要があります。

content TEXT

  • カラム名:content
  • データ型:TEXT

created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

  • カラム名:created_at
  • データ型:TIMESTAMP
  • NOT NULL:空データを許さない設定
  • DEFAULT CURRENT_TIMESTAMP:現在日時を保存すると言う意味です。

SQLファイルの実行

データベースサーバへ接続して、 格納してあるSQLファイルを実行する。

mysql> source ~/hoge/hoge/create_table_media_article.sql

パスはご自身の環境に合わせて変更してください。

作成したテーブルの確認し、テーブルの設計内容を確認

mediaデータベースをuseしたら。

mysql> show tables;
+-----------------+
| Tables_in_media |
+-----------------+
| article         |
+-----------------+
1 row in set (0.00 sec)

mysql> describe article;
+------------+-------------+------+-----+-------------------+----------------+
| Field      | Type        | Null | Key | Default           | Extra          |
+------------+-------------+------+-----+-------------------+----------------+
| id         | int(11)     | NO   | PRI | NULL              | auto_increment |
| title      | varchar(50) | YES  |     | NULL              |                |
| content    | text        | YES  |     | NULL              |                |
| created_at | timestamp   | NO   |     | CURRENT_TIMESTAMP |                |
+------------+-------------+------+-----+-------------------+----------------+
4 rows in set (0.00 sec)

テーブルを削除したい場合

mysql> DROP TABLE media.article;

(注意)確認なしに削除するので、消していいのかちゃんと確認しましょう。


以上で終わります。

86
85
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
86
85

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?