scinder une base de données ?

A

Anonyme

Invité
Bonjour

Je souhaite scinder une base SQL (chez free) en deux : est-ce possible ? Ou recopier un partie d'une base et en faire une autre base, ce qui reviendra au même.

Merci

Albert
 

fredmac75

Membre d’élite
Club MacG
14 Juillet 2003
1 415
127
50
Le Mans
www.km-spirit.com
Halbert a dit:
Bonjour

Je souhaite scinder une base SQL (chez free) en deux : est-ce possible ? Ou recopier un partie d'une base et en faire une autre base, ce qui reviendra au même.

Merci

Albert

Sur SQL tu peux faire une nombre de table impressionnant. Le plus importat réside dans le nom que tu donnes à tes tables et qui doit être explicite. Tu peux donc par exemple créer une série de tables commençant par B1_tbl_nom et une autre avec B2_tbl_nom et tout cela au sein d'une même base.

Je ne suis pas persuadé qu'avec free, tu puisses disposer de plus d'une base. Ce qui est déjà beaucoup. Il faut en mettre une sacré quantité d'info pour saturer une base...

Mais la vrai question est pourquoi vouloir plusieurs bases, quels sont les besoins en la matière ? As tu une quantité d'information aussi impressionnante que ça ?
 
A

Anonyme

Invité
fredmac75 a dit:
Sur SQL tu peux faire une nombre de table impressionnant. Le plus importat réside dans le nom que tu donnes à tes tables et qui doit être explicite. Tu peux donc par exemple créer une série de tables commençant par B1_tbl_nom et une autre avec B2_tbl_nom et tout cela au sein d'une même base.

Je ne suis pas persuadé qu'avec free, tu puisses disposer de plus d'une base. Ce qui est déjà beaucoup. Il faut en mettre une sacré quantité d'info pour saturer une base...

Mais la vrai question est pourquoi vouloir plusieurs bases, quels sont les besoins en la matière ? As tu une quantité d'information aussi impressionnante que ça ?

Il s'agit de scinder une table, pas la base.
C'est un côté pratique : pour simplifier, j'ai deux groupes disctincts de personnes qui solliciteront des données (des notes par exemple). En fonction du groupe les résultats sont de nature différente. J'ai eu le tort de créer qu'une seule table que je voudrais scuinder en deux tables.

Est-ce possible ?
Albert
 

fredmac75

Membre d’élite
Club MacG
14 Juillet 2003
1 415
127
50
Le Mans
www.km-spirit.com
Halbert a dit:
Il s'agit de scinder une table, pas la base.

Ah bon
Halbert a dit:
... Je souhaite scinder une base SQL (chez free) en deux : est-ce possible ? Ou recopier un partie d'une base et en faire une autre base, ce qui reviendra au même.
...

Tu t'emmèle les pinceaux entre une base et une table.


Halbert a dit:
C'est un côté pratique : pour simplifier, j'ai deux groupes disctincts de personnes qui solliciteront des données (des notes par exemple). En fonction du groupe les résultats sont de nature différente. J'ai eu le tort de créer qu'une seule table que je voudrais scuinder en deux tables.

Est-ce possible ?
Albert

Le moyen le plus simple n'est-il pas d'ajouter un champ à ta table ? Champ qui indiquerait un numéro de groupe. Ainsi dans ta requête en fonction du numéro qui t'es retourné tu afficheras les résultats correspondant au groupe.
 
A

Anonyme

Invité
fredmac75 a dit:
Ah bon


Tu t'emmèle les pinceaux entre une base et une table.




Le moyen le plus simple n'est-il pas d'ajouter un champ à ta table ? Champ qui indiquerait un numéro de groupe. Ainsi dans ta requête en fonction du numéro qui t'es retourné tu afficheras les résultats correspondant au groupe.

oui j'ai commis un lapsus dans le premier message. Je souhaite donc scinder une table en deux.
Est-ce possible ? Comme il y aura environ 10 types de retour de données, je préfère 10 tables, ca sera plus lisible
Albert
 

da capo

abonné absent
Club MacG
12 Août 2001
17 433
3 685
Tu peux utiliser SQL pour faire cela :
http://www.w3schools.com/sql/sql_select_into.asp

par exemple :
select * INTO nouvelletble from table
where nomduchamp=valeur

cette requete créera une table nommée nouvelletable ne contenant que les enregistrements de nomdetable vérifiant la condition nomduchamp=valeur
 

fredmac75

Membre d’élite
Club MacG
14 Juillet 2003
1 415
127
50
Le Mans
www.km-spirit.com
starmac a dit:
Tu peux utiliser SQL pour faire cela :
http://www.w3schools.com/sql/sql_select_into.asp

par exemple :
select * INTO nouvelletble from table
where nomduchamp=valeur

cette requete créera une table nommée nouvelletable ne contenant que les enregistrements de nomdetable vérifiant la condition nomduchamp=valeur

STARMAC >>La façon dont tu écris ta phrase pourrait laisser penser qu'il va créer une nouvelle table avec cette requête. Non cette requête ne créera pas de nouvelle table ; il s'agit d'un select et non d'un create... Au mieux il obtiendra les enregistrement pour le faire.
;)
halbert >> pourrais-tu être plus précis quand aux "10 retours possibles". Il me semble que dans ta démarche tu prend une solution technique que tu cherches désespérement à appliquer à un cas concrêt. Dits nous en davantage sur le point de départ (ce que tu as) et le point d'arrivé (là ou tu veux en venir) ; ainsi nous pourrons réfléchir à la meilleur façon de procéder. A contrario la création de 10 tables ne me semble pas une bonne solution. Avec SQL il faut SIMPLIFIER.
 

da capo

abonné absent
Club MacG
12 Août 2001
17 433
3 685
fredmac75 a dit:
STARMAC >>La façon dont tu écris ta phrase pourrait laisser penser qu'il va créer une nouvelle table avec cette requête. Non cette requête ne créera pas de nouvelle table ; il s'agit d'un select et non d'un create... Au mieux il obtiendra les enregistrement pour le faire. ;)
Tss, tss, j'insiste :
SELECT (liste de champs|*) INTO NouvelleTable From Table
est une clause permettant le backup de table et en conséquence CREE des tables.
C'est une clause que j'ai utilisée très souvent et qui de plus est décrite dans le lien que j'ai donné dans mon post. Pour rappel : http://www.w3schools.com/sql/sql_select_into.asp

Quant à la simplification, nous pouvons toujours nous agiter depuis nos machines, mais Halbert nous a donné bien peu d'éléments pour pouvoir le conseiller (sans même penser à conclure) ;).

Donc Fred75 : vous me copierez 100 fois : la clause SELECT permet sous conditions de créer une table :D :D :D
 

fredmac75

Membre d’élite
Club MacG
14 Juillet 2003
1 415
127
50
Le Mans
www.km-spirit.com
starmac a dit:
Tss, tss, j'insiste :
SELECT (liste de champs|*) INTO NouvelleTable From Table
est une clause permettant le backup de table et en conséquence CREE des tables.
C'est une clause que j'ai utilisée très souvent et qui de plus est décrite dans le lien que j'ai donné dans mon post. Pour rappel : http://www.w3schools.com/sql/sql_select_into.asp

Quant à la simplification, nous pouvons toujours nous agiter depuis nos machines, mais Halbert nous a donné bien peu d'éléments pour pouvoir le conseiller (sans même penser à conclure) ;).

Donc Fred75 : vous me copierez 100 fois : la clause SELECT permet sous conditions de créer une table :D :D :D

Non et non SELECT ne fait pas de back-up. Cette fonction appelle un table selon des conditions et receptionne les datas correspondantes et les stock temporairement. C'est une erreur de faire croire que l'on créer en SQL une table avec un SELECT ; pour cela il y a un terme précis qui est CREATE. SELECT ne créer pas et ne créera jamais de table.

Pour faire un back-up d'une table il existe la possibilité (parmis d'autre) de faire une "view". (CREATE VIEW nomtable...)

Starmac>> tu me copieras 101 fois, pour récupérer des infos contenus dans une table je fais un select. Pour créer une table j'utilise un create. Pour éviter les modifications à hue et à dia, je creer une copie avec CREATE VIEW ;)
 

fredmac75

Membre d’élite
Club MacG
14 Juillet 2003
1 415
127
50
Le Mans
www.km-spirit.com
starmac a dit:
Ok, il y a en effet erreur de ma part mais tout simplement parce que MySql n'a pas encore intégré cette possibilité...

la preuve par le manuel :
http://dev.mysql.com/doc/mysql/fr/ansi-diff-select-into-table.html


Si je lis bien le post il est en effet possible de créer un table avec un SELECT mais en second argument.
"With INSERT..SELECT you must first have created the table. If you wish to create the table with the select, use CREATE..SELECT."

J'attend ta copie (101 fois) en pdf sur mon bureau pour demain matin... et pas de copier/coller...:D :D :D

Bon ceci dit, je ne vois toujours pas ou notre posteur veut en venir ? Allo, y'a quelqu'un ? Monsieur Algoud êtes-vous toujours avec nous ? Spok à l'inter... téléportation
 

da capo

abonné absent
Club MacG
12 Août 2001
17 433
3 685
fredmac75 a dit:
SJ'attend ta copie (101 fois) en pdf sur mon bureau pour demain matin... et pas de copier/coller...
Oui, bien sur, mais compte tenu de mon actualité douloureuse (voir galerie), je vais être obligé de coller cette punition à mon fils... tu ne veux pas de ça, n'est-ce pas ?