MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで既存のテーブルからCREATE TABLE文を生成する方法

MySQLで既存テーブルからCREATE TABLE文を生成する方法

MySQLでは、SHOW CREATEコマンドを使用することで、既存のテーブルに基づいて「テーブル作成(CREATE TABLE)」コマンドを簡単に生成できます。この機能は、テーブル定義の確認やバックアップ、別の環境へのマイグレーションなどにも非常に役立ちます。

基本構文

構文は以下の通りです。

SHOW CREATE TABLE テーブル名;

サンプルテーブルの作成

実際の動作を理解するために、まずサンプル用のテーブルを作成してみましょう。テーブルを作成するクエリは以下の通りです。

mysql> create table StudentInformation
-> (
-> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> StudentName varchar(20),
-> StudentAge int DEFAULT 18,
-> StudentRollNo int,
-> StudentAddress varchar(200),
-> StudentMarks int,
-> StudentDOB datetime,
-> StudentAdmissionDate datetime
-> );
Query OK, 0 rows affected (0.54 sec)

これで「StudentInformation」テーブルが作成されました。

SHOW CREATE TABLEを実行する

次に、先ほどの構文を使って、このテーブルからCREATE TABLE文を生成してみましょう。実行するクエリは以下の通りです。

mysql> SHOW CREATE TABLE StudentInformation;

実行結果は以下のようになります。

+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| StudentInformation | CREATE TABLE `studentinformation` (
`StudentId` int(11) NOT NULL AUTO_INCREMENT,
`StudentName` varchar(20) DEFAULT NULL,
`StudentAge` int(11) DEFAULT '18',
`StudentRollNo` int(11) DEFAULT NULL,
`StudentAddress` varchar(200) DEFAULT NULL,
`StudentMarks` int(11) DEFAULT NULL,
`StudentDOB` datetime DEFAULT NULL,
`StudentAdmissionDate` datetime DEFAULT NULL,
PRIMARY KEY (`StudentId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.04 sec)

補足:出力を見やすく整えるには

出力結果が横長になりすぎて読みにくい場合は、文末のセミコロン(;)の代わりに \G を指定すると、縦方向に整形された読みやすい形式で表示できます。

mysql> SHOW CREATE TABLE StudentInformation\G

また、生成されたCREATE TABLE文はそのままコピーして実行できるため、同じ構造のテーブルを複製したり、テーブル定義をドキュメントとして残したりする際にも活用できます。

  1. MySQLコマンドラインでデータベースを作成する方法を初心者向けに解説

    MySQLコマンドラインでデータベースを作成する手順 この記事では、WindowsのコマンドプロンプトからMySQLに接続し、データベースを作成する一連の手順をスクリーンショット付きで解説します。初心者の方でも迷わず進められるよう、順番に見ていきましょう。 1. コマンドプロンプトを開く まず、コマンドプロンプトを起動します。キーボードのショートカット「Windows + R」キーを押すと、「ファイル名を指定して実行」ダイアログが表示されます。 2. 「CMD」と入力してOKをクリック 表示された入力欄に CMD と入力し、「OK」ボタンをクリックしてください。 3. コマンドプロンプトが

  2. MySQLでインデックス付きのテーブルを作成する方法を徹底解説

    MySQLでは、テーブル作成後にCREATE INDEX文を使うことで、特定のカラムに対してインデックスを追加できます。検索速度の向上やデータ整合性の確保において、インデックスは非常に重要な役割を果たします。この記事では、基本的な構文から実際の実行例まで、順を追ってわかりやすく解説します。インデックス付きテーブルを作成する基本構文まずテーブルを作成し、その後CREATE INDEX文でインデックスを追加します。基本の構文は以下のとおりです。create table yourTableName ( yourColumnName1 dataType, yourColumnName2 dataTyp