J'ai besoin d'une requête pour créer une table qui est la réplique exacte mais avec un nom de table différent et sans aucune donnée de la table source en utilisant une requête sql!Créer une réplique d'une table sql
Répondre
- SQL Server Management Studio
- l'Explorateur d'objets
- Connect -> Votre serveur
- Bases de données -> Choisir la base de données
- Tables
- Clic droit sur votre table
- Script Tableau comme -> Créer à -> Nouvelle fenêtre de l'éditeur de requête
Pour MySQL, vous pouvez appeler SHOW CREATE TABLE nom_table;
Il affichera une requête CREATE TABLE. Changez simplement le nom de la table dans cette requête et vous êtes prêt à partir.
http://dev.mysql.com/doc/refman/5.1/en/show-create-table.html
Malheureusement, il a tagué 'sql-server'. – Konerak
Si vous utilisez Postgresql:
CREATE TABLE LIKE table_name
http://www.postgresql.org/docs/8.1/static/sql-createtable.html
Malheureusement, il a tagué 'sql-server' – Konerak
Vous pouvez essayer cette
SELECT * INTO Table_Copy
FROM Table
where 1=2
Il va créer une table vide avec la même structure.
Je ne pense pas que vous aurez des FK, des Index, ou autres, mais si vous avez juste besoin d'un quick-n-dirty, cela fera l'affaire. –
select * into newtablename from sourcetablename
go
truncate newtablename
go
Cela aboutira à une copie exacte, mais il copie également les données au début que vous supprimez avec l'instruction truncate.
Cela fonctionne, mais doit insérer * tout * les données dans la nouvelle table, puis supprimez-le aussi. C'est beaucoup de travail inutile qui pourrait être évité avec 'top 0' ou une clause where qui ne donne pas de résultats ... – Konerak
True! Pourquoi n'ai-je pas pensé à une clause Where 1 = 2 :-) – Peter
Jonathan l'a (upvoted), et vous devriez probablement aller avec ça parce que c'est plus portable. J'utilise normalement quelque chose de similaire:
SELECT TOP 0 * INTO [New_Table] FROM [Old_Table]
Je pense que ce exprime mieux ce que vous faites, mais j'aime Jonathan est parce que « TOP 0 » est spécifique à SQL Server, et ainsi son est plus facile à transporter.
SELECT * INTO Table_Copy
FROM Table
where 1=2
Cela a très bien fonctionné lorsque j'ai essayé de créer une réplique de la table sans aucune donnée.
SELECT * INTO Table_Copy
FROM Table
Cela créera également une réplique avec les données.
create table <new table name> as select * from <old tale name from which you would like to extract data>
Il va créer une nouvelle table avec un nom différent, mais copiera toutes les données existantes de l'ancienne table à la nouvelle table.
dans Postgres, vous pouvez utiliser INHERITS ou mot-clé LIKE pour faire réplique d'une table (seule structure de copies de la table)
TABLE CREATE client_new (LIKE client);
ou
CREATE TABLE client_new() INHERITS (client)
Utilisation de INHERITS crée une relation permanente entre la nouvelle table enfant et sa table parent (s). Les modifications de schéma apportées au (x) parent (s) se propagent normalement aux enfants et, par défaut, les données de la table enfant sont incluses dans les analyses du (des) parent (s). La clause LIKE spécifie une table à partir de laquelle la nouvelle table copie automatiquement tous les noms de colonnes, leurs types de données et leurs contraintes non nulles. Contrairement à INHERITS, la nouvelle table et la table d'origine sont complètement découplées. Les modifications de la table d'origine ne seront pas appliquées à la nouvelle table et il n'est pas possible d'inclure les données de la nouvelle table dans les analyses de la table d'origine.
- 1. SQL créer une table « mapping » temporaire dans une instruction select
- 2. Comment créer une table de paires nom-valeur dans SQL
- 3. Créer une table SQL à partir d'Excel VBA
- 4. Comment créer une table SQL sous un schéma différent?
- 5. Comment créer une dépendance sql sur une table dans sql server 2000 et asp.net 2.0?
- 6. Comment créer une table déplaçable dans jquery?
- 7. Comment créer une fonction qui place une entrée unique dans la table ou la boucle sql?
- 8. Question SQL rapide: Syntaxe correcte pour créer une table avec une clé primaire dans H2?
- 9. Créer une table pour que l'utilisateur soit le propriétaire
- 10. MySQL Créer une table avec des erreurs d'index
- 11. besoin requête SQL pour créer grimpez à la même table
- 12. Créer clé étrangère SQL
- 13. table SQL avec une valeur aléatoire d'autre table
- 14. mise à jour SQL une table d'une autre table
- 15. MySql - Créer une table si elle n'existe pas? Sinon tronquer?
- 16. Problème avec CHARSET dans MySQL créer une table
- 17. Rechercher une table verrouillée dans SQL Server
- 18. « sauter » une table interne SQL rejoint
- 19. Est-il possible de créer une fonction qui prend une table en paramètre et renvoie une table?
- 20. générer une commande sql "create table" basée sur une table existante dans mysql
- 21. SQL Create Table Error
- 22. Créer par programme une table SQL Server CE à partir de DataTable
- 23. Comment créer une table SQL et la remplir avec des données de feuille de calcul Excel?
- 24. Comment créer une table large dans SQL Server 2008? et quelles sont ses limites d'utilisation?
- 25. Comment créer une vue d'une table de valeurs de propriété dans SQL
- 26. Comment obtenir Oracle créer une instruction de table dans SQL * Plus
- 27. Comment créer une application SQL Compact 2008
- 28. Créer une date avec T-SQL
- 29. créer une requête sql en C++/java?
- 30. Comment créer une transaction LINQ to SQL?
n'est pas créer une table comme sélectionnez un Oracle-ism? – ShoeLace
vous pouvez le trouver dans la référence que j'ai posté ci-dessus. beaucoup de RDBS a cette fonctionnalité. –