CREATE TABLE ... SELECT से नई टेबल में डेटा कॉपी करें
MySQL SELECT INTO (टेबल बनाने वाला) का समर्थन नहीं करता जैसे SQL Server करता है। इसके बजाय, CREATE TABLE ... SELECT का उपयोग करें।
सिंटैक्स
CREATE TABLE नई_टेबल SELECT * FROM मूल_टेबल;
उदाहरण
1. मूल टेबल बनाएं और डेटा डालें
mysql> CREATE TABLE SelectIntoDemo (Id INT, Name VARCHAR(200)); mysql> INSERT INTO SelectIntoDemo VALUES (1, 'Bob'), (2, 'Carol'), (3, 'David');
2. SELECT से नई टेबल बनाएं
mysql> CREATE TABLE yourTempTable SELECT * FROM SelectIntoDemo; Query OK, 3 rows affected
3. सत्यापित करें
mysql> SELECT * FROM yourTempTable;
+------+-------+ | Id | Name | +------+-------+ | 1 | Bob | | 2 | Carol | | 3 | David | +------+-------+
विशेषताएं
- कॉलम परिभाषाएं: SELECT सूची से निहित (नाम, प्रकार)
- इंडेक्स/कंस्ट्रेंट: नहीं कॉपी होते (केवल कॉलम परिभाषाएं और डेटा)
AUTO_INCREMENT: कॉपी नहीं होताPRIMARY KEY: कॉपी नहीं होता
विविधताएं
CREATE TABLE new_tbl LIKE old_tbl;
संरचना + डेटा (दो चरण)
CREATE TABLE new_tbl LIKE old_tbl; INSERT INTO new_tbl SELECT * FROM old_tbl;
यह इंडेक्स, कंस्ट्रेंट, AUTO_INCREMENT संरक्षित करता है।