È possibile trovare il numero di righe in una tabella:
select count(*) from tablename
È possibile trovare il numero di colonne in una tabella?
È possibile trovare il numero di righe in una tabella:
select count(*) from tablename
È possibile trovare il numero di colonne in una tabella?
Risposte:
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_catalog = 'database_name' -- the database
AND table_name = 'table_name'
databaseè equivalente a un schemain ANSI SQL ed table_catalogè sempredef
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';
Nota: Your_table_name dovrebbe essere sostituito dal nome effettivo della tabella
Utilizzo di 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. In questo modo, puoi ottenere lo schema ma nessun dato, il che potrebbe aggiungere un sovraccarico non necessario.
SELECT count(*) FROM information_schema.`COLUMNS` C
WHERE table_name = 'your_table_name'
AND TABLE_SCHEMA = "your_db_name"
Beh, ho provato la risposta di Nathan Koop e non ha funzionato per me. L'ho cambiato nel seguente e ha funzionato:
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'table_name'
Inoltre non ha funzionato se ho messo USE 'database_name'nor WHERE table_catalog = 'database_name' AND table_name' = 'table_name'. Veramente sarò felice di sapere perché.
database_nameimposta il database predefinito in modo che non sia necessario qualificare i nomi delle tabelle in nessuna istruzione emessa. Qui qualifichi il columnsnome della tabella dicendo che è all'interno di information_schema. table_catalogesiste in mysql puramente allo scopo di compatibilità con altri db non è lo stesso di table_schema- vedere i commenti sotto quella risposta.
Oppure usa 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
È possibile trovare il numero di colonne in una tabella semplicemente utilizzando 3 semplici righe di codice PHP.
$sql="SELECT * FROM table";
$query=mysqli_query($connect_dude,$sql);
$num=mysqli_num_fields($query);
$num restituirebbe il numero di columns su una determinata tabella in questo caso.
Si spera che possa aiutare gli altri.
Query per contare il numero di colonne in una tabella:
select count(*) from user_tab_columns where table_name = 'tablename';
Sostituisci tablename con il nome della tabella di cui desideri restituire il numero totale di colonne.
Può ottenere utilizzando la seguente istruzione sql:
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"'
La seguente query trova come le colonne nella tabella: -
SELECT COUNT(COLUMN_NAME) FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'TableName';
Una risposta MySQL adattata leggermente dall'esempio MSDN per MySqlDataReader.GetValues :
//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]);
}
L'utilizzo MySqlDataReader.FieldCountti consentirà di recuperare il numero di colonne nella riga che hai richiesto.
Poiché tutte le risposte utilizzano COUNT(), puoi anche utilizzare MAX()per ottenere il numero di colonne in una tabella specifica come
SELECT MAX(ORDINAL_POSITION) NumberOfColumnsInTable
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_CATALOG = 'YourDatabaseNameHere'
AND
TABLE_SCHEMA = 'YourSchemaNameHere'
AND
TABLE_NAME = 'YourTableNameHere';
Ecco come puoi ottenere un numero di colonne di tabella utilizzando Python 3, sqlite3 e l'istruzione pragma:
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()))