phpMyAdminで見れば良いだろうと言えばそうのだが、やはりSQL文で定義情報を確認および保存しておく事が必要(DBやテーブルの一括作成)な時も多々ある。
CakePHPでschema.php に定義を追加する時なども必要になる。関連など後から作成した表が schema.php にない場合もあるので、定義情報を簡単に出力できるように確認しておくべきだ。
■MySQL では、下記の通りで対応できる。
■コマンド [hogehoge@hoge]$ mysqldump -h[ホスト] -u[ユーザ名] -p[パスワード] -d [データベース名] [テーブル名] ■出力結果 CREATE TABLE `users` ( `id` int(10) NOT NULL AUTO_INCREMENT, `username` varchar(50) CHARACTER SET utf8 NOT NULL, `password` varchar(50) CHARACTER SET utf8 NOT NULL, `fullname` varchar(50) CHARACTER SET utf8 NOT NULL, `email` varchar(256) CHARACTER SET utf8 NOT NULL, `tel` varchar(20) CHARACTER SET utf8 NOT NULL, `memo` text CHARACTER SET utf8 NOT NULL, `created` datetime DEFAULT NULL, `updated` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1;
■オラクル(Oracle10g)では下記のコマンドになります。
■コマンド set long 10000 (出力する文字数を指定…10000文字まで) select dbms_metadata.get_ddl('TABLE','TABLE_NAME') from dual; ■出力結果(テーブル:users) DBMS_METADATA.GET_DDL('TABLE','users') -------------------------------------------------------------------------------- CREATE TABLE "HOGE"."USERS" ( "ID" NUMBER(6,0), "USERNAME" VARCHAR2(50), "PASSWORD" VARCHAR2(50), "FULLNAME" VARCHAR2(50), "EMAIL" VARCHAR2(256), "TEL" VARCHAR2(20), "MEMO" VARCHAR2(512), "CREATED" DATE, "UPDATED" DATE, CONSTRAINT "USERS_PK" PRIMARY KEY ("ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE ) PCTFREE 20 PCTUSED 70 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 983040 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ※上記は別ファイルの出力結果をMySQLのテーブルと項目名を揃えた編集版です。 よって、領域の情報は元々のテーブルの値をそのまま表示しています。
0 件のコメント:
コメントを投稿