CREATE TABLE ... AS SELECT से डेटाबेस कॉपी करना
CREATE TABLE db1.table SELECT * FROM db2.table सिंटैक्स से एक डेटाबेस से दूसरे में तालिका संरचना और डेटा दोनों कॉपी हो जाते हैं।
स्रोत डेटाबेस और तालिका
mysql> USE sample;
mysql> CREATE TABLE DemoTable101 (Id INT, Name VARCHAR(20));
mysql> INSERT INTO DemoTable101 VALUES(101, 'Sam'), (102, 'Bob'), (103, 'David');
लक्ष्य डेटाबेस में कॉपी
mysql> CREATE TABLE web.DemoTable2 SELECT * FROM sample.DemoTable101;
Query OK, 3 rows affected (0.71 sec)
कॉपी की गई तालिका जाँचना
mysql> SELECT * FROM web.DemoTable2;
परिणाम
+------+-------+
| Id | Name |
+------+-------+
| 101 | Sam |
| 102 | Bob |
| 103 | David |
+------+-------+
सीमाएँ:
- इंडेक्स, प्राइमरी की, ऑटो-इंक्रीमेंट, विदेशी कुंजी कॉपी नहीं होते
- केवल कॉलम परिभाषा और डेटा कॉपी होता है
- पूरे डेटाबेस के लिए प्रत्येक तालिका के लिए दोहराएँ या
mysqldumpउपयोग करें - बड़े डेटासेट के लिए
INSERT ... SELECTबैच में करें