কোনও টেবিলের কলামের নামগুলি কীভাবে প্রদর্শিত হবে?


17

কেসটি সহজ: আপনার একটি মাইএসকিউএল ডাটাবেস রয়েছে যেখানে আপনার কেবলমাত্র একটি এসকিউএল কোয়েরি ইন্টারফেস রয়েছে এবং আপনি কোয়েরি সহ ডাটাবেস কাঠামোটি জানতে চান। আপনি show tables;কমান্ড সহ সারণি তালিকাভুক্ত করতে পারেন , তবে পৃথক কলামের নামগুলি কীভাবে দেখবেন?

( SELECTবিবৃতিটি Empty setকোনও ডেটা উপস্থিত না থাকলে এবং এভাবে ব্যবহার করা যায় না তা দেখায় ))


দয়া করে মনে রাখবেন, স্বীকৃত সমাধানটি হ'ল descকমান্ডের নীচে । কৌতূহলী, এটি সবচেয়ে সংক্ষিপ্ত, তবে কম ভোট রয়েছে। আমার জন্য, এটিও সেরা।
মাইকো 10'13

2
আপনি একটি সাধারণ এসকিউএল ক্যোয়ারী চেয়েছিলেন। আপনার উত্তর এসকিউএল নয়, যাতে ভোটের সংখ্যা কম সংখ্যক ব্যাখ্যা করতে পারে। আপনার ক্যোয়ারির শিরোনামটি সম্ভবত আপনার এখানে পরিবর্তন করা উচিত: "কীভাবে কোনও টেবিলের কলামের নামগুলি দেখানো যায়"
লেনার্ট

ভাল ধারণা, এখন আমার উত্তর প্রশ্নের সাথে আরও ভাল মিল তৈরি করে।
মাইকো

উত্তর:


36
select column_name from information_schema.columns where table_name='table'

2
ইতিমধ্যে আমি এই ক্যোয়ারীটিও দরকারী বলে খুঁজে পেয়েছি: show create table <table_name>যেখানে <table_name> এর পরিবর্তে আপনি টেবিলের নামটি সরল পাঠ্যে রেখেছেন। এটি আপনার তালিকাভুক্তির উদ্দেশ্যে খুব ভালভাবে সাজানোর সময় প্রকারগুলিও দেয়।
mico

@ মিকো দ্বারা যেমন বলা হয়েছে: "টেবিল তৈরি করুন tbl_name show G দেখান" আপনার সমাধান হতে পারে। Dev.mysql.com/doc/refman/5.7/en/show-create-table.html দেখুন "\ জি" অংশটি কেবল আউটপুট ফর্ম্যাট করতে এখানে। শুভেচ্ছা।
tdaget

6

আমি নিজের দ্বারা যে সবচেয়ে ভাল সমাধানটি সন্ধান করেছি তা হ'ল desc table_nameআদেশ। আরও তথ্য তালিকার মাইএসকিউএল টেবিলগুলিতে রয়েছে । এই কমান্ডটি একটি ডাটাবেস টেবিলের বর্ণনা দেয় যা আমি অনুসন্ধান করার চেষ্টা করছিলাম।


6

আপনি বর্তমান ডাটাবেসে কোনও টেবিলে কলাম তালিকাভুক্ত করছেন তা নিশ্চিত করতে DATABASE () বা SCHEMA () ফাংশনটি ব্যবহার করুন । আপনি যদি কোনও বর্তমান ডাটাবেসে না থাকেন তবে এটি NULL প্রদান করে। এই কোয়েরিটি কলামগুলি সংজ্ঞায়িত করার ক্রমে একটি সারণিতে কলামগুলি দেখাবে:

SELECT column_name,column_type
FROM information_schema.columns
WHERE table_schema = DATABASE()
AND table_name='table'
ORDER BY ordinal_position;


3

আপনি পৃথক টেবিল শিরোনাম কিভাবে দেখতে পান?

আপনি কি টেবিল মন্তব্য বলতে চান ?

use stack;
create table t(v integer primary key) comment 'My Special Table';

show tables;
+-----------------+
| Tables_in_stack |
+-----------------+
| t               |
+-----------------+

select table_name, table_comment from information_schema.tables where table_name='t';
+------------+------------------+
| table_name | table_comment    |
+------------+------------------+
| t          | My Special Table |
+------------+------------------+

আমি এই কলামের নামগুলি চেয়েছিলাম এবং দ্রুত উত্তরগুলির জন্য ইতিমধ্যে বেশ কয়েকটি উপায় পেয়েছি। এই মন্তব্য জিনিস সম্পর্কেও ধন্যবাদ, জ্যাক।
mico

1
আপনার প্রশ্নটি কীভাবে আপনার কলামগুলি পরে তা পরিষ্কার করে দেওয়ার জন্য কিছুটা পুনরায় রেকর্ডিং করবেন?
জ্যাক বলছেন topanswers.xyz

2
SHOW COLUMNS FROM mydb.mytable;

যেখানে mydb - এমন ডাটাবেস যা প্রয়োজনীয় সারণী রয়েছে

mytable - প্রয়োজনীয় টেবিল হয়

এটি কলামগুলির তথ্য দেয় (পরীক্ষার জন্য col কলামের নাম, প্রকার ইত্যাদি)


1
লিখিত কোড স্নিপেটগুলি কীভাবে তারা ওপি-র সমস্যা সমাধান করে তা নিরুৎসাহিত করা হয় explanation আপনার উত্তরে আরও বিশদ যুক্ত করার চেষ্টা করুন।
এরিক

0

সারণীগুলির তালিকা এবং তাদের কলামগুলির বিশদ পেতে আপনাকে যোগদান করতে হবে information_schema.tablesএবং information_schema.columnsএকসাথে থাকতে হবে।

information_schema.columnsকেবল সারণীগুলি সম্পর্কেই নয় বিশদগুলিও প্রদর্শন করে। এই সিস্টেমের ভিউ থেকে কেবল টেবিলের বিশদ ফিল্টার করার কোনও উপায় নেই।

সুতরাং আপনার যোগদান করা প্রয়োজন।

উদাহরণ ক্যোয়ারী:

select t.TABLE_SCHEMA, t.TABLE_NAME, c.COLUMN_NAME, c.COLUMN_TYPE, c.DATA_TYPE
from information_schema.tables t , information_schema.columns c where 2=2 
and t.table_schema=c.table_schema
and t.table_name=c.table_name
and t.table_type ='BASE TABLE' 
order by t.table_schema, t.table_name, c.column_name 
;
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.