MySQL 4.1 では
CREATE TABLE table2 LIKE table1;
これで table1 の定義を使って table2 を作れるって。こりゃ便利。
と思ったら、
CREATE TABLE table2 SELECT * FROM table1;
これだけで中身入りのコピーが。これは 3.23 以降だそうな。
MySQL リファレンスマニュアル :: 6.5.3 CREATE TABLE 構文
http://dev.mysql.com/doc/mysql/ja/create-table.html
追記 2009-04-03
ひさしぶりにmysqlいじってたら、過去にだめなことを書いていたのを思い出したので追記。
CREATE TABLE table2 SELECT * FROM table1;
これだとフィールドの型と中身だけがコピーされて、キーなどがされないテーブルになるのでテーブルのコピーにはならんですな。
likeで作ったあとにinsert〜selectしないと...。