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

MySQL में एक टेबल से दूसरी टेबल में डेटा कॉपी करें और एक कॉलम का मान सेट करें


INSERT INTO ... SELECT से डेटा कॉपी और डिफ़ॉल्ट मान

MySQL में एक टेबल से दूसरी टेबल में डेटा कॉपी करते समय किसी कॉलम के लिए निश्चित मान सेट करने के लिए INSERT INTO ... SELECT सिंटैक्स का उपयोग करें।

स्रोत टेबल बनाएं

mysql> CREATE TABLE insertOneToAnotherTable (
    -> Value INT
    -> );
mysql> INSERT INTO insertOneToAnotherTable VALUES(100), (200), (300), (400), (500), (600);

स्रोत डेटा:

+-------+
| Value |
+-------+
| 100   |
| 200   |
| 300   |
| 400   |
| 500   |
| 600   |
+-------+

लक्ष्य टेबल बनाएं

mysql> CREATE TABLE receiveDataFromTable (
    -> Value1 INT,
    -> Value2 INT
    -> );

डेटा कॉपी करें और Value2 को 1000 सेट करें

mysql> INSERT INTO receiveDataFromTable(Value1, Value2)
    -> SELECT Value, 1000 FROM insertOneToAnotherTable;

आउटपुट: Query OK, 6 rows affected (0.14 sec) Records: 6 Duplicates: 0 Warnings: 0

लक्ष्य टेबल में परिणाम:

mysql> SELECT * FROM receiveDataFromTable;
+--------+--------+
| Value1 | Value2 |
+--------+--------+
| 100    | 1000   |
| 200    | 1000   |
| 300    | 1000   |
| 400    | 1000   |
| 500    | 1000   |
| 600    | 1000   |
+--------+--------+

मुख्य बिंदु:

  • SELECT Value, 1000 - पहला कॉलम स्रोत टेबल से, दूसरा निश्चित मान 1000
  • कॉलम क्रम और संख्या INSERT INTO और SELECT में मेल खाने चाहिए
  • WHERE क्लॉज जोड़कर चुनिंदा पंक्तियाँ कॉपी कर सकते हैं
  • एक्सप्रेशन भी उपयोग कर सकते हैं: SELECT Value, Value * 2

सावधानी: यदि लक्ष्य टेबल में PRIMARY KEY या UNIQUE कंस्ट्रेंट हो, तो डुप्लीकेट से बचें।

  1. - MySQL में INSERT INTO SELECT से एक टेबल से दूसरी टेबल में पंक्तियाँ कॉपी करें

    INSERT INTO ... SELECT स्टेटमेंट का उपयोग करके एक टेबल से दूसरी टेबल में पंक्तियाँ कॉपी करें (शर्त के साथ)। स्रोत टेबल mysql> CREATE TABLE DemoTable1879 (Id INT, Name VARCHAR(20)); mysql> INSERT INTO DemoTable1879 VALUES(101, Chris Brown), (102, David Miller), (103, Adam Smith); लक्ष्य टेबल

  1. - MySQL में कॉलम मान के पहले अक्षर को प्राप्त करके दूसरे कॉलम में डालें

    समाधान LEFT() फंक्शन का उपयोग करके पहले अक्षर को निकालें और UPDATE से दूसरे कॉलम में स्टोर करें। उदाहरण टेबल बनाएं: INSERT INTO DemoTable2036 (Title) VALUES (Chris), (John), (Adam); अपडेट क्वेरी UPDATE DemoTable2036 SET FirstLetter = LEFT(Title, 1); परिणाम +-------------+-------+ | FirstLetter

  1. - MySQL में INSERT INTO SELECT से दूसरी टेबल के मान लेकर नई टेबल भरें

    सिंटैक्स insert into targetTable(col1, col2) select sourceCol1, sourceCol2 from sourceTable where condition; उदाहरण insert into demo83(id,username) select id,name from demo82 where id=101; परिणाम +------+----------+ | id | username | +------+----------+ | 101 | Bob | | 101 | David |