MySQL में CREATE TABLE ... AS SELECT का उपयोग करके कॉलम कॉपी करना
एक कॉलम के मानों को नई टेबल में कॉपी करने का सबसे सरल तरीका है CREATE TABLE ... AS SELECT स्टेटमेंट का उपयोग करना। यह एक ही कमांड में नई टेबल बनाता है और डेटा डालता है।
उदाहरण: Score कॉलम को नई टेबल में कॉपी करें
स्रोत टेबल बनाएं:
CREATE TABLE DemoTable1 (
Score INT
);
INSERT INTO DemoTable1 VALUES (89), (98), (91);
स्रोत डेटा:
+-------+ | Score | +-------+ | 89 | | 98 | | 91 | +-------+
एक कमांड में नई टेबल बनाएं और डेटा कॉपी करें
CREATE TABLE DemoTable2 (
StudentScore INT
) AS SELECT Score AS StudentScore FROM DemoTable1;
परिणाम:
Query OK, 3 rows affected (0.81 sec) Records: 3 Duplicates: 0 Warnings: 0
नई टेबल की जांच करें
SELECT StudentScore FROM DemoTable2;
+--------------+ | StudentScore | +--------------+ | 89 | | 98 | | 91 | +--------------+
महत्वपूर्ण बिंदु
AS SELECT— नई टेबल की संरचना SELECT क्वेरी के परिणाम से निर्धारित होती है- कॉलम नाम बदलने के लिए
ASएलियास का उपयोग करें - इंडेक्स, प्राइमरी की, ऑटो_इन्क्रीमेंट, डिफॉल्ट वैल्यू आदि कॉपी नहीं होते
- केवल कॉलम नाम, डेटा टाइप और डेटा कॉपी होता है
वैकल्पिक तरीका
यदि टेबल पहले से मौजूद है, तो INSERT INTO ... SELECT का उपयोग करें:
CREATE TABLE DemoTable2 (StudentScore INT); INSERT INTO DemoTable2 (StudentScore) SELECT Score FROM DemoTable1;