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

MySQL में LIKE का उपयोग करके पहली टेबल से नई टेबल कैसे बनाएं

CREATE TABLE ... LIKE के साथ टेबल स्ट्रक्चर कॉपी करना

मौजूदा टेबल की संरचना (कॉलम्स, इंडेक्सेस, कंस्ट्रेंट्स) कॉपी करके नई टेबल बनाने के लिए CREATE TABLE ... LIKE का उपयोग करें। ध्यान दें: यह केवल स्ट्रक्चर कॉपी करता है, डेटा नहीं।

पहली टेबल बनाएं:

mysql> CREATE TABLE DemoTable1 (
    EmployeeId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    EmployeeName VARCHAR(50)
);

रिकॉर्ड्स इन्सर्ट करें:

mysql> INSERT INTO DemoTable1 (EmployeeName) VALUES ('Tom');
mysql> INSERT INTO DemoTable1 (EmployeeName) VALUES ('Mike');
mysql> INSERT INTO DemoTable1 (EmployeeName) VALUES ('Emma');
mysql> INSERT INTO DemoTable1 (EmployeeName) VALUES ('Sam');

पहली टेबल के रिकॉर्ड्स देखें:

mysql> SELECT * FROM DemoTable1;

आउटपुट:

+------------+--------------+
| EmployeeId | EmployeeName |
+------------+--------------+
| 1          | Tom          |
| 2          | Mike         |
| 3          | Emma         |
| 4          | Sam          |
+------------+--------------+

पहली टेबल जैसी संरचना वाली नई टेबल बनाएं:

mysql> CREATE TABLE DemoTable2 LIKE DemoTable1;

आउटपुट: Query OK, 0 rows affected

नई टेबल का विवरण देखें:

mysql> DESC DemoTable2;

आउटपुट:

+--------------+-------------+------+-----+---------+----------------+
| Field        | Type        | Null | Key | Default | Extra          |
+--------------+-------------+------+-----+---------+----------------+
| EmployeeId   | int(11)     | NO   | PRI | NULL    | auto_increment |
| EmployeeName | varchar(50) | YES  |     | NULL    |                |
+--------------+-------------+------+-----+---------+----------------+

महत्वपूर्ण बिंदु:

  • क्या कॉपी होता है: कॉलम परिभाषाएं, इंडेक्सेस, प्राइमरी की, फॉरेन की, डिफॉल्ट मान, ऑटो_इन्क्रीमेंट सेटिंग
  • क्या कॉपी नहीं होता: डेटा (रिकॉर्ड्स), ट्रिगर्स, पार्टीशनिंग, फॉरेन की कंस्ट्रेंट्स (कुछ संस्करणों में)
  • डेटा भी कॉपी करने के लिए: CREATE TABLE DemoTable2 AS SELECT * FROM DemoTable1; (लेकिन यह इंडेक्सेस/कंस्ट्रेंट्स कॉपी नहीं करता)
  • दोनों के लिए: पहले LIKE से स्ट्रक्चर कॉपी करें, फिर INSERT INTO DemoTable2 SELECT * FROM DemoTable1;

उपयोग के मामले: टेस्ट टेबल बनाना, बैकअप स्ट्रक्चर, माइग्रेशन स्क्रिप्ट्स में स्कीमा रिप्लिकेशन।

  1. - MySQL टेबल से नए जोड़े गए रिकॉर्ड प्राप्त करना

    ORDER BY DESC और LIMIT से नवीनतम रिकॉर्ड ऑटो-इंक्रीमेंट आईडी या टाइमस्टैम्प कॉलम पर ORDER BY ... DESC के साथ LIMIT का उपयोग करके नवीनतम रिकॉर्ड प्राप्त करें। तालिका और डेटा (John Smith), (Adam Smith), (Carol Taylor); नवीनतम 3 रिकॉर्ड LIMIT 3; परिणाम +-----------+--------------+ | StudentId |

  1. - MySQL में JOIN से दूसरी टेबल के ID द्वारा उपयोगकर्ता नाम कैसे प्राप्त करें?

    JOIN सिंटैक्स select username from table1 join table2 on table1.id = table2.fk_id; उदाहरण टेबल 1 (demo77): userid (PK), username insert into demo77 values(1,John), (2,Bob), (3,Mike); टेबल 2 (demo78): id (PK, FK→demo77), countryname insert into demo78 values(1,US), (2,AUS); JOIN क्वेरी और परिणा

  1. - Python में MySQL का उपयोग करके टेबल से सभी डेटा चुनना

    MySQL में टेबल पंक्तियों और कॉलम से बने होते हैं। कॉलम फ़ील्ड निर्दिष्ट करते हैं और पंक्तियाँ डेटा के रिकॉर्ड निर्दिष्ट करती हैं। टेबल में डेटा को उपयोग के लिए लाने की आवश्यकता होती है। हमें कभी-कभी MySQL टेबल से सभी डेटा लाने की आवश्यकता होती है। SELECT * स्टेटमेंट का उपयोग करके टेबल से सभी पंक्ति