{"id":973,"date":"2009-07-30T15:02:04","date_gmt":"2009-07-30T14:02:04","guid":{"rendered":"http:\/\/flaven.fr\/?p=973"},"modified":"2013-09-26T06:09:58","modified_gmt":"2013-09-26T04:09:58","slug":"mysql-phpmyadmin-administrer-une-base-de-donnees-mysql-via-la-console-mysql-et-phpmyadmin","status":"publish","type":"post","link":"https:\/\/flaven.fr\/2009\/07\/mysql-phpmyadmin-administrer-une-base-de-donnees-mysql-via-la-console-mysql-et-phpmyadmin\/","title":{"rendered":"MySQL, PhpMyadmin &#8211;  Administrer une base de donn\u00e9es MySQL via la console MySQL et PhpMyadmin"},"content":{"rendered":"<p>\t<!-- MySQL, PhpMyadmin -  Administrer une base de donn\u00e9es MySQL via la console MySQL et PhpMyadmin --><br \/>\n\t<!--  MySQL, PhpMyadmin, Administrer, base de donn\u00e9es, PHP --><br \/>\nC&#8217;est un truisme de dire qu\u2019un site dynamique fait en PHP s&#8217;appuie souvent sur une base de donn\u00e9es de type MySQL. Le succ\u00e8s et la diffusion du PHP est en grande partie du aussi \u00e0 la grande facilit\u00e9 de le coupler, pour un site, \u00e0 une Base de donn\u00e9es (BDD) de type MYSQL. La gratuit\u00e9, le tr\u00e8s grand nombre d\u2019h\u00e9bergeurs qui propose ce format de Base donn\u00e9es l&#8217;a impos\u00e9 comme aujourd\u2019hui un standard.<!--more--> Tout cr\u00e9ateur de site quel que soit la technologie utilis\u00e9 pour ne citer que les langages open source : Ruby, Python se doit de connaitre au moins dans les grandes ligne tout au moins, la cr\u00e9ation et la gestion de cet type de BDD. C&#8217;est bein l&#8217;objet de cet article.<\/p>\n<p><i>NB : Pour information, il existe toutefois un autre moteur de BDD, concurrent de MySQL, c&#8217;est <b>SQLite<\/b> et son manager nomm\u00e9 <b>sqlitemanager<\/b> con\u00e7u en PHP \u00e0 la mani\u00e8re de PhpMyadmin. Les deux sont souvent distribu\u00e9s dans des environnements LAMP pr\u00eat \u00e0 l&#8217;emploi tel que EasyPHP pour PC ou MAMP pour Mac<\/i>.<\/p>\n<h4>Installer un environnement PHP-MYSQL<\/h4>\n<p>Pour installer rapidement et simplement un site en local qui fonctionne avec le couple php-mysql, reportez-vous aux articles de ce blog&nbsp;:<\/p>\n<ul>\n<li><a href=\"http:\/\/social.hecube.net\/bruno\/2009\/04\/04\/installer-un-environnement-php-mysql-sur-mac\/\">Installer un environnement php-mysql sur Mac<\/a><\/li>\n<li><a href=\"http:\/\/social.hecube.net\/blog\/2009\/03\/14\/installer-facilement-php-mysql-sur-un-pc-avec-easyphp\/\">Installer un environnement php-mysql sous Windows<\/a><\/li>\n<\/ul>\n<h4>En savoir plus sur SQLite<\/h4>\n<ul>\n<li>Le site de SQLite<br \/>\n\t\t<a href=\"http:\/\/www.sqlite.org\/\" target=\"_blank\">http:\/\/www.sqlite.org\/<\/a><\/li>\n<li>Le manager de BDD SQLite<br \/>\n\t\t\t<a href=\"http:\/\/www.sqlitemanager.org\/\" target=\"_blank\">http:\/\/www.sqlitemanager.org\/<\/a><\/li>\n<\/ul>\n<p><b>Pour toutes les op\u00e9rations qui vont suivre et lignes de commande, nous utiliserons le client MySQL et le phpMyadmin qui s&#8217;installent lors de l&#8217;installation de MAMP. Ce dernier n&#8217;\u00e9tant disponible que pour MAC. A priori, les op\u00e9ration et lignes de commande restent valables sur PC via EasyPHP par exemple.<\/b><\/p>\n<h4>Les lignes de commande sur PC<\/h4>\n<p>Il faut bien reconnaitre que les PC sous windows sont encore majoritaires, ainsi beaucoup des utilisateurs installent leur environnement de d\u00e9veloppement en local \u00e0 l&#8217;aide de EasyPHP, par souci p\u00e9dagogique, on donne les quelques commandes qui n\u00e9cessitent de conna\u00eetre la chemin vers l\u2019application <code>mysql.exe<\/code> ou <code>mysldump.exe<\/code>. Dans nos exemples, les chemins seront les suivants :<\/p>\n<ul>\n<li> Le client <code>mysql<\/code> &#8211; <code>C:EasyPHP_2_0b1mysqlbinmysql.exe<\/code><\/li>\n<li> Le client <code>mysqldump<\/code> &#8211; <code>C:EasyPHP_2_0b1mysqlbinmysqldump.exe<\/code><\/li>\n<\/ul>\n<p>Pour avoir directement acc\u00e8s aux commandes <code>mysql<\/code> et <code>mysqldump<\/code> et ne pas trimballer tout le bazar <code>C:EasyPHP_2_0b1mysqlbinmysql.exe<\/code> et <code>C:EasyPHP_2_0b1mysqlbinmysqldump.exe<\/code>, reprotez-vous \u00e0 l&#8217;article de ce blog :<\/p>\n<ul>\n<li><a href=\"http:\/\/social.hecube.net\/blog\/2009\/03\/02\/modifier-la-variable-path-sous-windows-afin-dexecuter-des-commandes-en-ms-dos\/\" target=\"_blank\">Modifier la variable Path sous windows afin d\u2019executer des commandes en MS-DOS<\/a><\/li>\n<\/ul>\n<h1>Acc\u00e9der \u00e0 la console MySQL sur Mac<\/h1>\n<p>Voil\u00e0, \u00e9cran par \u00e9cran, la marche \u00e0 suivre pour acc\u00e9der au client <code>mysql<\/code> de MAP sur un MAC.<\/p>\n<h4>1. Lancer le terminal<\/h4>\n<p>Vous devez lancer le terminal. Cette application se trouve dans <strong>&#8220;Applications &gt; Utilitaires &gt; Terminal&#8221;<\/strong> (en passant le chemin sous la console elle-m\u00eame est <code>\/Applications\/Utilities\/Terminal.app<\/code>).<\/p>\n<p><em>acc\u00e8s au terminal<\/em><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/07\/using_mysql_client_phpmyadmin_1.jpg\" width=\"500\" height=\"265\" alt=\"MySQL, PhpMyadmin -  Administrer une base de donn\u00e9es MySQL via la console MySQL et PhpMyadmin\" class=\"aligncenter\"><\/p>\n<p><em>Premier \u00e9cran du terminal<\/em><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/07\/using_mysql_client_phpmyadmin_2.jpg\" width=\"500\" height=\"265\" alt=\"MySQL, PhpMyadmin -  Administrer une base de donn\u00e9es MySQL via la console MySQL et PhpMyadmin\" class=\"aligncenter\"><\/p>\n<p><em>Se connecter au client MySQL via <code>\/Applications\/MAMP\/Library\/bin\/mysql -u root -p<\/code>, le mot de passe n&#8217;apparait pas en clair lorsque vous le saisissez.<\/em><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/07\/using_mysql_client_phpmyadmin_3.jpg\" width=\"500\" height=\"265\" alt=\"MySQL, PhpMyadmin -  Administrer une base de donn\u00e9es MySQL via la console MySQL et PhpMyadmin\" class=\"aligncenter\"><\/p>\n<p><em>Sortir du client MySQL via <code>exit;<\/code>, poliment vous r\u00e9pondra <code>bye<\/code>.<\/em><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/07\/using_mysql_client_phpmyadmin_4.jpg\" width=\"500\" height=\"265\" alt=\"MySQL, PhpMyadmin -  Administrer une base de donn\u00e9es MySQL via la console MySQL et PhpMyadmin\" class=\"aligncenter\"><\/p>\n<p><em>Un exemple de commande pass\u00e9e dans le client MySQL via <code>SHOW databases;<\/code>.<\/em><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/07\/using_mysql_client_phpmyadmin_5.jpg\" width=\"500\" height=\"265\" alt=\"MySQL, PhpMyadmin -  Administrer une base de donn\u00e9es MySQL via la console MySQL et PhpMyadmin\" class=\"aligncenter\"><\/p>\n<h1>Utiliser la console MySQL<\/h1>\n<p><b>La commande SQL pour se connecter au client MySQL de MAMP. Vous vous connect\u00e9(e) comme utilisateur <code>root<\/code>, le mot de passe est <code>root<\/code><\/b><\/p>\n<pre lang=\"sql\">\r\n\t\/Applications\/MAMP\/Library\/bin\/mysql -u root -p\r\n\t<\/pre>\n<p>\t<b>Pour PC<\/b><br \/>\n<i>Le r\u00e9pertoire de EasyPHP peut-\u00eatre bien s\u00fbr diff\u00e9rent de celui indiqu\u00e9 ci-dessous.<\/i><\/p>\n<pre lang=\"sql\">\r\n\tC:EasyPHP_2_0b1mysqlbinmysql.exe -u root -p\r\n<\/pre>\n<pre lang=\"sql\">\r\n\t# Montre toutes les bases\r\n\t\tSHOW databases;\r\n<\/pre>\n<pre lang=\"sql\">\t\r\n\t# Cr\u00e9ation de la base hecube_demo\r\n\tCREATE DATABASE hecube_demo;\r\n<\/pre>\n<pre lang=\"sql\">\t\r\n\t# Cr\u00e9ation de la base hecube_demo\r\n\tDROP DATABASE hecube_demo;\r\n<\/pre>\n<pre lang=\"sql\">\t\r\n\t# Destruction de hecube_demo@localhost ...\r\n\tDROP USER hecube_demo@localhost;\r\n\tDROP DATABASE IF EXISTS hecube_demo;\r\n<\/pre>\n<pre lang=\"sql\">\r\n\t# Cr\u00e9ation simultan\u00e9e de la base hecube_demo\r\n\t# et de l'utilisateur hecube_demo\r\n\tCREATE USER 'hecube_demo'@'localhost' IDENTIFIED BY 'hecube_demo';\r\n\tGRANT USAGE ON *.* TO 'hecube_demo'@'localhost' IDENTIFIED\r\n\tBY 'hecube_demo'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0\r\n\tMAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; CREATE DATABASE\r\n\tIF NOT EXISTS hecube_demo;GRANT ALL PRIVILEGES ON hecube_demo.*\r\n\tTO 'hecube_demo'@'localhost';\r\n<\/pre>\n<h4>Cr\u00e9er une table et importer des donn\u00e9es via un fichier <code>.sql<\/code> d&#8217;un seul coup<\/h4>\n<p>L&#8217;id\u00e9e si on passe par la console est d\u2019acc\u00e9l\u00e9rer la saisie dans votre BDD. Dans notre exemple ci-dessous, on va cr\u00e9er une seule et unique table <code>hecube_demo_users_dump.sql<\/code> et dans le m\u00eame temps populariser des donn\u00e9es \u00e0 l&#8217;int\u00e9rieur de cette table. Ces inserions s&#8217;effectuent \u00e0 l&#8217;aide des lignes <code>INSERT INTO ...<\/code><\/p>\n<h4>La commande d&#8217;importation du fichier <code>hecube_demo_users_dump.sql<\/code><\/h4>\n<pre lang=\"sql\">\r\n\t\t# Utiliser la base hecube_demo\r\n\t\tUSE hecube_demo;\r\n\t<\/pre>\n<p>\t<b>Pour MAC<\/b><\/p>\n<pre lang=\"sql\">\r\n\t\t# Ins\u00e9rer le contenu du fichier hecube_demo_users_dump.sql\r\n\t\t# dans la base hecube_demo s\u00e9lectionn\u00e9e pr\u00e9c\u00e9demment\r\n\t\t# faire attention au chemin vers le fichier .sql\r\n\t\tSOURCE \/Users\/username\/rep-1\/he3_fr\/datas\/hecube_demo_users_dump.sql;\r\n\t\t\t\r\n\t<\/pre>\n<p>\t<b>Pour PC<\/b><\/p>\n<pre lang=\"sql\">\r\n\t\t# Ins\u00e9rer le contenu du fichier hecube_demo_users_dump.sql\r\n\t\t# dans la base hecube_demo s\u00e9lectionn\u00e9e pr\u00e9c\u00e9demment\r\n\t\t# faire attention au chemin vers le fichier .sql\r\n\t\tSOURCE C:mon-repertoire-sans-espaces-12-mes_donneshecube_demo_users_dump.sql;\r\n\t<\/pre>\n<h4>Le fichier <code>hecube_demo_users_dump.sql<\/code><\/h4>\n<p>\tCe fichier contient la structure de la table ainsi que quelques enregistrements pour r\u00e9aliser les requ\u00eates cit\u00e9es plus bas. <b>A noter la d\u00e9finition du charset de la BDD <code>CHARSET=utf8<\/code>. Cela aura son importance notamment lors des requ\u00eates de mise \u00e0 jour avec les caract\u00e8res accentu\u00e9s en Fran\u00e7ais. Pour plus d&#8217;explications sur le charset, voir l&#8217;article :<br \/>\n<a href=\"http:\/\/social.hecube.net\/blog\/2009\/03\/30\/charset-iso-8859-1-iso-8859-15-utf-8-le-probleme-de-charset\/\">Charset iso-8859-1, iso-8859-15, utf-8, le probl\u00e8me du Charset<\/a><\/b><\/p>\n<pre lang=\"sql\">\r\n\t\t\r\n\t\t-- SQL Dump\r\n\t\t-- \r\n\t\t-- Base de donn\u00e9es: hecube_demo\r\n\t\t-- \r\n\r\n\t\t-- --------------------------------------------------------\r\n\r\n\t\t-- \r\n\t\t-- Structure de la table hecube_demo_users\r\n\t\t-- \r\n\t\tDROP TABLE IF EXISTS hecube_demo_users;\r\n\t\tCREATE TABLE hecube_demo_users (\r\n\t\t  ID bigint(20) unsigned NOT NULL auto_increment,\r\n\t\t  user_login varchar(60) NOT NULL default '',\r\n\t\t  user_pass varchar(64) NOT NULL default '',\r\n\t\t  user_nicename varchar(50) NOT NULL default '',\r\n\t\t  user_email varchar(100) NOT NULL default '',\r\n\t\t  user_url varchar(100) NOT NULL default '',\r\n\t\t  user_registered datetime NOT NULL default '0000-00-00 00:00:00',\r\n\t\t  user_activation_key varchar(60) NOT NULL default '',\r\n\t\t  user_status int(11) NOT NULL default '0',\r\n\t\t  display_name varchar(250) NOT NULL default '',\r\n\t\t  spam tinyint(2) NOT NULL default '0',\r\n\t\t  deleted tinyint(2) NOT NULL default '0',\r\n\t\t  PRIMARY KEY  (ID),\r\n\t\t  KEY user_login_key (user_login),\r\n\t\t  KEY user_nicename (user_nicename)\r\n\t\t) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;\r\n\r\n\t\t-- \r\n\t\t-- Contenu de la table hecube_demo_users\r\n\t\t-- \r\n\r\n\t\tINSERT INTO hecube_demo_users VALUES (1, 'admin', '$P$B1jMi1zFm6s4qznrqoshEFwP\/UO.wy.', 'admin', 'info@hecube.net',\r\n\t\t 'http:\/\/www.hecube.net', '2009-06-15 03:15:41', '', 0, 'admin', 0, 0);\r\n\r\n\t\tINSERT INTO hecube_demo_users VALUES (2, 'Barack Obama', '$P$B3Zpg6kH3D6D5nkWfGjJK8HiCss20N1', 'barack-obama',\r\n\t\t 'barack.obama@hecube.net', 'http:\/\/www.hemedia.net\/', '2009-09-18 13:12:08', '', 0, 'Barack Obama', 0, 0);\r\n\r\n\t\tINSERT INTO hecube_demo_users VALUES (3, 'Paris Hilton', '$P$BCavN5n\/JBAwLxs8D3WZNGX6H2jjMM.', 'paris-hilton',\r\n\t\t 'paris.hilton@hecube.net', 'http:\/\/www.hemedia.net\/', '2009-08-18 13:42:49', '', 0, 'Paris Hilton', 0, 0);\r\n\r\n\t\tINSERT INTO hecube_demo_users VALUES (4, 'Jeanne Hilton', '$P$BCavN5n\/JBAwLxs8D3WZNGX6H2jjMM.', 'jeanne-hilton',\r\n\t\t 'jeanne.hilton@hecube.net', 'http:\/\/www.hemedia.net\/', '2009-07-14 13:42:49', '', 0, 'Jeanne Hilton', 0, 0);\r\n\r\n\r\n\t\tINSERT INTO hecube_demo_users VALUES (5, 'Michelle Obama', '$P$BCavN5n\/JBAwLxs8D3WZNGX6H2jjMM.', 'michelle-obama',\r\n\t\t 'michelle.obama@hecube.net', 'http:\/\/www.recovery.org\/', '2009-04-12 13:45:49', '', 0, 'Paris Hilton', 0, 0);\r\n\r\n\r\n\t\tINSERT INTO hecube_demo_users VALUES (6, 'Jean Paris', '$P$BCavN5n\/JBAwLxs8D3WZNGX6H2jjMM.', 'jparis',\r\n\t\t 'jparis@hecube.net', 'http:\/\/www.google.com\/', '2009-06-18 13:42:49', '', 0, 'jparis', 0, 0);\r\n\r\n\r\n\t\tINSERT INTO hecube_demo_users VALUES (7, 'brunoflaven', '$P$B3Zpg6kH3D6D5nkWfGjJK8HiCss20N1', 'brunoflaven',\r\n\t\t 'apps+93832643825.1841931876.1f1942b57f81232860a8777ea4aaeac8@proxymail.facebook.com',\r\n\t\t 'http:\/\/www.facebook.com\/people\/Bruno-Flaven\/1841931876', '2009-06-18 13:12:08', '', 0, 'Bruno Flaven', 0, 0);\r\n\r\n\t\tINSERT INTO hecube_demo_users VALUES (8, 'etiennedefontainieu', '$P$BCavN5n\/JBAwLxs8D3WZNGX6H2jjMM.', 'etiennedefontainieu', \r\n\t\t'apps+93832643825.608633262.88b94754f62e27b6b641ff6008e8ecb4@proxymail.facebook.com',\r\n\t\t'http:\/\/www.facebook.com\/people\/Etienne-De-Fontainieu\/608633262', '2009-06-18 13:42:49', '', 0, 'Etienne De Fontainieu', 0, 0);\r\n\t<\/pre>\n<h2>En vrac, les commandes SQL indispensables<\/h2>\n<h4>Vider une table, Supprimer une table<\/h4>\n<pre lang=\"sql\">\r\n\t# Vider la table hecube_demo\r\n\tTRUNCATE TABLE hecube_demo_users;\r\n<\/pre>\n<pre lang=\"sql\">\r\n\t\t# Supprimer la table hecube_demo\r\n\t\tDROP TABLE hecube_demo_users;\r\n\t<\/pre>\n<h4>S\u00e9lectionner des donn\u00e9es<\/h4>\n<p>\t<i>Requ\u00eate<\/i><\/p>\n<pre lang=\"sql\">\r\n\t\t# Retourne le nombre d'enregistrements dans la table hecube_demo_users\r\n\t\tSELECT COUNT(*) FROM hecube_demo_users;\r\n\t\t\r\n\t<\/pre>\n<p>\t<i>R\u00e9sultat<\/i><\/p>\n<pre lang=\"sql\">\r\n\t\t+----------+\r\n\t\t| COUNT(*) |\r\n\t\t+----------+\r\n\t\t| 8        |\r\n\t\t+----------+\r\n\t\t1 row in set (0,00 sec)\r\n\t<\/pre>\n<p>\t<b>Avant d\u2019effectuer une requ\u00eate SELECT, il faut toujours s\u00e9lectionner sa BDD avant.<\/b><\/p>\n<p>\t<i>Requ\u00eate<\/i><\/p>\n<pre lang=\"sql\">\r\n\t\t# Retourne le nombre d'enregistrements dans la table hecube_demo_users\r\n\t\tSELECT id, user_login, display_name  FROM hecube_demo_users WHERE user_nicename LIKE '%obama%';\r\n\t\t\r\n\t<\/pre>\n<p>\t<i>R\u00e9sultat<\/i><\/p>\n<pre lang=\"sql\">\r\n\t\t+----+----------------+----------------+\r\n\t\t| id | user_login     | display_name   |\r\n\t\t+----+----------------+----------------+\r\n\t\t| 2  | Barack Obama   | Barack Obama   |\r\n\t\t| 5  | Michelle Obama | Michelle Obama |\r\n\t\t+----+----------------+----------------+\r\n\t\t2 rows in set (0,00 sec)\r\n\t<\/pre>\n<p>\t<b>La m\u00eame requ\u00eate mais qui retourne l&#8217;int\u00e9gralit\u00e9 des champs et leurs contenus<\/b><\/p>\n<p>\t<i>Requ\u00eate<\/i><\/p>\n<pre lang=\"sql\">\r\n\t\t# Retourne le nombre d'enregistrements dans la table hecube_demo_users\r\n\t\tSELECT * FROM hecube_demo_users WHERE user_nicename LIKE '%obama%';\r\n\t<\/pre>\n<pre lang=\"sql\">\r\n\t\t# Retourne le nombre d'enregistrements dans la table hecube_demo_users\r\n\t\tSELECT id, user_login, display_name  FROM hecube_demo_users WHERE user_nicename LIKE '%obama%';\r\n\t<\/pre>\n<p>\t<i>R\u00e9sultat<\/i><\/p>\n<pre lang=\"sql\">\r\n\t\t+----+----------------+----------------+\r\n\t\t| id | user_login     | display_name   |\r\n\t\t+----+----------------+----------------+\r\n\t\t| 2  | Barack Obama   | Barack Obama   |\r\n\t\t| 5  | Michelle Obama | Michelle Obama |\r\n\t\t+----+----------------+----------------+\r\n\t\t2 rows in set (0,00 sec)\r\n\t<\/pre>\n<pre lang=\"sql\">\r\n\t\t# Retourne le nombre d'enregistrements dans la table hecube_demo_users\r\n\t\tSELECT id, user_login, display_name  FROM hecube_demo_users WHERE user_nicename LIKE '%obama%';\r\n\t<\/pre>\n<p>\t<i>R\u00e9sultat<\/i><\/p>\n<pre lang=\"sql\">\r\n\t\t+----+----------------+----------------+\r\n\t\t| id | user_login     | display_name   |\r\n\t\t+----+----------------+----------------+\r\n\t\t| 2  | Barack Obama   | Barack Obama   |\r\n\t\t| 5  | Michelle Obama | Michelle Obama |\r\n\t\t+----+----------------+----------------+\r\n\t\t2 rows in set (0,00 sec)\r\n\t<\/pre>\n<h4>Mettre \u00e0 jour des donn\u00e9es<\/h4>\n<p><i>Requ\u00eate<\/i><\/p>\n<pre lang=\"sql\">\r\n\t# Mettre \u00e0 jour le champs display_name de l'enregistrement avec un id \u00e9gal \u00e0 5\r\n\tUPDATE hecube_demo.hecube_demo_users SET display_name = 'Michelle Obama' WHERE hecube_demo_users.id = 5;\r\n<\/pre>\n<p><i>R\u00e9sultat<\/i><\/p>\n<pre lang=\"sql\">\r\n\tQuery OK, 0 rows affected (0,00 sec)\r\n\tRows matched: 1  Changed: 0  Warnings: 0\r\n<\/pre>\n<p><b>Si vous ins\u00e9rez des mots avec apostrophe et avec des accents comme c&#8217;est souvent le cas en fran\u00e7ais, il faut un caract\u00e8re d&#8217;\u00e9chappement, c&#8217;est \u00e0 dire le <code><\/code> ou <code>'<\/code> ainsi on \u00e9crit <code>jeanne l'\u00e9t\u00e9 dernier<\/code> ou <code>Jeanne l'\u00e9t\u00e9 cet \u00e9t\u00e9 en fran\u00e7ais<\/code>  <\/b><br \/>\n<i>Requ\u00eate<\/i><\/p>\n<pre lang=\"sql\">\r\n\t# Mettre \u00e0 jour le champs display_name de l'enregistrement avec un id \u00e9gal \u00e0 5\r\n\tUPDATE hecube_demo.hecube_demo_users SET display_name = CONVERT(_utf8 'Jeanne l'\u00e9t\u00e9 cet \u00e9t\u00e9 en fran\u00e7ais' USING latin1) WHERE hecube_demo_users.id = 5;\r\n\tUPDATE hecube_demo.hecube_demo_users SET user_login = CONVERT(_utf8 'Jeanne l'\u00e9t\u00e9 Dernier' USING latin1) WHERE hecube_demo_users.id = 5;\r\n\t\r\n\t# une syntaxe alternative qui marche aussi...\r\n\tUPDATE hecube_demo_users SET display_name = CONVERT(_utf8 'Jeanne l'\u00e9t\u00e9 cet \u00e9t\u00e9 en fran\u00e7ais' USING latin1) WHERE id = 4;\r\n\tUPDATE hecube_demo_users SET user_login = CONVERT(_utf8 'Jeanne l'\u00e9t\u00e9 Dernier' USING latin1) WHERE id = 4;\r\n<\/pre>\n<pre lang=\"sql\">\r\n\t# v\u00e9rifier la mise \u00e0 jour de l'enregistrement avec un id \u00e9gal \u00e0 5\r\n\tSELECT id, user_login, display_name FROM hecube_demo_users WHERE id = 5;\r\n<\/pre>\n<pre lang=\"sql\">\r\n\t# v\u00e9rifier la mise \u00e0 jour de l'enregistrement avec un id \u00e9gal \u00e0 5\r\n\tSELECT id, user_login, display_name FROM hecube_demo_users WHERE display_name LIKE CONVERT(_utf8 'Jeanne%' USING latin1);\r\n<\/pre>\n<h4>Supprimer des donn\u00e9es<\/h4>\n<pre lang=\"sql\">\r\n# supprimer tous les enregistrement dont le champs user_login commence par Jeanne%\r\nDELETE FROM hecube_demo_users WHERE user_login LIKE 'Jeanne%';\r\n<\/pre>\n<h4>Faire un dump complet des donn\u00e9es de la table <code>hecube_demo_users<\/code> de la base <code>hecube_demo<\/code>dans un fichier .txt<\/h4>\n<p><b>Pour MAC<\/b>\t<\/p>\n<pre lang=\"sql\">\r\n# exporter les donn\u00e9es dans un fichier .txt\r\nSELECT * INTO OUTFILE '\/Users\/username\/rep-1\/he3_fr\/datas\/hecube_demo_users_dump.new-1.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'LINES TERMINATED BY 'n' FROM hecube_demo_users;\r\n\r\n# exporter les donn\u00e9es dans un fichier .txt\r\nSELECT * FROM hecube_demo_users INTO OUTFILE '\/Users\/username\/rep-1\/he3_fr\/datas\/hecube_demo_users_dump.new-2.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'LINES TERMINATED BY 'n';\r\n\r\n# Une requete SELECT plus complexe avec une clause WHERE\r\nSELECT id, user_login, display_name INTO OUTFILE '\/Users\/username\/rep-1\/he3_blog\/datas\/hecube_demo_users_dump.new-3.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'LINES TERMINATED BY 'n' FROM hecube_demo_users WHERE display_name LIKE CONVERT(_utf8 'Jeanne%' USING latin1);\r\n<\/pre>\n<p><b>Pour PC<\/b><\/p>\n<pre lang=\"sql\">\r\n# exporter les donn\u00e9es dans un fichier .txt\r\nSELECT * INTO OUTFILE 'C:mon-repertoire-sans-espaces-12-mes_donneshecube_demo_users_dump.new-1.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'LINES TERMINATED BY 'n' FROM hecube_demo_users;\r\n\r\n# exporter les donn\u00e9es dans un fichier .txt\r\nSELECT * FROM hecube_demo_users INTO OUTFILE 'C:mon-repertoire-sans-espaces-12-mes_donneshecube_demo_users_dump.new-2.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'LINES TERMINATED BY 'n';\r\n\r\n\r\n# Une requete SELECT plus complexe avec une clause WHERE\r\nSELECT id, user_login, display_name INTO OUTFILE 'C:mon-repertoire-sans-espaces-12-mes_donneshecube_demo_users_dump.new-3.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'LINES TERMINATED BY 'n' FROM hecube_demo_users WHERE display_name LIKE CONVERT(_utf8 'Jeanne%' USING latin1);\r\n<\/pre>\n<h4>Faire un backup complet d&#8217;une BDD<\/h4>\n<p>Pour se faire, il faut sortir du client <code>\/Applications\/MAMP\/Library\/bin\/mysql<\/code> et utiliser le client <code>\/Applications\/MAMP\/Library\/bin\/mysqldump<\/code>. <b>Vous devez pr\u00e9ciser la base de donn\u00e9es dont vous souhaitez faire le dump, ici <code>hecube_demo<\/code> et la table si c&#8217;est cette table dont vous souhiatez faire le backup <code>hecube_demo_users<\/code>. Si on pr\u00e9cise pas la table mais on donne juste le nom de la base, vous allez alors sauvegareder l&#8217;int\u00e9gralit\u00e9 des tables contenues dans votre BDD.<\/b><\/p>\n<p><b>Pour MAC<\/b><\/p>\n<pre lang=\"sql\" escaped=\"true\">\r\n# Utiliser le client mysqldump pour faire un backup de la table hecube_demo_users dans la base hecube_demo\r\n\/Applications\/MAMP\/Library\/bin\/mysqldump -c -u root -p hecube_demo hecube_demo_users &gt; \/Users\/username\/rep-1\/he3_blog\/datas\/hecube_demo_users.mysqldump-1.sql\r\n\r\n\r\n# Utiliser le client mysqldump pour faire un backup de toutes tables dans une base hecube_demo\r\n\/Applications\/MAMP\/Library\/bin\/mysqldump -c -u root -p hecube_demo hecube_demo_users &gt; \/Users\/username\/rep-1\/he3_blog\/datas\/hecube_demo.mysqldump-full.sql\r\n<\/pre>\n<p><b>Pour PC<\/b><\/p>\n<pre lang=\"sql\" escaped=\"true\">\r\n\r\n# Utiliser le client mysqldump pour faire un backup de la table hecube_demo_users dans la base hecube_demo\r\nC:EasyPHP_2_0b1mysqlbinmysqldump.exe -c -u root -p movies_development movies &gt; C:mon-repertoire-sans-espaces-12-mes_donnesbackupmovies_development.movies.sql\r\n\r\n# Utiliser le client mysqldump pour faire un backup de toutes tables dans une base hecube_demo\r\nC:EasyPHP_2_0b1mysqlbinmysqldump.exe -c -u root -p hecube_demo hecube_demo_users &gt; C:mon-repertoire-sans-espaces-12-mes_donnesbackuphecube_demo.mysqldump-full.sql\r\n<\/pre>\n<pre lang=\"sql\">\r\n\t-- MySQL dump 10.10\r\n\t--\r\n\t-- Host: localhost    Database: hecube_demo\r\n\t-- ------------------------------------------------------\r\n\t-- Server version\t5.0.19\r\n\r\n\t\/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT *\/;\r\n\t\/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS *\/;\r\n\t\/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION *\/;\r\n\t\/*!40101 SET NAMES utf8 *\/;\r\n\t\/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE *\/;\r\n\t\/*!40103 SET TIME_ZONE='+00:00' *\/;\r\n\t\/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 *\/;\r\n\t\/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 *\/;\r\n\t\/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' *\/;\r\n\t\/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 *\/;\r\n\r\n\t--\r\n\t-- Table structure for table `hecube_demo_users`\r\n\t--\r\n\r\n\tDROP TABLE IF EXISTS `hecube_demo_users`;\r\n\tCREATE TABLE `hecube_demo_users` (\r\n\t  `ID` bigint(20) unsigned NOT NULL auto_increment,\r\n\t  `user_login` varchar(60) NOT NULL default '',\r\n\t  `user_pass` varchar(64) NOT NULL default '',\r\n\t  `user_nicename` varchar(50) NOT NULL default '',\r\n\t  `user_email` varchar(100) NOT NULL default '',\r\n\t  `user_url` varchar(100) NOT NULL default '',\r\n\t  `user_registered` datetime NOT NULL default '0000-00-00 00:00:00',\r\n\t  `user_activation_key` varchar(60) NOT NULL default '',\r\n\t  `user_status` int(11) NOT NULL default '0',\r\n\t  `display_name` varchar(250) NOT NULL default '',\r\n\t  `spam` tinyint(2) NOT NULL default '0',\r\n\t  `deleted` tinyint(2) NOT NULL default '0',\r\n\t  PRIMARY KEY  (`ID`),\r\n\t  KEY `user_login_key` (`user_login`),\r\n\t  KEY `user_nicename` (`user_nicename`)\r\n\t) ENGINE=MyISAM DEFAULT CHARSET=utf8;\r\n\r\n\t--\r\n\t-- Dumping data for table `hecube_demo_users`\r\n\t--\r\n\r\n\r\n\t\/*!40000 ALTER TABLE `hecube_demo_users` DISABLE KEYS *\/;\r\n\tLOCK TABLES `hecube_demo_users` WRITE;\r\n\tINSERT INTO `hecube_demo_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`, `spam`, `deleted`) VALUES (1,'admin','$P$B1jMi1zFm6s4qznrqoshEFwP\/UO.wy.','admin','info@hecube.net','http:\/\/www.hecube.net','2009-06-15 03:15:41','',0,'admin',0,0),(2,'Barack Obama','$P$B3Zpg6kH3D6D5nkWfGjJK8HiCss20N1','barack-obama','barack.obama@hecube.net','http:\/\/www.hemedia.net\/','2009-09-18 13:12:08','',0,'Barack Obama',0,0),(3,'Paris Hilton','$P$BCavN5n\/JBAwLxs8D3WZNGX6H2jjMM.','paris-hilton','paris.hilton@hecube.net','http:\/\/www.hemedia.net\/','2009-08-18 13:42:49','',0,'Paris Hilton',0,0),(6,'Jean Paris','$P$BCavN5n\/JBAwLxs8D3WZNGX6H2jjMM.','jparis','jparis@hecube.net','http:\/\/www.google.com\/','2009-06-18 13:42:49','',0,'jparis',0,0),(7,'brunoflaven','$P$B3Zpg6kH3D6D5nkWfGjJK8HiCss20N1','brunoflaven','apps+93832643825.1841931876.1f1942b57f81232860a8777ea4aaeac8@proxymail.facebook.com','http:\/\/www.facebook.com\/people\/Bruno-Flaven\/1841931876','2009-06-18 13:12:08','',0,'Bruno Flaven',0,0),(8,'etiennedefontainieu','$P$BCavN5n\/JBAwLxs8D3WZNGX6H2jjMM.','etiennedefontainieu','apps+93832643825.608633262.88b94754f62e27b6b641ff6008e8ecb4@proxymail.facebook.com','http:\/\/www.facebook.com\/people\/Etienne-De-Fontainieu\/608633262','2009-06-18 13:42:49','',0,'Etienne De Fontainieu',0,0),(4,'Jeanne l'\u00e9t\u00e9 Dernier','$P$BCavN5n\/JBAwLxs8D3WZNGX6H2jjMM.','jeanne-hilton','jeanne.hilton@hecube.net','http:\/\/www.hemedia.net\/','2009-07-14 13:42:49','',0,'Jeanne l'\u00e9t\u00e9 cet \u00e9t\u00e9 en fran\u00e7ais',0,0);\r\n\tUNLOCK TABLES;\r\n\t\/*!40000 ALTER TABLE `hecube_demo_users` ENABLE KEYS *\/;\r\n\t\/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE *\/;\r\n\r\n\t\/*!40101 SET SQL_MODE=@OLD_SQL_MODE *\/;\r\n\t\/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS *\/;\r\n\t\/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS *\/;\r\n\t\/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT *\/;\r\n\t\/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS *\/;\r\n\t\/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION *\/;\r\n\t\/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES *\/;\r\n\r\n<\/pre>\n<h2>Manipuler les BDD avec phpMyadmin<\/h2>\n<p>Il y a pl\u00e9thore de tutoriaux et d&#8217;explications sur l&#8217;utilisation de phpmyadmin (Cf <a href=\"http:\/\/www.google.fr\/search?q=tutorial+phpmyadmin&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:fr:official&amp;client=firefox-a\" target=\"_blank\">Recherche google : tutorial phpmyadmin<\/a>). On va se concentrer sur un des aspects les plus utiles de l\u2019outil. Une grande partie des ligne de commande qui sont donn\u00e9es plus haut peuvent \u00eatre saisies dans le champs qui apparit sur la page lorsque on a cliqu\u00e9 l\u2019onglet <code>SQL<\/code> Cf le point 2.<\/p>\n<p><em>1. La visualisation de la table <code>hecube_demo_users<\/code> de la base <code>hecube_demo<\/code><\/em><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/07\/using_mysql_client_phpmyadmin_7.jpg\" width=\"500\" height=\"265\" alt=\"MySQL, PhpMyadmin -  Administrer une base de donn\u00e9es MySQL via la console MySQL et PhpMyadmin\" class=\"aligncenter\"><\/p>\n<p><em>2. Le champs de saisie de la commande SQL <code>SELECT COUNT(*) FROM hecube_demo_users;<\/code><\/em><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/07\/using_mysql_client_phpmyadmin_8.jpg\" width=\"500\" height=\"265\" alt=\"MySQL, PhpMyadmin -  Administrer une base de donn\u00e9es MySQL via la console MySQL et PhpMyadmin\" class=\"aligncenter\"><\/p>\n<p><em>3. Le r\u00e9sultat de la saisie de la commande SQL <code>SELECT COUNT(*) FROM hecube_demo_users;<\/code><\/em><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/07\/using_mysql_client_phpmyadmin_9.jpg\" width=\"500\" height=\"265\" alt=\"MySQL, PhpMyadmin -  Administrer une base de donn\u00e9es MySQL via la console MySQL et PhpMyadmin\" class=\"aligncenter\"><\/p>\n<p><em>4. Le r\u00e9sultat de la commande SQL <code>SELECT * FROM hecube_demo_users;<\/code> qui correspond \u00e0 l&#8217;onglet <code>Afficher<\/code><\/em><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/07\/using_mysql_client_phpmyadmin_10.jpg\" width=\"500\" height=\"265\" alt=\"MySQL, PhpMyadmin -  Administrer une base de donn\u00e9es MySQL via la console MySQL et PhpMyadmin\" class=\"aligncenter\"><\/p>\n<h2>Pour aller plus loin<\/h2>\n<ul>\n<li>Un des meilleurs tutorials en SQL, celui de w3schools<br \/>\n\t\t<a href=\"http:\/\/www.w3schools.com\/SQl\/default.asp\" target=\"_blank\">http:\/\/www.w3schools.com\/SQl\/default.asp<\/a><\/li>\n<li>MySQL 5.0 Manuel de R\u00e9f\u00e9rence : INDISPENSABLE<br \/>\n\t\t<a href=\"http:\/\/dev.mysql.com\/doc\/refman\/5.0\/fr\/index.html\" target=\"_blank\">http:\/\/dev.mysql.com\/doc\/refman\/5.0\/fr\/index.html<\/a><\/li>\n<li>MySQL, le site officiel<br \/>\n\t\t<a href=\"http:\/\/www.mysql.com\/\" target=\"_blank\">http:\/\/www.mysql.com\/<\/a><\/li>\n<li>phpMyAdmin, le site officiel<br \/>\n\t\t<a href=\"http:\/\/www.phpmyadmin.net\/home_page\/index.php\" target=\"_blank\">http:\/\/www.phpmyadmin.net\/home_page\/index.php<\/a><\/li>\n<li>Un article de ce blog qui pr\u00e9sente une utilisation concr\u00e8te des principes d\u00e9taill\u00e9es plus haut.<br \/>\n\t\t\t<a href=\"http:\/\/social.hecube.net\/blog\/2009\/04\/10\/creer-et-heberger-son-site-avec-wordpress\/\" target=\"_blank\">Cr\u00e9er et h\u00e9berger son site avec WordPress<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>C&#8217;est un truisme de dire qu\u2019un site dynamique fait en PHP s&#8217;appuie souvent sur une base de donn\u00e9es de type MySQL. Le succ\u00e8s et la&hellip; <\/p>\n<p class=\"text-center\"><a href=\"https:\/\/flaven.fr\/2009\/07\/mysql-phpmyadmin-administrer-une-base-de-donnees-mysql-via-la-console-mysql-et-phpmyadmin\/\" class=\"more-link\">Continue reading &rarr; <span class=\"screen-reader-text\">MySQL, PhpMyadmin &#8211;  Administrer une base de donn\u00e9es MySQL via la console MySQL et PhpMyadmin<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":9522,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"bf_ai_meta_description":"Administrez une base de donn\u00e9es MySQL via la console MySQL et PhpMyAdmin. Ma\u00eetrisez les outils pour des r\u00e9sultats optimaux.","bf_ai_og_title":"Administrer BDD MySQL","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3440,3444,3448,3449,3435],"tags":[231,232,2211,20,233],"class_list":["post-973","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-infrastructure","category-programming-databases","category-tools-productivity","category-tutorials-how-to","category-web-development","tag-administrer","tag-base-de-donnees","tag-mysql","tag-php","tag-phpmyadmin"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3Vuhl-fH","jetpack_featured_media_url":"https:\/\/flaven.fr\/wp-content\/uploads\/2009\/07\/using_mysql_client_phpmyadmin_b_2_g_bf.jpg","_links":{"self":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/973","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/comments?post=973"}],"version-history":[{"count":1,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/973\/revisions"}],"predecessor-version":[{"id":9523,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/973\/revisions\/9523"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media\/9522"}],"wp:attachment":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media?parent=973"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/categories?post=973"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/tags?post=973"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}