How do I count columns of a table

后端 未结 8 1876
独厮守ぢ
独厮守ぢ 2020-11-30 02:43

For example :

tbl_ifo

id | name  | age | gender 
----------------------------
1  | John  |  15 |  Male
2  | Maria |  18 |  Female
3  | Steph |  19 |  Female         


        
相关标签:
8条回答
  • 2020-11-30 03:30
    $cs = mysql_query("describe tbl_info");
    $column_count = mysql_num_rows($cs);
    

    Or just:

    $column_count = mysql_num_rows(mysql_query("describe tbl_info"));
    
    0 讨论(0)
  • 2020-11-30 03:31

    I have a more general answer; but I believe it is useful for counting the columns for all tables in a DB:

    SELECT table_name, count(*)
    FROM information_schema.columns
    GROUP BY table_name;
    
    0 讨论(0)
  • 2020-11-30 03:32

    I think you want to know the total entries count in a table! For that use this code..

    SELECT count( * ) as Total_Entries FROM tbl_ifo;

    0 讨论(0)
  • 2020-11-30 03:35

    To count the columns of your table precisely, you can get form information_schema.columns with passing your desired Database(Schema) Name and Table Name.


    Reference the following Code:

    SELECT count(*)
    FROM information_schema.columns
    WHERE table_schema = 'myDB'  
    AND table_name = 'table1';
    
    0 讨论(0)
  • 2020-11-30 03:37
    SELECT count(*)
    FROM information_schema.columns
    WHERE table_name = 'tbl_ifo'
    
    0 讨论(0)
  • 2020-11-30 03:43

    I think you need also to specify the name of the database:

    SELECT COUNT(*)
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE table_schema = 'SchemaNameHere'
      AND table_name = 'TableNameHere'
    

    if you don't specify the name of your database, chances are it will count all columns as long as it matches the name of your table. For example, you have two database: DBaseA and DbaseB, In DBaseA, it has two tables: TabA(3 fields), TabB(4 fields). And in DBaseB, it has again two tables: TabA(4 fields), TabC(4 fields).

    if you run this query:

    SELECT count(*)
    FROM information_schema.columns
    WHERE table_name = 'TabA'
    

    it will return 7 because there are two tables named TabA. But by adding another condition table_schema = 'SchemaNameHere':

    SELECT COUNT(*)
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE table_schema = 'DBaseA'
      AND table_name = 'TabA'
    

    then it will only return 3.

    0 讨论(0)
提交回复
热议问题