查找表格中的列数

有可能find表中的行数:

select count(*) from tablename 

是否有可能find一个表中的列数?

 SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_catalog = 'database_name' -- the database AND table_name = 'table_name' 
 SELECT COUNT(COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_CATALOG = 'Database name' AND TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'table name' 

或者使用sys.columns

 --SQL 2005 SELECT * FROM sys.columns WHERE OBJECT_NAME(object_id) = 'spt_values' -- returns 6 rows = 6 columns --SQL 2000 SELECT * FROM syscolumns WHERE OBJECT_NAME(id) = 'spt_values' -- returns 6 rows = 6 columns SELECT * FROM dbo.spt_values -- 6 columns indeed 

它已经很晚了,但请把它从我身上拿走…

在编辑器(新build查询)中,通过select数据库对象,它也可以是一个表格,如果我们使用快捷键Alt + F1,我们将获得对象的所有信息,我想也会解决你的问题。

  String quer="SELECT * FROM sample2"; Statement st=con.createStatement(); ResultSet rs=st.executeQuery(quer); ResultSetMetaData rsmd = rs.getMetaData(); int NumOfCol=0; NumOfCol=rsmd.getColumnCount(); System.out.println("Query Executed!! No of Colm="+NumOfCol); 

查询来计算表中的列数:

 select count(*) from user_tab_columns where table_name = 'tablename'; 

将tablenamereplace为要返回的列的总数的表名。

只需使用3行简单的代码即可find表格中的列数。

 $sql="SELECT * FROM table"; $query=mysqli_query($connect_dude,$sql); $num=mysqli_num_fields($query); 

在这种情况下, $num将返回给定表上的columns数。

希望它能帮助别人。

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

注:Your_table_nalereplace您的表名称

那么我试着Nathan Koop的答案,它不适合我。 我改变了以下,它确实工作:

 SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'table_name' 

如果我把USE 'database_name'也没有工作,也没有WHERE table_catalog = 'database_name' AND table_name' = 'table_name' 。 我真的很高兴知道为什么。

可以使用下面的sql语句:

 select count(*) Noofcolumns from SYSCOLUMNS where id=(select id from SYSOBJECTS where name='table_name') 
 SELECT COUNT(COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_CATALOG = 'database_name' AND TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'table_name' 
 SELECT count(*) FROM information_schema.`COLUMNS` C WHERE table_name = 'your_table_name' AND TABLE_SCHEMA = "your_db_name" 

以下查询查找表中的列: –

  SELECT COUNT(COLUMN_NAME) FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'TableName'; 

从MySqlDataReader.GetValues的MSDN示例中略微修改了一个MySQL答案:

 //assumes you've already created a connection, opened it, //and executed a query to a reader while(reader.Read()) { Object[] values = new Object[reader.FieldCount]; int fieldCount = reader.GetValues(values); Console.WriteLine("\nreader.GetValues retrieved {0} columns.", fieldCount); for (int i = 0; i < fieldCount; i++) Console.WriteLine(values[i]); } 

使用MySqlDataReader.FieldCount将允许您检索您查询的行中的列数。