为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

小怪兽爱吃肉 2019-02-13 14:14:59
怎么得到mysql表里的字段数量
查看完整描述

2 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

方法一,在程序中直接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+-------+---------------+-----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>


查看完整回答
反对 回复 2019-03-02
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

如果用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();
}



查看完整回答
反对 回复 2019-03-02
  • 2 回答
  • 0 关注
  • 1051 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信