Es ist möglich, die Anzahl der Zeilen in einer Tabelle zu ermitteln:
select count(*) from tablename
Kann man die Anzahl der Spalten in einer Tabelle ermitteln?
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'
JDBC in Java verwenden:
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);
Oder verwenden Sie die 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
Es ist etwas spät geworden, aber bitte nehmen Sie es mir ab ...
Im Editor (Neue Abfrage) wählen Sie mit das Datenbankobjekt aus es kann auch eine Tabelle sein, wenn Sie die Tastenkombination Alt + F1 verwenden. Wir erhalten alle Informationen des Objekts und ich denke, es wird gelöst auch dein Problem.
SELECT count(*)
FROM information_schema.columns
WHERE table_name = 'Your_table_nale';
Hinweis: Your_table_nale wird durch Ihren Tabellennamen ersetzt
Nun, ich habe die Antwort von Nathan Koop ausprobiert und es hat für mich nicht funktioniert. Ich habe es folgendermaßen geändert und es hat funktioniert:
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'table_name'
Es hat auch nicht funktioniert, wenn ich USE 'database_name'
oder WHERE table_catalog = 'database_name' AND table_name' = 'table_name'
eingebe. Ich werde tatsächlich froh sein, warum.
Es ist möglich, die Anzahl der Spalten in einer Tabelle zu ermitteln, indem Sie 3 einfache Zeilen PHP Code verwenden.
$sql="SELECT * FROM table";
$query=mysqli_query($connect_dude,$sql);
$num=mysqli_num_fields($query);
In diesem Fall würde $num
die Nummer von columns
in einer gegebenen Tabelle zurückgeben.
Hoffentlich würde es anderen helfen.
SELECT count(*) FROM information_schema.`COLUMNS` C
WHERE table_name = 'your_table_name'
AND TABLE_SCHEMA = "your_db_name"
SELECT COUNT(COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE
TABLE_CATALOG = 'database_name' AND TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'table_name'
Kann folgende SQL-Anweisung verwenden:
select count(*) Noofcolumns from SYSCOLUMNS where id=(select id from SYSOBJECTS where name='table_name')
Abfrage, um die Anzahl der Spalten in einer Tabelle zu zählen:
select count(*) from user_tab_columns where table_name = 'tablename';
Ersetzen Sie Tabellenname durch den Namen der Tabelle, deren Gesamtanzahl der Spalten Sie zurückgeben möchten.
Da alle Antworten COUNT()
verwenden, können Sie auch MAX()
verwenden, um die Anzahl der Spalten in einer bestimmten Tabelle als zu ermitteln
_SELECT MAX(ORDINAL_POSITION) NumberOfColumnsInTable
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_CATALOG = 'YourDatabaseNameHere'
AND
TABLE_SCHEMA = 'YourSchemaNameHere'
AND
TABLE_NAME = 'YourTableNameHere';
_
Eine MySQL-Antwort, die aus dem MSDN-Beispiel für MySqlDataReader.GetValues etwas angepasst wurde - /:
//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]);
}
Mit MySqlDataReader.FieldCount
können Sie die Anzahl der Spalten in der abgefragten Zeile abrufen.
Die folgende Abfrage findet wie Spalten in der Tabelle: -
SELECT COUNT(COLUMN_NAME) FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'TableName';
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'table_name';
db2 'describe select * from "SCHEMA_NAME"."TBL_NAME"'
SELECT TABLE_SCHEMA
, TABLE_NAME
, number = COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY TABLE_SCHEMA, TABLE_NAME;
Dieser hat für mich gearbeitet.