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


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.