MySQL

2011-07-06 7 views
32

में किसी डेटाबेस में सभी तालिकाओं के लिए डीडीएल कैसे उत्पन्न करें, एक बार में MySQL के डेटाबेस में सभी तालिकाओं के लिए डीडीएल कैसे उत्पन्न करें। मुझे पता है कि निम्न क्वेरी तालिका के लिए डीडीएल आउटपुट करेगी। लेकिन मैं एक ही समय में सभी तालिकाओं का डीडीएल चाहता हूं क्योंकि मेरे डेटाबेस में सैकड़ों टेबल हैं।MySQL

show create table <database name>.<table name>; 

उदाहरण के लिए:

show create table projectdb.customer_details; 

ऊपर क्वेरी customer_details तालिका के DDL का परिणाम देगा।

मैं विंडोज ओएस पर MySQL वर्कबेंच के साथ MySQL का उपयोग कर रहा हूं।

उत्तर

57

आप mysqldump कमांड लाइन उपयोगिता का उपयोग यह कर सकते हैं:

mysqldump -d -u <username> -p<password> -h <hostname> <dbname> 

-d विकल्प "डेटा के बिना" का अर्थ है।

+0

मुझे त्रुटि मिल रही है। यहां मेरा आदेश है: mysqldump -d -u root -p pps -h 127.0.0.1 shopping_store; – Pargat

+4

आपको क्या त्रुटि मिल रही है? यह शायद "-p" और आपके पासवर्ड के बीच की जगह के कारण हो सकता है। – Swapnil

+3

उपरोक्त। आपके उत्तर में केवल एक वाक्यविन्यास त्रुटि है। विकल्प '-p' एक तर्क स्वीकार नहीं करता है, इसलिए यदि आप इस विकल्प ध्वज के बाद अपना पासवर्ड लिखने का प्रयास करते हैं, तो mysqldump इसे डेटाबेस नाम के रूप में व्याख्या करेगा। बस इसे '' के बिना उपयोग करें, कमांड निष्पादित करने के बाद इसका अनुरोध किया जाएगा। – tftdias

-1

आपको डेटाबेस में सभी तालिकाओं की सूची मिलनी चाहिए और फिर यह क्वेरी चलाएं। जांच के लिए इस लिंक सभी तालिकाओं की सूची प्राप्त करने:

मुद्दा -p और पासवर्ड के रूप में 'पी पी एस' के बीच की जगह था: http://php.net/manual/en/function.mysql-list-tables.php

+0

वह फ़ंक्शन PHP 5.5 के रूप में बहिष्कृत किया गया है। वे 'कुछ समय से दिखाए गए टैबलेट' का उपयोग करने की सलाह देते हैं (मुझे लगता है कि उनका मतलब था 'somedb')। – Ben

0

@tftdias ऊपर एक टिप्पणी है कि आंशिक रूप से सही है बनाया है। आप कमांड लाइन पर अपने पासवर्ड को पूरी तरह से freetext कर सकते हैं। आपको सामान्य सुरक्षा नियम के रूप में नहीं होना चाहिए। लिनक्स में, उचित कॉन्फ़िगरेशन के साथ, आप अपनी कमांड लाइन पर पहले वर्ण से पहले एक स्पेस ("") जोड़ सकते हैं, और वह लाइन 'इतिहास' में प्रवेश नहीं करेगी। मैं अनुशंसा करता हूं कि जब भी आप अपना पासवर्ड साफ़ करें (ऐसा न करें!), कि आप कम से कम पहले एक स्थान डाल दें ताकि पासवर्ड दृश्यमान इतिहास में न हो।

 संबंधित मुद्दे