MYSQL ডাম্প কেবল নির্দিষ্ট সারি


97

আমি আমার ডাটাবেসে কয়েকটি সারি একটি মাইএসকিএল ডাম্প করার চেষ্টা করছি। তারপরে আমি এই কয়েকটি সারি অন্য ডাটাবেসে আপলোড করতে ডাম্পটি ব্যবহার করতে পারি। আমার কাছে কোডটি কাজ করছে তবে এটি সমস্ত কিছুই ফেলে দেয়। আমি কেবল কোনও টেবিলের নির্দিষ্ট সারি ডাম্প করার জন্য কীভাবে মাইএসকিএলডাম্প পেতে পারি?

আমার কোডটি এখানে:


mysqldump --opt --user=username --password=password lmhprogram myResumes  --where=date_pulled='2011-05-23' > test.sql

উত্তর:


143

আপনার --whereবিকল্পটি ঠিক করুন । এটি যেমন একটি বৈধ এসকিউএল যেখানে হওয়া উচিত, যেমন:

--where="date_pulled='2011-05-23'"

আপনার উদ্ধৃতিগুলির বাইরে কলামের নাম রয়েছে।


4
ধন্যবাদ আমার যা প্রয়োজন ঠিক তা করেছে। সাহায্যের জন্য ধন্যবাদ!
শটুক

@ এজে, দুর্দান্ত তথ্য! ধন্যবাদ!
রোমান নেওয়াজা

4
জন্য ইন অবস্থায়, কেবলমাত্র আমরা ব্যবহার করতে পারেন --where="id IN(1,2,6,10)"। যেখানে আইডি টেবিলের কলাম হয়। রেফ
যোগেশ

9
মাঝখানে ভেঙে যাওয়া অন্য সার্ভারে একটি বড় ডেটাডাম্পটি পাইপ করার জন্য এটি ব্যবহার করার মতো আমার মতো কারও কাছে কেবল একটি নোট, যদি আপনি --no-create-infoযেখানে আপনার ক্লজটির সাথে নির্দিষ্ট না করেন তবে নতুন ডাম্পটি টেবিলটি পুনরায় তৈরি করবে এবং ইতিমধ্যে স্থানান্তরিত ডেটা মুছে ফেলবে! সুস্পষ্ট হতে পারে তবে এটি এখন দু'বার আমাকে ধরেছে।
জর্জিসিসি

নোট করুন যে সমস্যাটি কলামের নামটি কোটের বাইরে নয়। এটি শেল কমান্ড, সুতরাং আপনার স্ট্রিংয়ের জন্য শেল সিনট্যাক্স লিখতে হবে date_pulled='2011-05-23'। এর অর্থ আপনার একক উদ্ধৃতি বর্ণগুলি উদ্ধৃত করা বা পালানো দরকার, সুতরাং সেগুলি শেল বাক্য বিন্যাসে উদ্ধৃতি হিসাবে ব্যাখ্যা করার চেয়ে স্ট্রিংয়ের অন্তর্ভুক্ত। পুরো জিনিসটির চারপাশে ডাবল উক্তি যুক্ত করা এটি করে তবে তা --where=date_pulled="'2011-05-23'"(বা --where=date_pulled=\'2011-05-23\', বা এমনকি --where=date_pulled"'"2011-05-23"'") হবে।
বেন

32

আপনাকে "কোথায়" ধারাটি উদ্ধৃত করতে হবে।

চেষ্টা করুন

mysqldump --opt --user=username --password=password lmhprogram myResumes  --where="date_pulled='2011-05-23'" > test.sql

4
এটাই আমার দরকার ছিল। অন্য একজন আপনার ঠিক আগে উত্তর দিয়েছিল এবং আমি তার উত্তরটি নির্বাচন করেছি, তবে আমি আপনাকে সাহায্যের জন্য উন্নীত করেছি।
শটুক

4
কোয়েরির মতো আরও একটি উপায় ব্যবহার করার উপায় রয়েছে: টেবিলটি নতুন_সামগ্রী হিসাবে তৈরি করুন (আমার রেজিউমস থেকে * নির্বাচন করুন যেখানে = = তারিখ_পুলযুক্ত = '2011-05-23'); তারপরে আপনি কেবল এই টেবিলটি মাইএসকিএলডম্পের মাধ্যমে রফতানি করতে পারবেন।
বিনায়াগম

1

LIKE শর্ত ব্যবহার করে নির্দিষ্ট টেবিল সারিগুলির জন্য এই কোডটি ব্যবহার করুন।

mysqldump -u root -p sel_db_server case_today --where="date_created LIKE '%2018
%'" > few_rows_dump.sql
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.