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).
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
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.