テーブルとそのデータ、トリガー、インデックスを複製/複製するにはどうすればよいですか?
古いテーブルと同じように、データ、トリガー、インデックスとともに新しいテーブルを作成するには、次の2つのクエリを実行する必要があります
CREATE TABLE new_table LIKE old_table; INSERT new_table SELECT * from 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) mysql> Insert into employee(name) values('Gaurav'),('Raman'); Query OK, 2 rows affected (0.07 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> Select * from employee; +----+--------+ | ID | NAME | +----+--------+ | 1 | Gaurav | | 2 | Raman | +----+--------+ 2 rows in set (0.00 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)
これで、以下のクエリにより、employee1にemployeeと同じ値が挿入されます。これは以下のように確認できます
mysql> INSERT INTO employee1 select * from employee; Query OK, 2 rows affected (0.09 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from employee1; +----+--------+ | ID | NAME | +----+--------+ | 1 | Gaurav | | 2 | Raman | +----+--------+ 2 rows in set (0.00 sec)
このようにして、データ、トリガー、インデックスとともにテーブルのクローンを作成できます。
-
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
-
インデックスを使用してMySQLテーブルを作成するにはどうすればよいですか?
インデックスを使用してMySQLテーブルを作成するための構文は、次のとおりです- create table yourTableName ( yourColumnName1 dataType, yourColumnName2 dataType . . . N ); create index yourIndexName1 on(yourColumnName1 ); create index yourIndexName2 on(yourColumnName2 ); まずテーブルを作成しましょう- mysql> create table DemoTable ->