Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Cours] Administrez vos BDD avec MySQL

24 mars 2019 à 11:44:37

Bonjour,

A l'image de l'exercice avec la table Animal, je me suis construit une BDD pour mes données météos qui sont d'origine sous format Excel. Je convertit en format csv puis je les exporte dans ma BDD avec load data local infile. Mon problème concerne les valeurs vides, il me manque en effet quelques données en format nombre décimal. pour ces données manquantes, j'ai des avertissements incorrect decimal value et le champ contient alors 0.0 au lieu de NULL. J'ai vérifié, les colonnes concernées acceptent bien NULL. J'ai essayé manuellement en insérant une ligne et en mettant NULL à la place du champ vide et là ça marche. Est-ce un problème au niveau du csv ou au niveau de la BDD ? Merci

  • Partager sur Facebook
  • Partager sur Twitter
24 mars 2019 à 20:45:10

Ce n'est pas un problème en soi.

Il semble en effet que le comportement par défaut soit de remplacer les valeurs numériques non spécifiées par des zéros.

Tu as deux solutions :

- soit tu remplaces les zéros par des NULL après l'importation avec une commande UPDATE (à condition qu'il n'y ait pas de "vrais" zéros dans la colonne !)

- soit tu remplaces tes valeurs vides dans le ficher CSV par \N ou NULL, selon ta configuration.

Dans tous les cas, tu peux aller lire la documentation de LOAD DATA sur le site officiel : https://dev.mysql.com/doc/refman/8.0/en/load-data.html

  • Partager sur Facebook
  • Partager sur Twitter
25 mars 2019 à 8:49:46

Merci Zachee54 pour l'info.

J'ai également trouvé cela en appronfondissant mes recherches sur Internet :

LOAD DATA LOCAL INFILE 'C:/donnees_csv/2008.txt' INTO TABLE Climato CHARACTER SET utf8mb4

FIELDS TERMINATED BY ';' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' 

IGNORE 1 LINES

(jour, @vtemp_moy, @vtemp_max, @vtemp_min, @vpluie, @vrafale, @vdir_vent, @vsoleil)

SET

temp_moy = nullif(@vtemp_moy,''), temp_max = nullif(@vtemp_max,''), temp_min = nullif(@vtemp_min,''), pluie = nullif(@vpluie,''),

rafale = nullif(@vrafale,''), dir_vent = nullif(@vdir_vent,''), soleil = nullif(@vsoleil,'');

Et ça marche impec !

  • Partager sur Facebook
  • Partager sur Twitter
25 mars 2019 à 9:30:40

Bonjour,

Pour compléter la discussion, une chaîne de caractères vide est une valeur, alors que NULL représente l'absence de valeur.

Lorsque MySQL reçoit une chaîne de caractères vide pour une colonne numérique, il tente la conversion et met un zéro par défaut.

Donc en effet, maîtriser la commande LOAD DATA en conditionnant avec NULLIF est une meilleure solution plutôt que de reprendre les données en base après import.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
30 mars 2019 à 0:42:50

Bonjour cher tous,

Je rencontre un problème pour me connecter via MyQL 8.0 Command line Client.

J'ai suivi les instructions donné dans le cours. C'est à dire:

clique droit sur "MyQL 8.0 Command line Client." ensuite clique sur "propriété" et dans le champs cible j'ai ensuite modifier "-root" en "-students" (je précise que je suis sur windows 8 et que mon utilisateurs créé est "students" et non pas "student").

Malgré mes modifications faite lorsque je lance MysQl 8.0 Command Line Client je suis tjrs connecté avec l'utilisateur "root". 

Lorsque je mets le mot de passe de l'utilisateur "students" l'utilitaire MyQL 8.0 command line se ferme automatiquement.

SVP quelqu'un pour m'aider je bloque sur ça depuis un moment. 

  • Partager sur Facebook
  • Partager sur Twitter
30 mars 2019 à 9:07:29

Bonjour kasperscool

Tu spécifie l'utilisateur avec le tag "-u" donc -ustudents ou -u students et ajoute -p pour la demande du mot de passe.

Tu peux aussi ajouter à la suite le nom de la base que tu veux utiliser.

mysql -ustudents -p elevage

Tu peux aussi spécifier le mot de passe après "-p" (-pmotDePasse) mais il va s'afficher dans la bordure de ta fenêtre en clair.

Voici le champ Cible sous Windows de mon lien vers le client mysql

"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" "--defaults-file=C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" "-ustudent" "-p"

  • Partager sur Facebook
  • Partager sur Twitter

A new life is starting!

30 mars 2019 à 10:02:41

Bonjour 이도 (I Do)

Merci pour ton aide ça m'a bien aidé. J'ai pu me connecter via Mysql 8.0 command line client.

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
30 mars 2019 à 14:50:17

Bonjour le monde, 

SVP je suis le cours Administrez votre base de données avec Mysql, mais je rencontre un petit soucie. 

En voulant importer la nouvelle table céer dans la partie "Index" du cours:

SET NAMES 'latin1' utf8;

DROP TABLE IF EXISTS Animal;

CREATE TABLE Animal (
  id smallint(6) UNSIGNED NOT NULL AUTO_INCREMENT,
  espece varchar(40) NOT NULL,
  sexe char(1) DEFAULT NULL,
  date_naissance datetime NOT NULL,
  nom varchar(30) DEFAULT NULL,
  commentaires text,
  PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8;

LOCK TABLES Animal WRITE;
INSERT INTO Animal VALUES 

j'execute la commende suivante: mysql> SOURCE C:/Users/HP/animal.sql;

Et voici l'erreur qu'on m'affiche.

mysql> SOURCE C:/Users/HP/animal.sql;

ERROR 1064 (42000): Erreur de syntaxe près de 'utf8' à la ligne 1

Query OK, 0 rows affected (0.24 sec)


Query OK, 0 rows affected (0.35 sec)


Query OK, 0 rows affected (0.00 sec)


ERROR 1366 (HY000): Incorrect string value: '\xE9 sans...' for column 'commentaires' at row 5

Query OK, 0 rows affected (0.00 sec)

quelqu'un pourrait m'aider SVP?

Cordialement.

  • Partager sur Facebook
  • Partager sur Twitter
1 avril 2019 à 10:07:48

Bonjour Stéphane,

tu ne peux pas mélanger latin1 et utf8. Soit tu travail en latin1 qui est plus restreint ou soit avec utf8 qui est plus général.

SET NAMES 'utf8';

SET NAMES 'latin1;'

-
Edité par 이도 (Yi Do) 1 avril 2019 à 10:08:26

  • Partager sur Facebook
  • Partager sur Twitter

A new life is starting!

10 avril 2019 à 0:27:27

Allo.

En ce moment, j'essaie d'utiliser la base de données SQL, mais je ne réussis pas à l'ouvrir tout simplement.

Je crois avoir installé les bons logiciels par le passé, mais je n'en suis pas sûre. Du moins j'ai ceci d'installé sur mon ordinateur :

L'icone d'un cylindre nommé DB Browser (SQLite).

Je suis rendue à la deuxième page, mais je ne comprenais pas plus la première page.

Merci de l'aide que vous pouvez me fournir.

À bientôt.

PS : Je me suis aperçu en lisant dans les pages précédentes de ce topic qu'il est possible de transférer des notes du format Excel au format CSV (si j'ai bien saisi) mais je voudrais créer une base de données que les gens (qui utilisent le logiciel) peuvent modifier. Devrais-je donc avoir deux bases de données ? Une qui ne se modifie pas alors que l'autre si ?

-
Edité par Marie-Ange Bussière 10 avril 2019 à 1:03:22

  • Partager sur Facebook
  • Partager sur Twitter
10 avril 2019 à 9:27:49

Bonjour,

Tu es ici sur le sujet relatif au cours MySQL de OpenClassrooms. Il semblerait que ta question ne porte pas sur ce cours vu que DB Browser est un logiciel prévu pour fonctionner avec SQLite ... merci donc de créer ton propre sujet à l'aide du bouton bleu "Créer un sujet" en haut à droite du forum adéquat.

Il faudrait également que tu précises ce que tu as déjà fait, les erreurs éventuelles rencontrées, avec des copies d'écran par exemple.

Merci.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
20 avril 2019 à 23:17:10

Bonjour,

J'ai corrigé les trois devoirs qui m'ont été soumis après avoir réalisé la première activité (p2p_blog) !

J'ai eu la stupeur de tomber sur trois fichiers SQL absolument identiques ! C'est le même contenu au caractère près (seul le nom du troisième fichier n'était pas pareil que les deux premiers);

Les commentaires (dont un très pertinent '-- le mot de passe sera hashé avec sha1, ce qui donne toujours une chaîne de 40 caractères'), les sauts de lignes, les noms de variable, les choix de structure, l'indentation... tout ce qui caractérise le style d'un développeur est recopié exactement trois fois.

Je trouve ça absolument honteux et je suis amer d'avoir mis trois fois la note maximale alors que ce n'est peut-être pas mérité ! Au moins, ça m'a permis d'aller très vite sur la correction !

Ce serait bien de remplacer cette activité qui a été compromise !

Je félicite l'auteur de ce cours qui a un style très clair !

Cordialement.

  • Partager sur Facebook
  • Partager sur Twitter
23 avril 2019 à 14:59:59

Bonjour,

Hello @OC

Afin de vous assurer d'avoir une réponse le plus rapidement possible, je vous invite à directement contacter l'équipe du site via l'adresse hello@openclassrooms.com. En effet, l'équipe du site ne passant que très rarement sur les forums, il sera beaucoup plus efficace de les contacter directement.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
26 avril 2019 à 16:31:45

@Thomas Lévi :  entre ce que tu décris et les zip qui ne contiennent rien du tout >_<
  • Partager sur Facebook
  • Partager sur Twitter
7 mai 2019 à 21:12:27

Merci!

votre cours m' a aidé

-
Edité par Jean DanielKASSALUX 7 mai 2019 à 21:15:17

  • Partager sur Facebook
  • Partager sur Twitter
15 mai 2019 à 14:23:18

Bonjour à tous je suis un nouveau qui s'intéresse à l'administration des BDD avec MySQL, j'ai commencer le cours il y'a de cela quelques jours. Une fois arrivé sur la partie installation de MySQL ce que j'ai fais je n'arrive pas à accéder a la base de données. Une fois l'installation terminer on m'a demander de choisir un mot de passe root (personnel) ce que j'ai fais mais quand j'essaie de continuer le cours et ouvre mon terminal, le mot de passe ne fonctionne plus et j'arrive plus à dépassé ce stade. Pour info je travail sur mac. Quelqu'un saurait comment m'aider ? merci d'avance  

-
Edité par ThiernoBarry20 15 mai 2019 à 14:36:43

  • Partager sur Facebook
  • Partager sur Twitter
9 juin 2019 à 11:22:00

Bonjour.

Je suis intéressée par le cours "Administrez vos BdD avec MySQL". J'ai déjà easyphp sur mon PC. Quel chemin je dois utiliser? 

set PATH=%PATH%; C:\"Program Files"\EasyPHP-DevServer-14.1VC11\binaries\mysql\bin

Merci d'avance

  • Partager sur Facebook
  • Partager sur Twitter
9 juin 2019 à 14:29:05

Bonjour,

Si tu as EasyPHP tu dois avoir PHPMyAdmin,  du coup, pas besoin de la console... tu pourras faire tout le cours sans.

Sinon, il faut rechercher le fichier MySQL.exe sur ton pc et c'est ce chemin qu'il faut rajouter au PATH.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
14 juin 2019 à 17:13:46

Bonjour,

Je prend la décision de fermer ce sujet car il est difficile de répondre et de suivre les réponses lorsque plusieurs membres posent leurs questions en même temps.

Je vous encourage donc à poser vos questions individuellement dans le forum "Base de données" en créant un nouveau sujet pour chacune et en faisant clairement référence à la partie du cours sur laquelle vous rencontrez votre problème.

Merci pour votre compréhension.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL