新規にテーブルを作成・追加する『create table』について紹介していきます
前提条件
現在のデータベース構造を確認する
show databases;
上記はデータベース一覧を取得することができるSQL
使用するデータベースを選択する
use dog_cafe;
テーブルを作成するデータベースを選択しましょう
今回はdog_cafeというデータベースを指定しています。
現在のテーブル一覧を確認する
show tables;
テーブル一覧を取得するSQLを実行する
出力結果
Empty set (0.001 sec)
現在はテーブルが何も作成されていないことがわかります。
テーブルを作成する
構文
create table テーブル名(カラム名 データ型 オプション,
カラム名 データ型 オプション);
コードの見方
テーブル名:作成するテーブルの名前を記載する
カラム名:テーブルに作成する列名を記載する
データ型:カラムに対してデータ型(int,varcharなど)を指定する
オプション:このいい方はあまり正しくない。主に以下を指定する
- not null または null・・・そのカラムにnullを許容するかを指定
- aute_increment・・・idを自動で振ってくれる
- primary key・・・指定したカラムを主キーとして設定する
データ型についての詳細は以下を参照
使用するSQL
create table drinks(id int not null auto_increment primary key,
name varchar(255) not null);
テーブル名には飲み物を管理するdorinksとする
作成したカラムはid(商品番号)とname(商品名)
id(商品番号)の制約
- int(整数)を指定
- not nullを指定 ⇒ Nullを許可しない
- aute_incrementを指定 ⇒ 自動で番号を振る
- primary key ⇒ 主キーとして設定
Point!
- aute_incrementを指定したカラムはprimary keyとして指定する必要がある
- aute_incrementを指定したカラム以外にprimary keyを指定するとエラーとなる
再度、テーブル一覧を取得する
出力結果
+--------------------+
| Tables_in_dog_cafe |
+--------------------+
| drinks |
+--------------------+
1 row in set (0.003 sec)
作成したテーブルが追加されていることがわかる
テーブル構造(制約)を確認する
show columns from drinks;
出力結果
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
+-------+--------------+------+-----+---------+----------------+
2 rows in set (0.029 sec)
指定したとおりにテーブルが作成されています
命名規則
データベース名、テーブル名、列名などには使用してよい文字とそうでない文字があります。
使用不可の文字を利用して命名するとエラーとなってしまいます。
使用可能文字
- 半角のアルファベット・・・a、b、c…
- 半角数字・・・1、2、3…
- アンダースコア・・・_
Point!
最初の1文字目には半角アルファベットのみ利用できる。半角数字とアンダースコアは2文字目以降で利用すること