Jump to content

Premier tes pour base de donnée


Recommended Posts

Bonjour, c'est parti...

Je veux enregistré des noms de villes, leur code postal et leur nom de département.

Dois je faire une seule table VILLE, dans laquelle l'info département sera forcement répété plusieur fois.

Ou faut il aussi faire une table DEPARTEMENT

Link to post
Share on other sites

peux tu m'expliquer pourquoi

est ce que c'est parceque je vais avoir plusieurs fois le meme nom de département dans la table COMMUNE.

Je sent que c'est pour cela, mais je sais pas m'expliquer pourquoi, quelles sont les conséquences ?

Pourquoi ???

Link to post
Share on other sites

Salut avec mes petit moyen voici ce que j'arrive a faire

create table codpostal
(
cp_codpos char(10) not null,
cp_ville char(30) not null,
cp_pays char(3),
cp_noinsee char(10) not null,
cp_bureaudist char(30) not null
);

create index cp_codpos on codpostal (cp_codpos);
create index cp_ville on codpostal (cp_ville);
create index cp_noinsee on codpostal (cp_noinsee);
create index cp_bureaudist on codpostal (cp_bureaudist);

INSERT INTO codpostal VALUES('01400', 'L ABERGEMENT CLEMENCIAT', '100', '01001', 'L ABERGEMENT CLEMENCIAT');
INSERT INTO codpostal VALUES('01640', 'L ABERGEMENT DE VAREY', '100', '01002', 'L ABERGEMENT DE VAREY');
INSERT INTO codpostal VALUES('01090', 'AMAREINS', '100', '01003', 'AMAREINS FRANCHELEINS');
INSERT INTO codpostal VALUES('01500', 'AMBERIEU EN BUGEY', '100', '01004', 'AMBERIEU EN BUGEY');
INSERT INTO codpostal VALUES('01330', 'AMBERIEUX EN DOMBES', '100', '01005', 'AMBERIEUX EN DOMBES');
INSERT INTO codpostal VALUES('01300', 'AMBLEON', '100', '01006', 'AMBLEON');
INSERT INTO codpostal VALUES('01500', 'AMBRONAY', '100', '01007', 'AMBRONAY');
INSERT INTO codpostal VALUES('01780', 'AMBUTRIX', '100', '01008', 'AMBUTRIX');
INSERT INTO codpostal VALUES('01300', 'ANDERT ET CONDON', '100', '01009', 'ANDERT ET CONDON');

Si je crée un fichier txt

ou sur chaque ligne une VILLE avec ces champs séparé par une virgule

comment faire pour automatiser l'envoie

'01500', 'AMBRONAY', '100', '01007', 'AMBRONAY'

'01780', 'AMBUTRIX', '100', '01008', 'AMBUTRIX'

'01300', 'ANDERT ET CONDON', '100', '01009', 'ANDERT ET CONDON'

Faut que je lance LOAD DATA INFILE "nomdufichier.txt" INTO TABLE nomdelatable;

cette commande lit le fichier texte et insère dabs la table.

Les champs doivent être séparés par des tabulations et entouré d'apostrophe chaque ligne étant séparé par une séquence de nouvelle ligne \n

et les caractère spéciaux doivent être échappés par \

C'est bien quand on a fait le fichier texte en connaissant cela

mais si on a un fichier texte ou les champs ne sont pas séparé par des tabulation mais par des virgules et que chaque ligne n'est pas séparé par \n mais juste par un retour chariot

On fait comment (vous voyer je fais plein déforts)

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' 
[REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY '\t']
[[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '\\' ]
]
[LINES
[STARTING BY '']
[TERMINATED BY '\n']
]
[IGNORE number LINES]
[(col_name,...)]

j'ai aussi trouvé cela mais j'ai pas les connaissances pour comprendre tout ce que cela veut dire en français depuls j'ai l'impression que la je suis dans le SQL et moi je fait tout depuis des pages php (je vais pas dans SQL passer des commande directement je fait que des requetes depuis php)

Edited by stever34
Link to post
Share on other sites
(vous voyer je fais plein déforts)

Une virgule suffit pour faire planter un script php...

Merci de faire l'effort pour l'orthographe également.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...