Il est possible de trouver le nombre de lignes dans un tableau:
select count(*) from tablename
Est-il possible de trouver le nombre de colonnes dans un tableau?
Il est possible de trouver le nombre de lignes dans un tableau:
select count(*) from tablename
Est-il possible de trouver le nombre de colonnes dans un tableau?
Réponses:
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_catalog = 'database_name' -- the database
AND table_name = 'table_name'
database
équivaut à un schema
dans ANSI SQL et le table_catalog
est toujoursdef
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';
Remarque: Your_table_name doit être remplacé par votre nom de table actuel
Utilisation de JDBC en 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
. De cette façon, vous pouvez obtenir le schéma mais pas de données, ce qui pourrait ajouter une surcharge inutile.
Il a été un peu tard mais s'il vous plaît, prenez-le moi ...
Dans l'éditeur (Nouvelle requête), sélectionnez l'objet de base de données, cela peut aussi être une table.Si nous utilisons la touche de raccourci Alt + F1, nous obtiendrons toutes les informations de l'objet et je pense que cela résoudra également votre problème.
SELECT count(*) FROM information_schema.`COLUMNS` C
WHERE table_name = 'your_table_name'
AND TABLE_SCHEMA = "your_db_name"
Eh bien, j'ai essayé la réponse de Nathan Koop et cela n'a pas fonctionné pour moi. Je l'ai changé comme suit et cela a fonctionné:
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'table_name'
Cela ne fonctionnait pas non plus si je mets USE 'database_name'
ni WHERE table_catalog = 'database_name' AND table_name' = 'table_name'
. Je serai en fait heureux de savoir pourquoi.
database_name
définit la base de données par défaut afin que vous n'ayez pas besoin de qualifier les noms de table dans les instructions que vous émettez. Ici, vous qualifiez le columns
nom de la table en disant qu'il est dans le schéma d'information. table_catalog
existe dans mysql uniquement à des fins de compatibilité avec d'autres dbs, ce n'est pas la même chose que table_schema
- voir les commentaires sous cette réponse.
Ou utilisez les 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
Il est possible de trouver le nombre de colonnes dans une table simplement en utilisant 3 simples lignes de code PHP.
$sql="SELECT * FROM table";
$query=mysqli_query($connect_dude,$sql);
$num=mysqli_num_fields($query);
$num
renverrait le nombre de columns
sur une table donnée dans ce cas.
J'espère que cela aiderait les autres.
Requête pour compter le nombre de colonnes dans une table:
select count(*) from user_tab_columns where table_name = 'tablename';
Remplacez tablename par le nom de la table dont vous souhaitez renvoyer le nombre total de colonnes.
Peut utiliser l'instruction SQL suivante:
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 requête suivante trouve comment les colonnes de la table: -
SELECT COUNT(COLUMN_NAME) FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'TableName';
Une réponse MySQL légèrement adaptée de l' exemple MSDN pour 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'utilisation MySqlDataReader.FieldCount
vous permettra de récupérer le nombre de colonnes dans la ligne que vous avez interrogée.
Puisque toutes les réponses utilisent COUNT()
, vous pouvez également utiliser MAX()
pour obtenir le nombre de colonnes dans un tableau spécifique comme
SELECT MAX(ORDINAL_POSITION) NumberOfColumnsInTable
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_CATALOG = 'YourDatabaseNameHere'
AND
TABLE_SCHEMA = 'YourSchemaNameHere'
AND
TABLE_NAME = 'YourTableNameHere';
Voici comment obtenir un certain nombre de colonnes de table à l'aide de l'instruction Python 3, sqlite3 et 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()))