পিএইচপিএমইডমিনে বিদ্যমান টেবিলের জন্য কীভাবে তৈরি টেবিল স্ক্রিপ্ট তৈরি করবেন?


উত্তর:


513

স্কয়ার ট্যাবে নিম্নলিখিত কোয়েরিটি ব্যবহার করুন:

SHOW CREATE TABLE tablename

সম্পূর্ণ প্রশ্নটি দেখতে এখানে + হাইপারলিংক + অপশন নামের উপরে রয়েছে, সেখানে সম্পূর্ণ পাঠ্য নির্বাচন করুন


1
কোন ডাটাবেস নির্দিষ্ট করার কোনও উপায় আছে, উদাহরণস্বরূপ যদি আপনার কাছে একই টেবিলের নাম থাকা একাধিক ডাটাবেস থাকে? অথবা সম্ভব না?
দাভোস

6
@ দাভোস এটি ব্যবহার করেন, টেবিল ডাটাবেস_নাম.টিটেবল তৈরি করুন।
ফাহাদ আনজুম

ধন্যবাদ, আমি এটি চেয়েছিলাম
জ্যোতিষবিদ

এটি কোনও ফাইলে রফতানি করতে আমি যুক্তি যুক্ত করতে পারি?
ড্যান

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, মাইএসকিএল ডাম্প কমান্ডটি ব্যবহার করুন:

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, Penguins.sql এ আউটপুট পর্যবেক্ষণ করুন:

/*!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 (alচ্ছিক), এই অতিরিক্ত এক্সিকিউশনাল-কন্ডিশন টোকেনগুলি এইভাবে ছাঁটাই:

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

রান ক্যোয়ারী স্কেল ট্যাব

টেবিলের নামটি তৈরি করুন

ক্লিক করুন

+ বিকল্প -> সম্পূর্ণ পাঠ্য চয়ন করুন -> Go এ ক্লিক করুন

সারণী ক্যোয়ারী তৈরি করুন অনুলিপি করুন এবং আপনি যেখানে নতুন টেবিল তৈরি করতে চান সেখানে আটকান।


সম্পূর্ণ পাঠ্য প্রদর্শনের জন্য টিপটির জন্য ধন্যবাদ, আপনার উত্তর না পাওয়া পর্যন্ত কেন এটি বন্ধ হয়ে যাচ্ছে তা নিশ্চিত ছিলেন না।
ডায়মাস

@ ডায়ামাস আপনাকে পূর্ণ কোয়েরি দেখানোর জন্য পূর্ণ পাঠ্য চয়ন করতে হবে। আমি সম্পূর্ণ জিজ্ঞাসা দেখতে একই করেছি।
সমীর মঙ্গরোলিয়া


2

এটি দেরিতে জবাব হতে পারে। তবে এটি অন্যকে সাহায্য করতে পারে। এটি আমার এসকিউএল ওয়ার্কবেঞ্চে খুব সহজ (আমি ওয়ার্কবেঞ্চ সংস্করণ 6.3 এবং মাই এসকিউএল সংস্করণ 5.1 সম্প্রদায় সংস্করণ ব্যবহার করছি): আপনি যে টেবিলটির জন্য তৈরি স্ক্রিপ্ট চান তার ডান ক্লিক করুন, 'ক্লিপবোর্ডে অনুলিপি করুন -> বিবৃতি তৈরি করুন' বিকল্পটি নির্বাচন করুন। আপনি তৈরি স্ক্রিপ্টটি পেতে চান এমন কোনও পাঠ্য সম্পাদককে কেবল পেস্ট করুন।


0

পিএইচপি ফাংশন ব্যবহার করে।

অবশ্যই ক্যোয়ারী ফাংশন ($ এটি-> মডেল) আপনাকে নিজের পরিবর্তন করতে হবে।

/**
 * 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

আমি এসকিউএল ফাইলে সারণি রফতানি করার অন্য একটি উপায় খুঁজে পেয়েছি।

ধরুন আমার টেবিলটি abs_item_variations

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

0

এসকিউএল হিসাবে পুরো ডাটাবেস নির্বাচনের বিন্যাসটি রফতানি করুন। এখন, যে এসকিউএল ফাইলটি আপনি নোটপ্যাড, নোটপ্যাড ++ বা কোনও সম্পাদক ব্যবহার করে ডাউনলোড করেছেন তা খুলুন। আপনি সমস্ত টেবিল দেখতে পাবেন এবং আপনার ডাটাবেসের প্রশ্নের সন্নিবেশ করান। সমস্ত স্ক্রিপ্ট সেখানে উপলব্ধ হবে।


-2

আরও একটি উপায়। পিএইচপিএমআইএডমিনে বাম প্যানেলে লক্ষ্য সারণিটি নির্বাচন করুন, এক্সপোর্ট র ট্যাবে ক্লিক করুন, ডেটা ব্লকটি নির্বাচন করুন এবং গো বোতামে ক্লিক করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.