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

別のテーブルの構造と同じMySQLテーブルの構造を自動的に定義するにはどうすればよいですか?


LIKEキーワードを指定したCREATETABLEコマンドは、MySQLテーブルの構造を別のテーブルの構造と同じように定義できます。

構文
CREATE TABLE new_table LIKE old_table;
mysql> Create table employee(ID INT PRIMARY KEY NOT NULL AUTO_INCREMENT, NAME VARCHAR(20));
Query OK, 0 rows affected (0.21 sec)

mysql> Describe employee;

+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| ID    | int(11)     | NO   | PRI | NULL    | auto_increment |
| NAME  | varchar(20) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+

2 rows in set (0.07 sec)

以下のクエリは、テーブルemployeeと同様の構造を持つテーブルemployee1を作成します。 DESCRIBEクエリを実行することで確認できます。

mysql> create table employee1 like employee;
Query OK, 0 rows affected (0.19 sec)

mysql> describe employee1;

+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| ID    | int(11)     | NO   | PRI | NULL    | auto_increment |
| NAME  | varchar(20) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+

2 rows in set (0.14 sec)

  1. MySQLテーブルの列の名前を取得するにはどうすればよいですか?

    これにはSHOWコマンドを使用できます。 以下は構文です- show columns from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    StudentFirstName varchar(20),    StudentLastName varchar(20),    StudentAge int,  

  2. MySQLでテーブルの構造を複製するにはどうすればよいですか?

    MySQLでクローンを作成するには、LIKE句を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1 -> ( -> StudentId int, -> StudentName varchar(20) -> ); Query OK, 0 rows affected (0.55 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 values(100,'John'); Query OK, 1 row aff