Lister les colonnes d'une table - SQL/NoSQL - Programmation
Marsh Posté le 17-10-2005 à 18:54:34
http://www.nexen.net/docs/mysql/an [...] olumns.php 
show column from table
Marsh Posté le 17-10-2005 à 19:13:16
Ca c'est avec mySql. 
 
En gros, chaque SGBD a ses propres commandes pour ça. 
 
Oracle: 
 
SELECT column_name 
FROM user_tab_columns 
WHERE table_name = '<ta table>';
Marsh Posté le 17-10-2005 à 21:36:09
| Beegee a écrit : Ca c'est avec mySql.  | 
 
 
en oracle il y a plus simple 
 
DESCRIBE nomtable; 
Marsh Posté le 17-10-2005 à 22:59:42
Ouaip, bien sûr, mais le SELECT permet de réutiliser les noms de colonnes si on doit faire un traitement ...
Marsh Posté le 18-10-2005 à 10:15:39
la solution universelle (à condition d'avoir un connecteur ADO) 
 
(et si, on trouve des connecteurs ADO aussi sous Unix et Mac, ça a beau être une technologie élaborée par Microsoft, c'est aujourd'hui un standard très répendu sur tous les systèmes) 
 
http://forum.hardware.fr/hardwaref [...] 8218-1.htm 
 
(ici, un script en VBS, mais ça peut être n'importe quel autre langage) 
 
Seuls trucs à modifier : ajouter les types que je n'ai pas traîté dans le script. (je l'avais écrit à l'époque pour dupliquer une base Access dans une base MySQL)
Marsh Posté le 18-10-2005 à 10:16:59
Sinon, un truc simple... 
 
Pourquoi ne pas faire "select * form matable" 
Et parcourir les fields ? Généralement, les connecteurs proposent un attribut qui permet de retrouver la colonne en cours de lecture...
Marsh Posté le 18-10-2005 à 10:29:59
tiens, je suis en train de voir que le script que j'avais posté n'est pas à jour. 
 
manque de bol, j'ai changé de boulot, et j'ai plus accès à l'intranet de mon ancienne boîte, où j'avais stocké la dernière version du script...
Marsh Posté le 18-10-2005 à 15:27:11
Merci merci  je vais essayer tout ça (je suis sous Oracle).
  je vais essayer tout ça (je suis sous Oracle).
Marsh Posté le 18-10-2005 à 16:30:11
sinon, avec Oracle, t'as des tables système (par contre, je sais jamais comment elles s'appellent  )
)
Marsh Posté le 18-10-2005 à 17:02:27
t'as donné pour MySQL, de mémoire Oracle c'est pas ça le nom de la table 
Marsh Posté le 18-10-2005 à 17:05:49
voilà la requête de base pour trouver les objets systèmes. à partir de là, t'as toutes les tables systèmes pour trouver de plus amples infos. 
 
select * 
from all_objects
Marsh Posté le 18-10-2005 à 18:24:24
Ben oui, sous Oracle tu as : 
 
all_objects (qui liste tous les objets, pas que les tables) 
all_tables (toutes les tables, même systèmes) 
all_tab_columns (toutes les colonnes de toutes les tables) 
 
et en remplaçant 'all' par 'user', on voit les objets de l'utilisateur.
Marsh Posté le 18-10-2005 à 19:28:47
ah ok  dans ton post tu parlais de MySQL, donc j'ai pas cherché plus loin
 dans ton post tu parlais de MySQL, donc j'ai pas cherché plus loin 
Marsh Posté le 18-10-2005 à 20:17:07
| Arjuna a écrit : Sinon, un truc simple...  | 
 
a la limite plutot 
select * from matable 
where condition_renvoyant_qu_un_resultat 
 
parceque selectionner tout la table pour recuperer le nom des champs   
 
Marsh Posté le 18-10-2005 à 20:35:10
ReplyMarsh Posté le 18-10-2005 à 20:40:14
| Beegee a écrit : Même pas besoin que ça renvoie une ligne ...  | 
 
le pb c'est que je suis pas sur qu'il soit possible de recuperer le nom des champs avec un connecteur si il n'y a pas de resultat 
Marsh Posté le 19-10-2005 à 00:54:50
moi je préfère 
| Code : 
 | 
 
 
C'est plus joli 
Marsh Posté le 19-10-2005 à 00:55:45
et oui, on peut normalement lire le nom des champs même si la requête ne renvoie pas de lignes.
Marsh Posté le 17-10-2005 à 18:52:41
Salut,
Quelle est la commande SQL qui permet de voir la liste des colonnes dans une table ? (désolé, je débute).
Merci.