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


189

সমস্ত টেবিলের MySQLতালিকা না রেখে সমস্ত টেবিল থেকে সমস্ত কলামের নাম পাওয়ার কোনও দ্রুত উপায় আছে ?


2
আমার কেবল ডাটাবেসের উপর একটি তাত্ক্ষণিক পর্যালোচনা দরকার। এটি কোনও অ্যাপ্লিকেশনটিতে কোড হবে না।
— ডাইটার

উত্তর:


304
select * from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position

এটিই আমি খুঁজছিলাম :-) একটি জাভা অ্যাপ্লিকেশন লিখেছেন এখনই একই জিনিসগুলি করছেন
— ডাইটার

ধন্যবাদ! কেবল কলামের নামগুলি পেতে, এটি ব্যবহার করুন: তথ্য_সেমিমা কলামগুলি থেকে কলাম_নামটি নির্বাচন করুন যেখানে টেবিল_শেমি = 'আপনার_ডিবি' টেবিলের নাম অনুসারে অর্ডিনাল_পজিশন
— ফিল গয়েটজ

ঠিক আমি খুঁজছেন ছিল কি ! ধন্যবাদ।
— zookastos

কলামের নামগুলির সামনে ভরাট করা ডেটার গণনা কীভাবে পাবেন? আমার একই সমস্যা প্লাস ডেটা গণনা রয়েছে
— গুলমুহমুদ আকবরী

প্রাথমিক কী কীভাবে জানবেন?
— ডেভিড ওয়ালসার

48

মাইএসকিউএলে একটি টেবিল থেকে সমস্ত ক্ষেত্রের তালিকা করতে:

select * 
  from information_schema.columns 
 where table_schema = 'your_DB_name' 
   and table_name = 'Your_tablename'

27

সমস্ত কলামের নাম সহজেই পাওয়ার জন্য আপনি নিম্নলিখিত কোয়েরিটি ব্যবহার করে আরও ভাল

Show columns from tablename


কখনও কখনও আপনার এমন সমাধানের প্রয়োজন হয় যা তথ্য_সেমার উপর নির্ভর করে না
— ব্র্যাডলি এম ডেভিস

26
SELECT * FROM information_schema.columns
WHERE table_schema = DATABASE()
ORDER BY table_name, ordinal_position

প্রতিস্থাপন: যেহেতু আমি মন্তব্য করার জন্য যথেষ্ট প্রতিনিধির নেই, এখানে একটি ছোটখাট উন্নতি (আমার দৃশ্য) নিক rulez এর চমৎকার উত্তর শেষ WHERE table_schema = 'your_db'সঙ্গে WHERE table_schema = DATABASE()।


এটা সহায়ক। এটি সর্বদা আমাকে এ জাতীয় হার্ডকোডে বিরক্ত করে যখন এড়ানো যায়। ধন্যবাদ।
— ডেভিড

17

এটি অন্য কারও পক্ষে উপকারে আসে, এটি আপনাকে প্রতিটি সারণীতে কলামের কমা-বিস্মৃত তালিকা দেবে:

SELECT table_name,GROUP_CONCAT(column_name ORDER BY ordinal_position)
FROM information_schema.columns
WHERE table_schema = DATABASE()
GROUP BY table_name
ORDER BY table_name

দ্রষ্টব্য: সর্বাধিক সংখ্যক কলাম এবং / অথবা দীর্ঘ ক্ষেত্রের নাম সহ সারণীগুলি ব্যবহার করার সময়, group_concat_max_len সীমা সম্পর্কে সচেতন থাকুন , যা ডেটা কেটে যেতে পারে।


1
আমি এটি পছন্দ করি ... যেহেতু আমি সহজেই সমস্ত কলামের নাম অনুলিপি করতে পারি।
— জাটাজুলজা

6
<?php
        $table = 'orders';
        $query = "SHOW COLUMNS FROM $table";
        if($output = mysql_query($query)):
            $columns = array();
            while($result = mysql_fetch_assoc($output)):
                $columns[] = $result['Field'];
            endwhile;
        endif;
        echo '<pre>';
        print_r($columns);
        echo '</pre>';
?>

1
2016 এ যে কেউ এটি পড়ছেন - মাইএসকিএল_কোয়ারি অবমূল্যায়িত হয়েছে। এগিয়ে পিএইচপি এর mysqli ব্যবহার সেরা।
— JCutting8

5

অনুরূপ উত্তর দ্বারা @suganya পোস্ট এই সরাসরি প্রশ্নের উত্তর না কিন্তু একটি একক টেবিল একটি দ্রুততর বিকল্প নেই:

DESCRIBE column_name;

এটি কেবল সারণীর কলামের নাম নয়, একটি সারণী মুদ্রণ করবে।
— k0pernikus

4

প্রশ্নটি ছিল:

সমস্ত টেবিলের তালিকা তৈরি না করেই কি মাইএসকিউএলে সমস্ত টেবিল থেকে সমস্ত কলম নাম্বার পাওয়ার কোনও দ্রুত উপায় আছে?

প্রতিটি কলামের জন্য সমস্ত তথ্য পেতে এসকিউএল

select * from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position

সমস্ত কলাম নাম্বার পেতে এসকিউএল

select COLUMN_NAME from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position

3

আমি এই নির্বোধ জিনিসটি অনেক আগে লিখেছিলাম এবং এখনও এটি এখন এবং পরে ব্যবহার করব:

https://gist.github.com/kphretiq/e2f924416a326895233d

মূলত, এটি প্রতিটি "টেবিলগুলি দেখায়", তারপরে প্রতিটি টেবিলে একটি "ডিজাইন করুন", তারপরে এটিকে মার্কডাউন হিসাবে ছড়িয়ে দেয়।

কেবল "যদি নাম " এর নীচে সম্পাদনা করুন এবং যান। আপনার পিমিসকিএল ইনস্টল করা দরকার।


3

কিছু পঠনযোগ্য পিএইচপি সহ নিকোলার উত্তরের পিগব্যাকিং

$a = mysqli_query($conn,"select * from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position");
$b = mysqli_fetch_all($a,MYSQLI_ASSOC);
$d = array();
foreach($b as $c){
    if(!is_array($d[$c['TABLE_NAME']])){
        $d[$c['TABLE_NAME']] = array();
    }
    $d[$c['TABLE_NAME']][] = $c['COLUMN_NAME'];
}
echo "<pre>",print_r($d),"</pre>";

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