Phpmyadmin में मौजूदा तालिका के लिए एक तालिका तालिका स्क्रिप्ट कैसे जनरेट करें?


जवाबों:


513

Sql टैब में निम्नलिखित क्वेरी का उपयोग करें:

SHOW CREATE TABLE tablename

पूरी क्वेरी देखने के लिए, इस हाइपरलिंक का नाम + विकल्प ऊपर दिया गया है, वहाँ पूर्ण टेक्स्ट चुनें


1
क्या किसी डेटाबेस को निर्दिष्ट करने का एक तरीका है, उदाहरण के लिए यदि आपके पास एक से अधिक डेटाबेस हैं जिनमें समान टैक्लेनम हैं? या यह संभव नहीं है?
दावोस

6
@Davos इसका उपयोग करते हैं, तालिका डेटाबेस_नाम.टैबेलनेम बनाते हैं।
फहद अंजुम

धन्यवाद, यही मैं चाहता था
ज्योतिषी

क्या ऐसे तर्क हैं जो मैं इसे किसी फ़ाइल में निर्यात करने के लिए जोड़ सकता हूं?
दान।

40

SHOW CREATE TABLE <table name>क्वेरी चलाएँ ।


4
+1। नोट: यदि कमांड लाइन से क्वेरी चल रही है, ;तो अंत में आवश्यक है।
रोक

15

क्रिएट टेबल स्क्रिप्ट को सहेजने का काम माईस्कलाडमिन कर सकता है।

चरण 1, एक तालिका बनाएँ, कुछ पंक्तियाँ डालें:

create table penguins (id int primary key, myval varchar(50))
insert into penguins values(2, 'werrhhrrhrh')
insert into penguins values(25, 'weeehehehehe')
select * from penguins

चरण 2, mysql डंप कमांड का उपयोग करें:

mysqldump --no-data --skip-comments --host=your_database_hostname_or_ip.com -u your_username --password=your_password your_database_name penguins > penguins.sql

चरण 3, पेंगुइन में उत्पादन का निरीक्षण करें। एसक्एल:

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
DROP TABLE IF EXISTS `penguins`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `penguins` (
  `id` int(11) NOT NULL,
  `myval` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

आउटपुट ऊपर और नीचे निष्पादन-स्थिति के टोकन की एक संख्या द्वारा बरबाद किया जाता है। यदि आप उन्हें अगले चरण में नहीं चाहते हैं तो आप उन्हें फ़िल्टर कर सकते हैं।

चरण 4 (वैकल्पिक), इस तरह से उन अतिरिक्त निष्पादन-स्थिति टोकन को फ़िल्टर करें:

mysqldump --no-data --skip-comments --compact --host=your_database_hostname_or_ip.com -u your_username --password=your_password your_database_name penguins > penguins.sql

जो अंतिम उत्पादन का उत्पादन करता है:

eric@dev /home/el $ cat penguins.sql

DROP TABLE IF EXISTS `penguins`;
CREATE TABLE `penguins` (
  `id` int(11) NOT NULL,
  `myval` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

9

रन क्वेरी sql टैब है

शो टेबल टेबल बना

पर क्लिक करें

+ विकल्प -> पूर्ण पाठ चुनें -> जाओ पर क्लिक करें

प्रतिलिपि बनाएँ तालिका क्वेरी और पेस्ट करें जहाँ आप नई तालिका बनाना चाहते हैं।


पूर्ण पाठ प्रदर्शित करने के लिए टिप के लिए धन्यवाद, यह निश्चित नहीं था कि जब तक मैंने आपका उत्तर नहीं देखा, तब तक इसे क्यों काट दिया गया।
दयमास

@Dymas आपको पूर्ण क्वेरी दिखाने के लिए पूर्ण पाठों का चयन करना है। मैंने पूरी क्वेरी देखने के लिए ऐसा ही किया है।
समीर मांगरोलिया


2

यह देर से जवाब हो सकता है। लेकिन यह दूसरों की मदद कर सकता है। यह मेरी एसक्यूएल वर्कबेंच (मैं वर्कबेंच संस्करण 6.3 और मेरा एसक्यूएल संस्करण 5.1 सामुदायिक संस्करण का उपयोग कर रहा हूं) में बहुत सरल है: जिस तालिका पर आप स्क्रिप्ट बनाना चाहते हैं उसके लिए राइट क्लिक करें, 'कॉपी टू क्लिपबोर्ड -> स्टेटमेंट बनाएं' विकल्प चुनें। बस किसी भी टेक्स्ट एडिटर में पेस्ट करें जिसे आप स्क्रिप्ट बनाना चाहते हैं।


0

PHP फ़ंक्शन का उपयोग करना।

बेशक क्वेरी फ़ंक्शन ($ यह-> मॉडल) आपको अपने स्वयं के लिए बदलना होगा।

/**
 * Creating a copy table based on the current one
 * 
 * @param type $table_to_copy
 * @param type $new_table_name
 * @return type
 * @throws Exception
 */
public function create($table_to_copy, $new_table_name)
{
    $sql = "SHOW CREATE TABLE ".$table_to_copy;

    $res = $this->model->queryRow($sql, PDO::FETCH_ASSOC);

    if(!filled($res['Create Table']))
        throw new Exception('Could not get the create code for '.$table_to_copy);

    $newCreateSql = preg_replace(array(
        '@CREATE TABLE `'.$table_to_copy.'`@',
        '@KEY `'.$table_to_copy.'(.*?)`@',
        '@CONSTRAINT `'.$table_to_copy.'(.*?)`@',
        '@AUTO_INCREMENT=(.*?) @',
    ), array(
        'CREATE TABLE `'.$new_table_name.'`',
        'KEY `'.$new_table_name.'$1`',
        'CONSTRAINT `'.$new_table_name.'$1`',
        'AUTO_INCREMENT=1 ',
    ), $res['Create Table']);

    return $this->model->exec($newCreateSql);
}

0

मुझे sql फ़ाइल में तालिका निर्यात करने का एक और तरीका मिला।

मान लीजिए मेरी टेबल है abs_item_variations

abs_item_variations ->structure -> propose table structure -> export -> Go

0

SQL के रूप में पूरे डेटाबेस का चयन करें प्रारूप निर्यात करें। अब, उस SQL ​​फ़ाइल को खोलें जिसे आपने नोटपैड, नोटपैड ++ या किसी संपादक का उपयोग करके डाउनलोड किया है। आपको सभी तालिकाएँ दिखाई देंगी और अपने डेटाबेस के प्रश्नों को सम्मिलित करेंगी। सभी स्क्रिप्ट वहां उपलब्ध होंगी।


-2

एक और तरीका। PhpMyAdmin में बाएं पैनल में लक्ष्य तालिका का चयन करें, निर्यात टैब पर क्लिक करें, डेटा ब्लॉक को अचयनित करें और Go बटन पर क्लिक करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.