পিএসকিএল: নির্বাচন করুন ... ... একটি কলাম বাদে


10

আমি পিএসকিএল ব্যতীত সমস্ত কলামগুলি নির্বাচন করার জন্য একটি সহজ উপায় অনুসন্ধান করি।

সঙ্গে psqlআমি বলতে চাচ্ছি ইন্টারেক্টিভ কমান্ড লাইন।

*উদ্ধৃত কলামের নামের তালিকায় প্রসারিত এমন একটি সরঞ্জামের সাথে আমি খুশি হব । তারপরে আমি হাত দিয়ে কলামটি সরিয়ে ফেলতে পারতাম।

আমার প্রশ্নটি কেবলমাত্র পিএসএইচএল এর ইন্টারেক্টিভ ব্যবহার সম্পর্কে। এটি স্কিল স্ট্যান্ডার্ড নিয়ে অসন্তুষ্ট এবং যারা "সিলেক্ট * -ফু" এর মতো কিছু সম্পাদন করতে চায় তাদের প্রশ্নের নকল নয়।


3
দুঃখিত একটি আছে। আপনি information_schemaখুব সহজেই একটি তালিকা তৈরি করতে একটি pl / pgsql ফাংশনটির মাধ্যমে জিজ্ঞাসা করতে পারেন, তবে সেভাবে এটি দুটি প্রশ্ন হবে।
ক্রেগ রিঞ্জার

2
বেশিরভাগ জিইউআই সরঞ্জামগুলি এটি করতে পারে। তবে আপনি যদি কমান্ড লাইনে আটকে থাকতে চান (বা করতে চান), এটি সম্ভবত সহায়তা করবে: github.com/dbcli/pgcli
a_horse_with_no_name

@ a_horse_with_no_name আমি আপনার "উত্তর" গ্রহণ করতে চাই আপনি কি দয়া করে একটি উত্তর পোস্ট করতে পারেন এবং প্রশ্নটি সমাধান করার জন্য pgcli সরঞ্জামের ব্যবহার ব্যাখ্যা করতে পারেন।
গেটল্লি

কোন কলাম বাদে? শেষটা? প্রথমটি? বা এলোমেলো এক?
বিএই

1
@ চেংচেংপি: কোনও descকমান্ড নেইpsql
এ_হর্স_বিহীন_নো নাম

উত্তর:


4

খারাপ কলাম ছাড়াই ডিফল্ট ক্রমে কলামগুলির তালিকা পেতে:

SELECT string_agg(quote_ident(attname), ', ' ORDER BY attnum)
FROM   pg_attribute
WHERE  attrelid = 'myschema.mytable'::regclass
AND    NOT attisdropped  -- no dropped (dead) columns
AND    attnum > 0        -- no system columns
AND    attname <> 'bad_column'  -- case sensitive!

অথবা ঠিক WHERE attrelid = 'mytable'::regclassযদি আপনি সঠিক স্কিমা সমাধানের জন্য অনুসন্ধানের পথে বিশ্বাস করেন ।

quote_ident() যেখানে প্রয়োজন সেখানে ডাবল-কোট যুক্ত করুন।

আমি 2007 সালে pgsql- জেনারেল একই প্রশ্ন জিজ্ঞাসা । এটি পোস্টগ্রেস ছিল 8.2 ফিরে। মধুর স্মৃতিগুলো ...

সম্পর্কিত:


1
এটি পিএসকিএল-তে ব্যাকস্ল্যাশ কমান্ড যুক্ত করা একটি করণীয় আইটেমের মতো মনে হচ্ছে যা একটি স্ট্রিং নির্গত করবে যা একটি টেবিলের জন্য সমস্ত কলামের তালিকা, যথাযথভাবে উদ্ধৃত। এবং আপনি এটি যে কোনও কলাম কমান্ডের অতিরিক্ত আর্গুমেন্ট হিসাবে অন্তর্ভুক্ত বাদ দিতে পারে। অনুমানকভাবে \dq thetable bad_column
jjanes

@ জাজানেস: আমি নিশ্চিত নই যে এটি মূল বিকাশকারীদের qএই কাজের জন্য বিনামূল্যে চিঠি বরাদ্দ করতে বোঝাতে যথেষ্ট চাহিদা তৈরি করতে পারে । সংক্ষিপ্ত \dনামের একটি খালি তালিকা প্রদর্শন করার জন্য কমান্ডগুলির পুরো পরিবারের কাছে একটি সাধারণ বিকল্প ? লাইক \d- tbl(মেমোনমিক: এর বিপরীত \d+, যা আরও বিশদ দেখায় )। এটি মূলত কোনও অবজেক্টের খালি তালিকা পেতে দেয় । একটি স্কিমা মধ্যে টেবিল: \dt- public.*"f_foo" দিয়ে শুরু ফাংশন: \df- f_foo*ইত্যাদি - বা কলাম একটি সারণী: \d- mytbl। শেল কমান্ড যা করে তার অনুরূপ ls...
এরউইন ব্র্যান্ডসটেটার

আমি তোমাকে অনুগ্রহ দিই। তবে পিএসকিএল-তে অন্তর্নির্মিত কিছু সত্যিই একটি দুর্দান্ত বৈশিষ্ট্য হবে। ধন্যবাদ
ইরভিন

0

আমি মনে করি আপনি যা সন্ধান করছেন তা আমি পেয়েছি তবে আমি নিজে এটি পরীক্ষা করি নি।

সিকোয়েলপ্রো নামে একটি সফ্টওয়্যার রয়েছে যা আপনাকে প্রদত্ত টেবিল থেকে ক্ষেত্রগুলি নির্বাচন করতে দেয় তবে এটি কেবল মাইএসকিউএলের জন্য। পৃষ্ঠার মাঝখানে কোথাও থেকে নীচে থেকে পড়ুন:

http://www.sequelpro.com/docs/Working_with_Query_Favorites

PSequel নামে আরও একটি সফ্টওয়্যার রয়েছে যা কেবল ম্যাকের উপরে চলে এবং এটি দাবি করে যে এটি পোস্টগ্রিসের জন্য নির্মিত সিকোয়েলপ্রো টাইপের:

http://www.psequel.com/

আশাকরি এটা সাহায্য করবে.

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