データベースの設定用のスクリプトのこと。
データベースやテーブルの作成をGUIのツールで行うこともできるが、数が多いと操作が多くなりメンドクサイ。
よーく考えてみると、SQL形式でバックアップできるデータベースなら、
中身はSQLなんだから、その中の CREATE TABLE や CREATE INDEX を取り出せば、テーブルを作り直すSQLファイルを作れるはず。
しかし、SQL形式でバックアップできないなら、CREATE TABLEを作成するSQLを作ればいい。
MySQLの場合は、
SHOW COLUMNS FROM テーブル名
でテーブルのカラムの情報が見れる。
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
link_id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
link_url | varchar(255) | NO | |||
link_name | varchar(255) | NO | |||
link_image | varchar(255) | NO | |||
link_target | varchar(255) | NO | |||
link_description | varchar(255) | NO | |||
link_visible | varchar(20) | NO | MUL | Y | |
link_owner | bigint(20) unsigned | NO | 1 | ||
link_rating | int(11) | NO | 0 | ||
link_updated | datetime | NO | 0000-00-00 00:00:00 | ||
link_rel | varchar(255) | NO | |||
link_notes | mediumtext | NO | NULL | ||
link_rss | varchar(255) | NO | |||
link_category | bigint(20) | NO | 0 |
SHOW COLUMNS FROM wp_links
EXCELに貼る元ネタはとしてはいいけど、これからCREATE TABLE を作るのは面倒。
SHOW CREATE TABLE テーブル名
で、直接DDLがゲットできる。
Table | Create Table |
---|---|
wp_links | CREATE TABLE `wp_links` ( `link_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `link_url` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ”, `link_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ”, `link_image` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ”, `link_target` varchar(25) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ”, `link_description` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ”, `link_visible` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘Y’, `link_owner` bigint(20) unsigned NOT NULL DEFAULT 1, `link_rating` int(11) NOT NULL DEFAULT 0, `link_updated` datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’, `link_rel` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ”, `link_notes` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `link_rss` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ”, `link_category` bigint(20) NOT NULL DEFAULT 0, PRIMARY KEY (`link_id`), KEY `link_visible` (`link_visible`) ) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci |
ORACLEの場合は
select DBMS_METADATA.getDDL(‘TABLE’, ‘テーブルの名前’);
でDDLがゲットできるらしい。