Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL UNION का उपयोग करके दो टेबल को मर्ज करके नई टेबल बनाना

समाधान: CREATE TABLE ... SELECT ... UNION

दो टेबल के डेटा को मर्ज करके एक नई टेबल बनाने के लिए UNION के साथ CREATE TABLE ... SELECT का उपयोग करें।

सिंटैक्स

CREATE TABLE yourNewTableName 
(SELECT * FROM yourTableName1) 
UNION 
(SELECT * FROM yourTableName2);

व्यावहारिक उदाहरण

दो टेबल बनाना

mysql> CREATE TABLE Old_TableDemo (
    -> UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> UserName VARCHAR(20)
    -> );

mysql> CREATE TABLE Old_TableDemo2 (
    -> UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> UserName VARCHAR(20)
    -> );

पहली टेबल में डेटा

mysql> INSERT INTO Old_TableDemo(UserName) VALUES('John'), ('Carol');
mysql> SELECT * FROM Old_TableDemo;
+--------+----------+
| UserId | UserName |
+--------+----------+
| 1      | John     |
| 2      | Carol    |
+--------+----------+

दूसरी टेबल में डेटा

mysql> INSERT INTO Old_TableDemo2(UserName) VALUES('Larry'), ('Sam');
mysql> SELECT * FROM Old_TableDemo2;
+--------+----------+
| UserId | UserName |
+--------+----------+
| 1      | Larry    |
| 2      | Sam      |
+--------+----------+

UNION के साथ नई टेबल बनाना

mysql> CREATE TABLE UserTableDemo
    -> (SELECT * FROM Old_TableDemo)
    -> UNION
    -> (SELECT * FROM Old_TableDemo2);
Query OK, 4 rows affected (1.18 sec)

नई टेबल का डेटा

mysql> SELECT * FROM UserTableDemo;
+--------+----------+
| UserId | UserName |
+--------+----------+
| 1      | John     |
| 2      | Carol    |
| 1      | Larry    |
| 2      | Sam      |
+--------+----------+

महत्वपूर्ण नोट्स

  • UNION डुप्लीकेट पंक्तियों को हटा देता है (सभी कॉलम समान होने पर)
  • UNION ALL डुप्लीकेट रखता है - तेज़ होता है
  • दोनों SELECT में कॉलम संख्या और क्रम समान होना चाहिए
  • नई टेबल में AUTO_INCREMENT नहीं होगा (स्पष्ट रूप से परिभाषित करें यदि आवश्यक)
  1. - MySQL में दो टेबल पर एकल SELECT क्वेरी करना (कार्टेशियन उत्पाद)

    MySQL में दो टेबल पर कार्टेशियन उत्पाद (क्रॉस जॉइन) दो टेबल पर बिना जॉइन शर्त के SELECT करने से कार्टेशियन उत्पाद (क्रॉस जॉइन) उत्पन्न होता है: पहली टेबल की प्रत्येक पंक्ति दूसरी टेबल की प्रत्येक पंक्ति के साथ जुड़ती है। परिणाम पंक्तियाँ = पंक्तियाँ_टेबल1 × पंक्तियाँ_टेबल2। उदाहरण: दो असंबंधित टेबल

  1. - MySQL में इंडेक्स के साथ तालिका कैसे बनाएं?

    MySQL में तालिका निर्माण के बाद CREATE INDEX स्टेटमेंट का उपयोग करके इंडेक्स बनाए जा सकते हैं, या तालिका निर्माण के समय परिभाषित किए जा सकते हैं। विधि 1: तालिका निर्माण के बाद CREATE TABLE table_name ( col1 datatype, col2 datatype ); CREATE INDEX index_name1 ON table_name (col1); CREATE IN

  1. - MySQL में IN() क्लॉज़ के साथ एक क्वेरी में रिकॉर्ड कैसे डिलीट करें?

    MySQL में एक ही क्वेरी में एकाधिक विशिष्ट रिकॉर्ड डिलीट करने के लिए, DELETE स्टेटमेंट के साथ IN() ऑपरेटर का उपयोग करें। यह एकाधिक DELETE स्टेटमेंट चलाने से अधिक कुशल और पठनीय है। उदाहरण: विशिष्ट StudentId वाले रिकॉर्ड डिलीट करना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1922 ( StudentI