CommentCaMarche
Recherche
Posez votre question Signaler

SQL: copier une table dans une autre... [Résolu]

Nico - Dernière réponse le 16 janv. 2015 à 11:01
Hello tout le monde,

La requete :
CREATE TABLE TABLE2 AS SELECT * FROM TABLE1 ;
me permet de copier la structure ainsi que les données de TABLE1 dans TABLE2.
N'y a t-il pas un moyen (requete) permettant de copier uniquement la structure (sans les données) ?

Merci à tous pour votre aide.
Lire la suite 
Réponse
+34
moins plus
Encore plus propre :

CREATE TABLE table2 LIKE table1

(Copie simplement la structure de la table1 en créant une table2)
ONC- 7 févr. 2012 à 17:53
Heu.... sur quel SBGD ? Marche pas sur SQL Server en tout cas...
Répondre
Martin- 23 déc. 2013 à 17:06
Encore moins sur Oracle
Répondre
mtk30- 16 janv. 2015 à 09:58
encore moi sur PGsql 9.3
Répondre
mtk30- 16 janv. 2015 à 11:01
encore moins sur postgres 9.3
Répondre
Ajouter un commentaire
Réponse
+19
moins plus
si :

CREATE TABLE TABLE2 AS SELECT * FROM TABLE1 where 1=2
Amazone- 1 août 2007 à 10:46
SOUS SQLServer 2000 ça donne :

SELECT * INTO TABLE2
FROM TABLE1
WHERE 1=2
Répondre
saigamp- 24 avril 2008 à 15:04
ça marche aussi avec 2=30 !!
Répondre
bddForEver- 1 janv. 2010 à 18:02
Bonjour,
Merci pour cette réponse qui continue à aider ceux qui cherchent ;-)

Deux petites questions :
est-ce que la clause Where est indisponsable ?
est-ce possible de copier la table1 sans copier ses contraintes ?

Merci pour toute réponse
Répondre
Karima04- 6 juil. 2012 à 12:44
what should we do , if we have already a table & we want to insert into it ( from an other table )?
Répondre
Ajouter un commentaire
Réponse
+6
moins plus
Même un poil plus propre :

SELECT * INTO TABLE2
FROM TABLE1 WHERE FALSE
Ajouter un commentaire
Réponse
+5
moins plus
Salut,

la clause where retourne juste un bool.

Du coup, un truc comme :

SELECT * INTO TABLE2
FROM TABLE1 WHERE 1=0

devrait "créer" la structure en ne retournant aucune donnée.

Syls
Ajouter un commentaire
Réponse
+1
moins plus
Merci bcp c magnifique,"LA SIMPLICITE EST UN ART"!!!
Ajouter un commentaire
Réponse
+1
moins plus
J'ai ceci pour la structure seulement; mais faudra l'essayer car moi je n'ai pas encore eu le temps:

CREATE TABLE table1_copie LIKE mabase.table1;
Ajouter un commentaire
Réponse
-1
moins plus
Ajouter un commentaire
Réponse
-1
moins plus
C'est drole, moi je pensais à la créer la structure avec les données puis de supprimer le contenu de la table....
Il faut apprendre a se simplifier la vie..... ;)

=}- The_Str@nger -{=
Ajouter un commentaire
Réponse
-1
moins plus
Bonjour,

Bien une fois la table2 vide est créée, comment la copier pour la donner à une tierce personne?
Ajouter un commentaire
Ce document intitulé «  SQL: copier une table dans une autre...  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.