セットアップ用の SQL の雛形
CakePHP とかでアプリケーションを作り始めるときに使う
セットアップ用の SQL の雛形をメモ。MySQL 5.x 用。
以下の作業を行う。
- すでにデータベースが存在すれば削除
- データベースを UTF-8 で作成
- 作ったデータベース専用のユーザを作成
- ユーザに権限を付与
- テーブルを作る(autoincrement で primary な ID 付き)
setup.sql
/* * setup.sql * Copyright(c) 2008 mallowlabs * * USAGE: mysql -u user -p < setup.sql */ DROP DATABASE IF EXISTS database_name; CREATE DATABASE database_name DEFAULT CHARACTER SET utf8; GRANT USAGE ON database_name.* TO database_user@localhost IDENTIFIED BY 'password'; GRANT SELECT,INSERT,UPDATE,DELETE ON database_name.* TO database_user@localhost; USE database_name; CREATE TABLE table_name ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY ); CREATE INDEX index_name ON table_name(column_name(60));
2008.12.30 追記
インデックス作成の SQL をテンプレートに入れることにした。
インデックスを作らないと全探査になって遅くなるので
頻繁に参照されるカラムには必ずインデックスを作るべし。