mysql中怎么查询表中的字段个数?

解决方案 »

  1.   

    如果是5以上,可以直接查询系统表
    sELECT table_name, table_type, engine 
        FROM information_schema.tables 
        WHERE table_schema = 'databasename' and table_name='tablename' 
        ORDER BY table_name DESC; 
      

  2.   

    select count(1) from columns where table_name =要查的表的名字;
      

  3.   

    方法一,在你的程序中直接
    desc tablename然后总行数就是你的字段数。mysql> desc ysks;
    +-------+---------------+-----
    | Field | Type          | Null
    +-------+---------------+-----
    | 单号  | int(11)       | YES
    | 金额  | decimal(10,2) | YES
    | 已收  | decimal(10,2) | YES
    | 日期  | bigint(20)    | YES
    | 名称  | varchar(10)   | YES
    | 余额  | decimal(10,2) | YES
    | 备注  | varchar(10)   | YES
    | 品名  | varchar(10)   | YES
    +-------+---------------+-----
    8 rows in set (0.06 sec)mysql> select FOUND_ROWS();
    +--------------+
    | FOUND_ROWS() |
    +--------------+
    |            8 |
    +--------------+
    1 row in set (0.06 sec)mysql>
      

  4.   

    方法二,通过系统表information_schema.`COLUMNS` ( mysql5以上版本支持)mysql> select count(*) from information_schema.`COLUMNS`
        -> where TABLE_SCHEMA='csdn'
        -> and TABLE_NAME='ysks';
    +----------+
    | count(*) |
    +----------+
    |        8 |
    +----------+
    1 row in set (0.06 sec)mysql>
      

  5.   

    select count(*) from information_schema.columns where table_schema='databasename' and table_ 
    name='tablename' ;