猿问

怎么得到mysql表里的字段数量?

怎么得到mysql表里的字段数量


小怪兽爱吃肉
浏览 1052回答 2
2回答

月关宝盒

方法一,在程序中直接desc tablename,然后总行数就是字段数。123456789101112131415161718192021222324mysql> 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>方法二,通过系统表information_schema.`COLUMNS` ( mysql5以上版本支持)。1234567891011mysql> select count(*) from information_schema.`COLUMNS`    -> where TABLE_SCHEMA='csdn'    -> and TABLE_NAME='ysks';+----------+| count(*) |+----------+|        8 |+----------+1 row in set (0.06 sec)   mysql>

qq_遁去的一_1

如果用java,可以用DatabaseMetaData对象(数据库元数据)。示例:(con为已经创建好的数据库连接)DatabaseMetaData dbmd = con.getMetaData();ResultSet rs = dbmd.getTables(null,null,null,null);//上述参数分别表传入:类别、模式、表名称和类型//返回的结果集是关于表的列表ResultSetMetaData rsmd = rs.getMetaData();int j = rsmd.getColumnCount();System.out.println(j);for(int i=1;i<=j;i++){System.out.print(rsmd.getColumnLabel(i)+" ");}System.out.println();while(rs.next()){for(int i=1;i<=j;i++){Object o =rs.getObject(i);System.out.print(o+" ");}System.out.println();}
随时随地看视频慕课网APP

相关分类

MySQL
我要回答