ざっくりん雑記

プログラミングで忘れそうなことをひたすらメモる

MySQL入門 - テーブル作成、テーブルの構造の確認方法など

前回は作業ユーザの作り方と、ユーザ一覧の参照方法を確認した。

azuuun-memorandum.hatenablog.com

今回は、実際にテーブルを作ってみる。

前々回の記事で blog_data データベースを作った。そこに users テーブルというのを追加する。

テーブルを作る

テーブルとフィールドとレコードの関係をおさらいすると…

  • テーブル
    • フィールド(テーブルの列)
    • レコード(テーブルの行)


今回はこの内容のテーブルを作ってみる

内容 ID 名前 年齢 パスワード Eメール 性別 メモ
フィールド名 id name age password email sex memo
データ型 int varchar(255) int char(32) varchar(255) enum text


各フィールドにはデータ型を設定する。 入力するデータの種類に応じて型を指定する必要がある。

例えば、

IDには int が設定されている。intは整数値を入れる型。1,2,3,4,...といったデータが入る。

name には varchar(255) が設定されている。varcharは可変長 文字列型。255文字まで入る。

password には char(32) が設定されている。charは固定長 文字列型。32文字まで入る。

sex には enum が設定されている。これは文字列定数をリストにする。実際にはenum('male','female')と設定する。ここには'male'か'female'のいずれかの一つ指定してデータを入れてあげる必要がある。

その他、いろいろデータ型は設定できる。このサイトが参考になりました。

www.dbonline.jp


実際にテーブルを作る時は、

create table users (
    id int,
    name varchar(255),
    age int,
    email varchar(255),
    password char(32),
    sex enum('male', 'female') default 'male',
    memo text
);

このような書式で書いていく。 実際に入力する際はテキストエディタに書いてからコピペでも可能。

mysql> create table users (
    ->  id int,
    ->  name varchar(255),
    ->  age int,
    ->  email varchar(255),
    ->  password char(32),
    ->  sex enum('male', 'female') default 'male',
    ->  memo text
    -> );

このような感じ。うまくいくと…

Query OK, 0 rows affected (0.03 sec)

と返ってくる。

テーブル一覧を取得する

mysql> show tables;

で表示できた。

+---------------------+
| Tables_in_blog_data |
+---------------------+
| users               |
+---------------------+

さっき作った users テーブルがあるのが確認できた。

テーブルの構造を取得する

次に users テーブルの構造を見たいとき(どんなフィールドがあって、データ型はどう設定してあるか等)

mysql> desc users;

users テーブルを確認すると…

+----------+-----------------------+------+-----+---------+-------+
| Field    | Type                  | Null | Key | Default | Extra |
+----------+-----------------------+------+-----+---------+-------+
| id       | int(11)               | YES  |     | NULL    |       |
| name     | varchar(255)          | YES  |     | NULL    |       |
| age      | int(11)               | YES  |     | NULL    |       |
| email    | varchar(255)          | YES  |     | NULL    |       |
| password | char(32)              | YES  |     | NULL    |       |
| sex      | enum('male','female') | YES  |     | male    |       |
| memo     | text                  | YES  |     | NULL    |       |
+----------+-----------------------+------+-----+---------+-------+

指定したとおりテーブルが作成されているのが確認できた。

テーブルを削除する

mysql> drop table users;

削除できたかな?

mysql> show tables;

show tablesでテーブル一覧取得

Empty set (0.00 sec)

削除できた。


今回はここまで。