create table - テーブルを作成する
テーブルを作成するには「create table」構文を使います。
create table テーブル名 ( フィールド定義1, フィールド定義2, フィールド定義n ) オプション;
本の分類「book_category」テーブルを「create table」構文で作成するサンプルです。
create table book_category ( id int primary key auto_increment, name varchar(150) not null default '' ) engine=InnoDB charset=utf8mb4;
テーブルを作成するときの注意点を教えてください
テーブルを作成するときの注意点です。
データベースのテーブル名とフィールド名の命名規約
実際にWebサービス開発を行うときに、データベースを利用することが多いので、Mojoliciousスタートアップに、データベースのテーブル名とフィールド名の命名規約のトピックを作りました。
ポータブルな「create table」にするためには?
MariaDBには、データベースエンジンという概念がありますが、Webサービス開発で利用するデータベースエンジンは、InnoDBになります。InnoDBは、トランザクションをサポートしたデータベースエンジンです。これをオプションで指定します。
MariaDBでは、正しくUTF-8を表現する文字コードの設定は「utf8mb4」です。「utf8」は、3バイトしかなく、4バイトを必要とするUnicodeを表現できません。4バイト表現できる「utf8mb4」を指定します。古いMariaDBでは、utf8mb4がサポートされていないですが、MariaDB入門では、utf8mb4がサポートされているバージョン以降のMariaDBを前提とします。
「not null」制約を使った場合は、defaultの指定を行います。MariaDBの設定しだいで、defaultが設定されていない場合に、テーブルの作成が失敗するので、これを回避するためです。