Es ist möglich, die Anzahl der Zeilen in einer Tabelle zu ermitteln:
select count(*) from tablename
Ist es möglich, die Anzahl der Spalten in einer Tabelle zu ermitteln?
Es ist möglich, die Anzahl der Zeilen in einer Tabelle zu ermitteln:
select count(*) from tablename
Ist es möglich, die Anzahl der Spalten in einer Tabelle zu ermitteln?
Antworten:
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_catalog = 'database_name' -- the database
AND table_name = 'table_name'
database
entspricht einem schema
in ANSI SQL und das table_catalog
ist immerdef
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
WHERE table_name = 'Your_table_name';
Hinweis: Ihr_Tabellenname sollte durch Ihren tatsächlichen Tabellennamen ersetzt werden
Verwenden von JDBC in Java:
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 * FROM sample2 WHERE 1=2
. Auf diese Weise können Sie das Schema abrufen, jedoch keine Daten, was zu unnötigem Overhead führen kann.
Es ist etwas spät, aber bitte nimm es von mir ...
Wenn Sie im Editor (Neue Abfrage) das Datenbankobjekt auswählen , kann es sich auch um eine Tabelle handeln. Wenn Sie die Tastenkombination Alt + F1 verwenden , erhalten Sie alle Informationen zum Objekt, und ich denke, dies wird auch Ihr Problem lösen.
SELECT count(*) FROM information_schema.`COLUMNS` C
WHERE table_name = 'your_table_name'
AND TABLE_SCHEMA = "your_db_name"
Nun, ich habe Nathan Koops Antwort ausprobiert und es hat bei mir nicht funktioniert. Ich habe es wie folgt 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'
noch sagte WHERE table_catalog = 'database_name' AND table_name' = 'table_name'
. Ich werde mich tatsächlich freuen zu wissen warum.
database_name
legt die Standarddatenbank fest, sodass Sie Tabellennamen in den von Ihnen ausgegebenen Anweisungen nicht qualifizieren müssen. Hier qualifizieren Sie den columns
Tabellennamen, indem Sie sagen, dass er im Informationsschema enthalten ist. table_catalog
existiert in MySQL nur aus Gründen der Kompatibilität mit anderen DBs. Es ist nicht dasselbe wie table_schema
- siehe die Kommentare unter dieser Antwort.
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 möglich, die Anzahl der Spalten in einer Tabelle mithilfe von 3 einfachen Zeilen PHP-Code zu ermitteln.
$sql="SELECT * FROM table";
$query=mysqli_query($connect_dude,$sql);
$num=mysqli_num_fields($query);
$num
würde columns
in diesem Fall die Nummer von auf einer bestimmten Tabelle zurückgeben.
Hoffentlich würde es anderen helfen.
Abfrage zum Zählen der Anzahl der Spalten in einer Tabelle:
select count(*) from user_tab_columns where table_name = 'tablename';
Ersetzen Sie den Tabellennamen durch den Namen der Tabelle, deren Gesamtzahl der Spalten zurückgegeben werden soll.
Kann mit folgender SQL-Anweisung erhalten:
select count(*) Noofcolumns from SYSCOLUMNS where id=(select id from SYSOBJECTS where name='table_name')
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'table_name';
db2 'describe table "SCHEMA_NAME"."TBL_NAME"'
Die folgende Abfrage ermittelt, wie Spalten in der Tabelle: -
SELECT COUNT(COLUMN_NAME) FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'TableName';
Eine MySQL-Antwort, die leicht an das MSDN-Beispiel für MySqlDataReader.GetValues 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 von Ihnen abgefragten Zeile abrufen.
Da alle Antworten verwendet werden COUNT()
, können Sie auch MAX()
die Anzahl der Spalten in einer bestimmten Tabelle als ermitteln
SELECT MAX(ORDINAL_POSITION) NumberOfColumnsInTable
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_CATALOG = 'YourDatabaseNameHere'
AND
TABLE_SCHEMA = 'YourSchemaNameHere'
AND
TABLE_NAME = 'YourTableNameHere';
So können Sie mit Python 3, sqlite3 und der Pragma-Anweisung eine Reihe von Tabellenspalten abrufen:
con = sqlite3.connect(":memory:")
con.execute("CREATE TABLE tablename (d1 VARCHAR, d2 VARCHAR)")
cur = con.cursor()
cur.execute("PRAGMA table_info(tablename)")
print(len(cur.fetchall()))