<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blogmotion &#187; mysql</title>
	<atom:link href="http://blogmotion.fr/tag/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://blogmotion.fr</link>
	<description>Culture web et nouvelles technologies informatiques</description>
	<lastBuildDate>Sat, 11 Feb 2012 11:53:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<meta name="generator" content="WordPress" />
	<atom:link rel='hub' href='http://blogmotion.fr/?pushpress=hub'/>
		<item>
		<title>Copier une table MySQL à l&#8217;identique</title>
		<link>http://blogmotion.fr/programmation/php-sql/copie-table-mysql-5675</link>
		<comments>http://blogmotion.fr/programmation/php-sql/copie-table-mysql-5675#comments</comments>
		<pubDate>Tue, 08 Jun 2010 12:04:57 +0000</pubDate>
		<dc:creator>Mr Xhark</dc:creator>
				<category><![CDATA[PHP (My)SQL]]></category>
		<category><![CDATA[clone]]></category>
		<category><![CDATA[copier]]></category>
		<category><![CDATA[données]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[table]]></category>

		<guid isPermaLink="false">http://blogmotion.fr/?p=5675</guid>
		<description><![CDATA[Voici une petite astuce pour cloner une table (My)SQL en effectuant une copie de la table à l&#8217;identique. Index, types et données, tout est préservé. Rien de sorcier, juste un peu de logique. Premièrement on crée la nouvelle table (table_clonee) à partir de la table_source : Puis nous insérons les données dans la nouvelle table [...]]]></description>
			<content:encoded><![CDATA[<p>Voici une petite astuce pour <strong>cloner une table (My)SQL</strong> en effectuant une copie de la table à l&#8217;identique. Index, types et données, tout est préservé.</p>
<p style="text-align: center;"><img class="size-full wp-image-5676 aligncenter" style="border: 1px solid #ccc;" title="clone-table-mysql" src="http://blogmotion.fr/wp-content/uploads/2010/06/clone-table-mysql.png" alt="" width="590" height="90" /></p>
<p>Rien de sorcier, juste un peu de logique. <span id="more-5675"></span></p>
<p>Premièrement on <strong>crée la nouvelle table</strong> (table_clonee) à partir de la table_source :</p>
<pre class="brush: sql; title: ; notranslate">CREATE TABLE table_clonee LIKE table_source ;</pre>
<p>Puis nous <strong>insérons les données</strong> dans la nouvelle table en &laquo;&nbsp;lisant&nbsp;&raquo; celles de la table_source</p>
<pre class="brush: sql; title: ; notranslate">INSERT INTO table_clonee SELECT * FROM table_source ;</pre>
<p>Simple et efficace.</p>
<p>Note : cela doit fonctionner également sur d&#8217;autres moteurs de bases de données, moyennant quelques adaptations syntaxiques</p>
Vous devriez me suivre sur Twitter : <strong><a href="http://twitter.com/xhark">@xhark</a></strong>
<hr />
<p><small><a href="http://blogmotion.fr/programmation/php-sql/copie-table-mysql-5675">Article original</a> écrit par Mr Xhark publié sur <a href="http://blogmotion.fr">Blogmotion</a> le 08/06/2010 |
<a href="http://blogmotion.fr/programmation/php-sql/copie-table-mysql-5675#comments">6 commentaires</a> |
<br />Attention : l'intégralité de ce billet est protégée par la licence <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/">Creative Commons</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blogmotion.fr/programmation/php-sql/copie-table-mysql-5675/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Insolite : attaquer un radar avec une injection SQL</title>
		<link>http://blogmotion.fr/internet/divertissement/detecteur-radar-pv-5266</link>
		<comments>http://blogmotion.fr/internet/divertissement/detecteur-radar-pv-5266#comments</comments>
		<pubDate>Tue, 23 Mar 2010 13:19:08 +0000</pubDate>
		<dc:creator>Mr Xhark</dc:creator>
				<category><![CDATA[Divertissement]]></category>
		<category><![CDATA[base de donnée]]></category>
		<category><![CDATA[caractère]]></category>
		<category><![CDATA[enregistrement]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[reconnaissance]]></category>
		<category><![CDATA[requete]]></category>
		<category><![CDATA[suppression]]></category>
		<category><![CDATA[texte]]></category>

		<guid isPermaLink="false">http://blogmotion.fr/?p=5266</guid>
		<description><![CDATA[Une équipe de hackers a &#171;&#160;sérieusement&#160;&#187; planché sur les excès de vitesse dans le but d&#8217;éviter de payer des PV. Contrairement à ce que l&#8217;on pourrait pensé aucune attaque via botnet ou Déni de Service&#8230; mais un simple bout de carton, du scotch et une requête SQL : Etant donné que les radars automatiques utilisent [...]]]></description>
			<content:encoded><![CDATA[<p>Une équipe de hackers a &laquo;&nbsp;sérieusement&nbsp;&raquo; planché sur les excès de vitesse dans le but d&#8217;<strong>éviter de payer des PV</strong>. Contrairement à ce que l&#8217;on pourrait pensé aucune attaque via botnet ou Déni de Service&#8230; <strong>mais un simple bout de carton, du scotch et une requête SQL</strong> :</p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-5267" style="border: 1px solid #ccc;" title="injection-sql-radar" src="http://blogmotion.fr/wp-content/uploads/2010/03/injection-sql-radar.jpg" alt="" width="590" height="449" /><br />
Etant donné que les radars automatiques utilisent la <strong>reconnaissance de caractère</strong> (OCR) pour<span id="more-5266"></span> identifier les véhicules de façon automatisée, cette injection SQL inhibe l&#8217;enregistrement de la plaque. L&#8217;injection <strong>détruit au passage la base de données</strong>, <strong>empêchant le radar de fonctionner après le passage de cette voiture</strong> (même sur les plaques non trafiquées).</p>
<p>Vous vous doutez bien qu&#8217;il serait trop facile de détourner de cette façon les contrôles de vitesse, mais fallait-il encore avoir l&#8217;idée. Quoi que <strong>se balader avec une requête SQL sur le pare-choc est loin d&#8217;être sans risque face</strong> aux contrôles humains <img src='http://blogmotion.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>Via <a href="http://www.clubic.com/actualite-331466-insolite-attaque-radar-routier-injection-sql.html">Clubic</a>, Source <a href="http://gizmodo.com/5498412/sql-injection-license-plate-hopes-to-foil-euro-traffic-cameras">Gizmodo</a></em></p>
Vous devriez me suivre sur Twitter : <strong><a href="http://twitter.com/xhark">@xhark</a></strong>
<hr />
<p><small><a href="http://blogmotion.fr/internet/divertissement/detecteur-radar-pv-5266">Article original</a> écrit par Mr Xhark publié sur <a href="http://blogmotion.fr">Blogmotion</a> le 23/03/2010 |
<a href="http://blogmotion.fr/internet/divertissement/detecteur-radar-pv-5266#comments">16 commentaires</a> |
<br />Attention : l'intégralité de ce billet est protégée par la licence <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/">Creative Commons</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blogmotion.fr/internet/divertissement/detecteur-radar-pv-5266/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Connecter une base MySQL avec Excel ou Access</title>
		<link>http://blogmotion.fr/systeme/mysql-access-excel-4974</link>
		<comments>http://blogmotion.fr/systeme/mysql-access-excel-4974#comments</comments>
		<pubDate>Fri, 05 Feb 2010 15:27:02 +0000</pubDate>
		<dc:creator>Mr Xhark</dc:creator>
				<category><![CDATA[Système]]></category>
		<category><![CDATA[accès]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[base]]></category>
		<category><![CDATA[connexion]]></category>
		<category><![CDATA[données]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[exploiter]]></category>
		<category><![CDATA[lien]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[récupérer]]></category>

		<guid isPermaLink="false">http://blogmotion.fr/?p=4974</guid>
		<description><![CDATA[But : utiliser une base MySQL à partir de Microsoft Access et Excel De nombreuses entreprises utilisent aujourd&#8217;hui Microsoft Access pour gérer leurs &#171;&#160;base de données&#160;&#187;, souvent internes. Personnellement je trouve que Microsft Access n&#8217;est pas un réel SGBD tant il est limité. On doit son succès grâce à l&#8217;interface graphique qui permet de tout [...]]]></description>
			<content:encoded><![CDATA[<p><strong>But</strong> : utiliser une base <strong>MySQL à partir de Microsoft Access et Excel</strong></p>
<p>De nombreuses entreprises utilisent aujourd&#8217;hui Microsoft Access pour gérer leurs &laquo;&nbsp;base de données&nbsp;&raquo;, souvent internes. Personnellement je trouve que Microsft Access n&#8217;est pas un réel SGBD tant il est limité. On doit son succès grâce à l&#8217;interface graphique qui permet de tout réaliser ou presque sans connaître une seule commande SQL.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-4999" style="border: 1px solid #ccc;" title="mysql-to-access-excel" src="http://blogmotion.fr/wp-content/uploads/2010/02/mysql-to-access-excel.png" alt="" width="590" height="150" /></p>
<p>Si vous êtes développeur, votre entreprise peut vous demander de <strong>développer une application de gestion basée sur Access</strong>. Pourquoi ? Tout simplement car la personne qui devra accéder à cette base n&#8217;aura aucune compétence en SQL et que <strong>Access reste simple à utiliser graphiquement</strong>.</p>
<p><strong>Ne jetez pas l&#8217;éponge tout de suite</strong>, voici une solution redoutablement efficace ! Je vous propose de développer votre application sur une base MySQL avec par exemple un code source PHP (ou Perl, python, ), en rendant accessible  le tout avec Access et/ou Excel !<span id="more-4974"></span></p>
<p>Les versions utilisées pour mon exemple sont : Office 2007 et MySQL 5.x (fonctionne également avec Office 2003, seuls les menus changent).</p>
<h3>Base de données démo</h3>
<p>Pour notre exemple, je vous propose de <strong>créer une base de donnée simple</strong> :</p>
<pre class="brush: sql; title: ; notranslate">CREATE TABLE `blogmotion`.`demo` (
`id` INT NOT NULL AUTO_INCREMENT ,
`prenom` VARCHAR( 30 ) NOT NULL ,
`nom` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;</pre>
<p>Puis insérons quelques données :</p>
<pre class="brush: sql; title: ; notranslate">INSERT INTO `demo` (`id`, `prenom`, `nom`) VALUES
(1, 'Jean', 'Némar'),
(2, 'Jay', 'Lafrite'),
(3, 'Paul', 'Hochon'),
(4, 'Michael', 'Hurni');
</pre>
<p>Vous pouvez injecter directement le code dans PhpMyAdmin si vous l&#8217;utilisez via l&#8217;onglet SQL.</p>
<h3>Installation du connecteur ODBC</h3>
<p><strong>Note</strong> : Cette manipulation doit-être réalisée <strong>sur tous les postes</strong> qui devront accéder à cette base de donnée via Access.</p>
<p>Pour permettre l&#8217;accès à la base MySQL de façon transparente au travers d&#8217;une application Microsoft nous devons <strong>installer un connecteur ODBC</strong>.</p>
<ol>
<li>MySQL propose justement de <a href="http://dev.mysql.com/downloads/connector/odbc/"><strong>télécharger</strong> ce connecteur MySQL ODBC</a> gratuitement. <strong>Installez-le</strong>.</li>
<li>Se rendre dans le menu <em>Démarrer &gt; Outils d&#8217;administration &gt; </em><strong>Source de données (ODBC)</strong>, ou via démarrer &gt; exécuter : <strong>odbcad32.exe</strong></li>
<li>Cliquer sur <em>Ajouter</em><br />
<img class="aligncenter size-full wp-image-4975" style="border: 1px solid #ccc;" title="admin-odbc-add" src="http://blogmotion.fr/wp-content/uploads/2010/02/admin-odbc-add.png" alt="" width="484" height="142" /></li>
<li>Choisir MySQL ODBC :<br />
<img class="aligncenter size-full wp-image-4976" style="border: 1px solid #ccc;" title="admin-odbc-add-mysql" src="http://blogmotion.fr/wp-content/uploads/2010/02/admin-odbc-add-mysql.png" alt="" width="510" height="212" /><br />
Puis cliquer sur <em>Terminer</em>.</li>
<li>Préciser un <strong>nom</strong> et une <strong>description</strong> pour ce connecteur (de votre choix) puis entrez le nom ou adresse IP du serveur MySQL (localhost pour moi) ainsi que l&#8217;utilisateur ayant accès à votre base de données :<br />
<img class="aligncenter" title="config-odbc-mysql" src="../wp-content/uploads/2010/02/config-odbc-mysql.png" alt="" width="425" height="403" /><br />
Vous devrez obtenir <em>Connection Successful</em> si vous cliquez sur le bouton Test.<br />
Si ce n&#8217;est pas le cas, pensez à <strong>vérifier que votre serveur MySQL fonctionne et que celui-ci est accessible à partir de l&#8217;extérieur</strong>, l&#8217;accès est parfois restreint sur l&#8217;interface de boucle local (localhost) 127.0.0.1.</li>
<li>Cliquer sur OK, vous devriez obtenir ceci :<br />
<img class="aligncenter size-full wp-image-4979" style="border: 1px solid #cccccc;" title="admin-odbc-ok" src="http://blogmotion.fr/wp-content/uploads/2010/02/admin-odbc-ok.png" alt="" width="484" height="214" /></li>
<li>C&#8217;est terminé pour la partie ODBC.</li>
</ol>
<h3>Accès à MySQL depuis Access</h3>
<p>Access permet, via le connecteur ODBC, d&#8217;<strong>utiliser les données MySQL de deux façons différentes</strong> :</p>
<ol>
<li>de façon <strong>synchrone</strong> : <strong>chaque modification effectuée avec Access est répercutée sur la base MySQL</strong> (similaire à une vue)</li>
<li>de façon <strong>indépendante</strong> : toutes les données de la ou les tables sont copiées dans Access sans aucun lien avec MySQL</li>
</ol>
<p>Si c&#8217;est uniquement pour de la lecture, optez pour la méthode 2. Dans le cas contraire (mise à jour, suppression, ajout d&#8217;informations) optez pour la méthode 1.</p>
<p>Lancer Access, puis dans une nouvelle base :</p>
<ol>
<li>Dans l&#8217;onglet <em>Données externes &gt; Plus : <strong>Base de données ODBC</strong></em> :<br />
<img class="aligncenter" style="border: 1px solid #ccc;" title="access-import-odbc" src="http://blogmotion.fr/wp-content/uploads/2010/02/access-import-odbc.png" alt="" width="503" height="238" /></li>
<li>Dans le deuxième onglet <em>Source de données machine</em> sélectionner le Connecteur précédemment créé :<br />
<img title="access-import-odbc-source" src="http://blogmotion.fr/wp-content/uploads/2010/02/access-import-odbc-source.png" alt="" width="484" height="388" /></li>
<li> Pour établir une liaison synchrone, sélectionner <em>Lier à la source de données en créant une table attachée</em> :<br />
<img style="border: 1px solid #ccc;" title="access-import-odbc-lier" src="http://blogmotion.fr/wp-content/uploads/2010/02/access-import-odbc-lier.png" alt="" width="472" height="177" /></li>
<li>Sélectionner que vous souhaitez exploiter et cliquer sur OK :<br />
<img style="border: 1px solid #ccc;" title="access-import-odbc-table" src="http://blogmotion.fr/wp-content/uploads/2010/02/access-import-odbc-table.png" alt="" width="523" height="254" /></li>
<li>Vous retrouvez vos données de MySQL dans Access :<br />
<img class="size-full wp-image-4987 " style="border: 1px solid #cccccc;" title="access-table-synchronise" src="http://blogmotion.fr/wp-content/uploads/2010/02/access-table-synchronise.png" alt="" width="536" height="299" /></li>
</ol>
<p><strong>Attention : chaque modification effectuée sera répercutée sur votre base MySQL.</strong></p>
<h3>Accès à MySQL depuis Excel</h3>
<p>L&#8217;interfaçage entre Microsoft Excel et MySQL se fait via <strong>Microsoft Query</strong>, utilitaire inclut dans la suite Office.</p>
<p>L&#8217;opération varie quelque peu par rapport à Access :</p>
<ol>
<li>Via l&#8217;onglet <em>Données</em> &gt; <em>Données</em> &gt; <em>A partir d&#8217;autre sources</em> : <strong>Provenance : Microsoft Query</strong><br />
<img style="border: 1px solid #ccc;" title="excel-import-odbc" src="../wp-content/uploads/2010/02/excel-import-odbc.png" alt="" width="550" height="309" /></li>
<li>Puis sélectionner la ou les tables souhaitées :<br />
<img class="alignnone size-full wp-image-4992" title="excel-assistant-requete-colonnes" src="http://blogmotion.fr/wp-content/uploads/2010/02/excel-assistant-requete-colonnes.png" alt="" width="581" height="298" /><br />
Cliquer sur le bouton <em>Aperçu maintenant</em> pour vérifier l&#8217;accès, puis sur Suivant :<br />
<img class="alignnone size-full wp-image-4993" title="excel-assistant-requete-colonnes-apercu" src="http://blogmotion.fr/wp-content/uploads/2010/02/excel-assistant-requete-colonnes-apercu1.png" alt="" width="581" height="298" /></li>
<li>Si vous souhaitez filtrer les données sélectionnez les colonnes, sinon cliquer sur Suivant :<br />
<img class="alignnone size-full wp-image-4994" style="border: 1px solid #ccc;" title="excel-assistant-requete-filtrage" src="http://blogmotion.fr/wp-content/uploads/2010/02/excel-assistant-requete-filtrage.png" alt="" width="547" height="298" /></li>
<li>Vous pouvez faire un tri sur une colonne, sinon cliquer sur Suivant :<br />
<img class="size-full wp-image-4995 alignnone" style="border: 1px solid #ccc;" title="excel-assistant-requete-tri" src="http://blogmotion.fr/wp-content/uploads/2010/02/excel-assistant-requete-tri.png" alt="" width="547" height="298" /></li>
<li>Cliquer sur le bouton <em>Terminer</em> :<br />
<img class="alignnone size-full wp-image-4996" title="access-import-odbc-fin" src="http://blogmotion.fr/wp-content/uploads/2010/02/access-import-odbc-fin.png" alt="" width="547" height="298" /></li>
<li>Sélectionnez la méthode d&#8217;affichage des données dans votre classeur souhaitée, puis sur le bouton OK :<br />
<img class="alignnone size-full wp-image-4997" title="excel-importation-donnees" src="http://blogmotion.fr/wp-content/uploads/2010/02/excel-importation-donnees.png" alt="" width="425" height="239" /></li>
<li>Et voici le résultat :<br />
<img class="alignnone size-full wp-image-4998" style="border: 1px solid #ccc;" title="excel-resultat" src="http://blogmotion.fr/wp-content/uploads/2010/02/excel-resultat.png" alt="" width="225" height="303" /></li>
</ol>
<p>Si vous modifiez une valeur dans la base MySQL, vous pouvez forcer la mise à jour de la feuille Excel en faisant un clic droit sur la cellule concernée &gt; <strong>Actualiser</strong>. Ou presser simultanément <strong>CTRL+ALT+F5</strong> pour mettre à jour toutes les cellules.</p>
<p>Vous retrouverez les informations de connexion via l&#8217;onglet <em>Données</em> &gt; <em>Connexion</em> du ruban Office.</p>
<h3>Conclusion</h3>
<p>Le connecteur MySQL permet de <strong>préserver votre base de données MySQL</strong> dans le moteur MySQL tout en la <strong>rendant accessible aux applications Microsoft Office</strong>.</p>
<p><strong>C&#8217;est simple, propre et efficace !</strong> Il ne reste plus qu&#8217;à mêler les macros pour les plus téméraires&#8230;</p>
Vous devriez me suivre sur Twitter : <strong><a href="http://twitter.com/xhark">@xhark</a></strong>
<hr />
<p><small><a href="http://blogmotion.fr/systeme/mysql-access-excel-4974">Article original</a> écrit par Mr Xhark publié sur <a href="http://blogmotion.fr">Blogmotion</a> le 05/02/2010 |
<a href="http://blogmotion.fr/systeme/mysql-access-excel-4974#comments">15 commentaires</a> |
<br />Attention : l'intégralité de ce billet est protégée par la licence <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/">Creative Commons</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blogmotion.fr/systeme/mysql-access-excel-4974/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>[Pétition] Sauvons MySQL, le moteur SQL le plus répandu</title>
		<link>http://blogmotion.fr/internet/petition-mysql-4812</link>
		<comments>http://blogmotion.fr/internet/petition-mysql-4812#comments</comments>
		<pubDate>Sun, 10 Jan 2010 22:41:16 +0000</pubDate>
		<dc:creator>Mr Xhark</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[base de données]]></category>
		<category><![CDATA[gestion]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[gratuit]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[licence]]></category>
		<category><![CDATA[mondial]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[pétition]]></category>
		<category><![CDATA[Système]]></category>

		<guid isPermaLink="false">http://blogmotion.fr/?p=4812</guid>
		<description><![CDATA[Plus de 20 millions de serveurs dans le monde utilisent le système de gestion de base de données (SGBD) MySQL, que ce soit pour des applications, CMS (WordPress par exemple), etc. et parfois dans le cadre d’applications critiques. L&#8217;efficacité et la stabilité de MySQL ne sont plus à démontrer tant au niveau personnel que dans [...]]]></description>
			<content:encoded><![CDATA[<p>Plus de <strong>20 millions de serveurs</strong> dans le monde <strong>utilisent le système de gestion de base de données</strong> (SGBD) <strong>MySQL</strong>, que ce soit pour des applications, CMS (WordPress par exemple), etc. et parfois dans le cadre d’applications critiques.</p>
<p>L&#8217;efficacité et la stabilité de MySQL ne sont plus à démontrer tant au niveau personnel que dans le monde professionnel. <strong>Soutenons MySQL</strong> !</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-4813" style="border: 1px solid #cccccc;" title="petition-mysql" src="http://blogmotion.fr/wp-content/uploads/2010/01/petition-mysql.png" alt="" width="590" height="189" /></p>
<p><span id="more-4812"></span></p>
<h3>Historique</h3>
<p>Comme vous le savez, MySQL AB a été acheté le 16 janvier 2008 par Sun Microsystems pour un milliard de dollars. Puis en 2009, Sun Microsystems a été acquis par Oracle Corporation qui a donc <strong>récupéré les deux produits concurrents que sont Oracle et MySQL</strong>.</p>
<p>Afin de sauver MySQL, le créateur de la base de données éponyme, <strong>Michael Widenius</strong>, a lancé une <strong>campagne mondiale d’information</strong> et une <a href="http://www.helpmysql.org/fr/petition"><strong>pétition en ligne</strong></a> pour <strong>s&#8217;opposer au rachat de MySQL par Oracle</strong> (tous les dés ne sont pas encore jetés).</p>
<h3>Une campagne mondiale</h3>
<p>Le site de la campagne mondiale est <strong>disponible en 20 langues</strong> sur <a href="http://www.helpmysql.org/" target="_blank">HelpMysql.org</a> dont le français et rencontre d&#8217;ores et déjà un <strong>succès massif auprès des utilisateurs de MySQL</strong>. Un soutien déjà 50 fois supérieur à celui que Oracle annonçait il y a trois semaines.</p>
<p>On dénombre plus de <a href="http://www.helpmysql.org/en/stats">24000 signatures</a> qui ont été présentées aux régulateurs de la commission européenne, au ministère chinois du commerce (MOFCOM), au service fédéral russe de lutte contre les monopoles (FAS) et auprès de la commission suisse. Plus de 5000 signatures proviennent de <strong>développeurs indépendants</strong> et plus de 3000 concernent des <strong>utilisateurs en entreprise</strong> (<a href="http://www.helpmysql.org/en/stats" target="_blank">http://www.helpmysql.org/en/stats</a>)</p>
<p>Les organisateurs de la campagne indiquent que les livraisons suivantes de nouvelles signatures auront maintenant lieu une à deux fois par semaine. La pétition sera prochainement élargie pour être transmise aux autorités de la concurrence d&#8217;autres pays, en particulier Japon et Brésil.</p>
<p>Michael Wiedenius a senti le vent tourner assez tôt puiqu&#8217;il a crée MariaDB dès le rachat de MySQL, un SGBD 100% compatible avec MySQL et diffusé sous licence GPL.</p>
<p>Personnellement je pense que pour garantir la pérennisation de MySQL, le projet Open Source <strong>devrait demeurer indépendant d&#8217;Oracle</strong>, et c&#8217;est également l&#8217;avis de son créateur :</p>
<blockquote><p>« <em>chaque entreprise était par conséquent libre de choisir sa base de données et l&#8217;alternative permettait de négocier avec les revendeurs d&#8217;Oracle en utilisant l&#8217;argument MySQL. Eliminer le problème MySQL rapportera facilement un milliard de dollars par an à Oracle, voire plus</em> » (<a href="http://www.neteco.com/318774-22-000-signatures-sauver-mysql.html">source</a>)</p></blockquote>
<h3>N&#8217;abandonnons pas MySQL</h3>
<p>Je pense que je n&#8217;aurai pas à convaincre les développeurs et administrateurs systèmes de participer à cette pétition. En revanche, même si vous êtes un simple internaute qui apprécie <strong>surfer librement et gratuitement</strong>, sachez que ce type de rachat risque de ne <strong>pas faire évoluer le web dans le bon sens</strong>. MySQL permet à la plus grande majorité de sites web de fonctionner et ses dérivés sont nombreux. Ce n&#8217;est <a href="http://www.helpmysql.org/fr/theissue/gplisnottheanswer">pas sa licence GPL qui empêchera MySQL de disparaître</a>.</p>
<p>Pour soutenir MySQL vous pouvez :</p>
<ol>
<li><a href="http://www.helpmysql.org/fr/petition">Signer la pétition</a> (<a href="http://www.helpmysql.org/en/petition">english version</a>)</li>
<li>Afficher les <a href="http://www.helpmysql.org/fr/promote">logos</a> de soutien sur votre blog / site</li>
<li>Suire le compte twitter <a href="http://www.twitter.com/helpmysql">@helpmysql</a></li>
</ol>
<p>Je n&#8217;ai pas pour habitude de faire parti des plus grincheux et de signer des pétitions à tout va, mais là je me sens fortement concerné et je n&#8217;ai pas hésité une seule seconde. Sans MySQL, vous ne seriez probablement pas en train de lire ce billet, et Blogmotion n&#8217;existerait pas, tout comme WordPress, et des millions de sites et applications&#8230;</p>
<p>Je compte sur vous fidèles lecteurs !</p>
<p><em>Via le communiqué de presse officiel</em></p>
Vous devriez me suivre sur Twitter : <strong><a href="http://twitter.com/xhark">@xhark</a></strong>
<hr />
<p><small><a href="http://blogmotion.fr/internet/petition-mysql-4812">Article original</a> écrit par Mr Xhark publié sur <a href="http://blogmotion.fr">Blogmotion</a> le 10/01/2010 |
<a href="http://blogmotion.fr/internet/petition-mysql-4812#comments">6 commentaires</a> |
<br />Attention : l'intégralité de ce billet est protégée par la licence <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/">Creative Commons</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blogmotion.fr/internet/petition-mysql-4812/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Remplacer une chaine de caractères dans une table MySQL</title>
		<link>http://blogmotion.fr/programmation/php-sql/remplacer-chaine-caractere-4310</link>
		<comments>http://blogmotion.fr/programmation/php-sql/remplacer-chaine-caractere-4310#comments</comments>
		<pubDate>Sat, 31 Oct 2009 12:07:49 +0000</pubDate>
		<dc:creator>Mr Xhark</dc:creator>
				<category><![CDATA[PHP (My)SQL]]></category>
		<category><![CDATA[caractère]]></category>
		<category><![CDATA[chaine]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[remplacement]]></category>
		<category><![CDATA[replace]]></category>
		<category><![CDATA[str_replace]]></category>

		<guid isPermaLink="false">http://blogmotion.fr/?p=4310</guid>
		<description><![CDATA[Pour plusieurs raisons, il arrive que vous soyez amené à modifier un mot, une adresse ou de façon plus générale modifier une chaine de caractères dans votre base de données. Typiquement, lorsque vous changez de nom de domaine et que vous disposez d&#8217;un blog cette opération est très pratique mais surtout, nécessaire. Comme je me [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-4311" style="border: 1px solid #ccc; margin: 10px;" title="remplacer-chaine-mysql" src="http://blogmotion.fr/wp-content/uploads/2009/10/remplacer-chaine-mysql.png" alt="remplacer-chaine-mysql" width="100" height="100" />Pour plusieurs raisons, il arrive que vous soyez amené à modifier un mot, une adresse ou de façon plus générale <strong>modifier une chaine de caractères dans votre base de données</strong>.</p>
<p>Typiquement, lorsque vous changez de nom de domaine et que vous disposez d&#8217;un blog cette opération est très pratique mais surtout, nécessaire. Comme je me sers régulièrement de cette petite astuce, j&#8217;ai décidé de la partager, bien qu&#8217;elle ne soit absolument pas secrète ou complexe.</p>
<p><span style="text-decoration: underline;">Commande MySQL</span> :</p>
<pre class="brush: sql; title: ; notranslate">UPDATE Table SET le_champ=REPLACE(le_champ,'chaine a remplacer','chaine de remplacement) WHERE le_champ LIKE '%chaine a remplacer%'</pre>
<p>Voici un <strong>exemple d&#8217;utilisation</strong>, tiré d&#8217;une de l&#8217;opération de migration de Blogmotion (changement de serveur).<span id="more-4310"></span> Cette modification impactait le chemin absolu du blog sur un serveur Linux :</p>
<pre class="brush: sql; title: ; notranslate">UPDATE wp_postmeta SET meta_value = replace(meta_value, '/var/www/virtual/blogmotion.fr/htdocs', '/var/www/sites/blogmotion.fr/html') WHERE meta_value LIKE '%/var/www/virtual/blogmotion.fr/htdocs%'</pre>
<p>Disons que c&#8217;est l&#8217;équivalent du <a href="http://php.net/str_replace">str_replace</a> si vous utilisez PHP.</p>
<p>Si vous obtenez des erreurs d&#8217;exécution, apportez la plus grande attention à la syntaxe.</p>
<p>N&#8217;hésitez pas à <strong>partager</strong> vos astuces dans les commentaires.</p>
Vous devriez me suivre sur Twitter : <strong><a href="http://twitter.com/xhark">@xhark</a></strong>
<hr />
<p><small><a href="http://blogmotion.fr/programmation/php-sql/remplacer-chaine-caractere-4310">Article original</a> écrit par Mr Xhark publié sur <a href="http://blogmotion.fr">Blogmotion</a> le 31/10/2009 |
<a href="http://blogmotion.fr/programmation/php-sql/remplacer-chaine-caractere-4310#comments">2 commentaires</a> |
<br />Attention : l'intégralité de ce billet est protégée par la licence <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/">Creative Commons</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blogmotion.fr/programmation/php-sql/remplacer-chaine-caractere-4310/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Migrer la base de données de WordPress de serveur</title>
		<link>http://blogmotion.fr/systeme/migrer-base-donnees-wordpress-serveur-mysql-2950</link>
		<comments>http://blogmotion.fr/systeme/migrer-base-donnees-wordpress-serveur-mysql-2950#comments</comments>
		<pubDate>Wed, 10 Jun 2009 22:27:35 +0000</pubDate>
		<dc:creator>Mr Xhark</dc:creator>
				<category><![CDATA[Système]]></category>
		<category><![CDATA[base de données]]></category>
		<category><![CDATA[changement]]></category>
		<category><![CDATA[migrer]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blogmotion.fr/?p=2950</guid>
		<description><![CDATA[La semaine dernière, Blogmotion déménageait de serveur. Voici un petit guide de migration tranquille, pour limiter un maximum l&#8217;impact de ce changement qui peut se faire sans qu&#8217;une coupure ne soit ressentie par les visiteurs. Ce guide concerne uniquement le changement d&#8217;adresse du serveur MySQL, un futur billet traitera du déplacement des données. Ce guide [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-3035" style="border: 1px solid #ccc; margin: 10px;" title="migrer-wordpress" src="http://blogmotion.fr/wp-content/uploads/2009/06/migrer-wordpress.jpg" alt="migrer-wordpress" width="125" height="125" />La semaine dernière, Blogmotion <strong>déménageait de serveur</strong>. Voici un petit <strong>guide de migration</strong> tranquille, pour limiter un maximum l&#8217;impact de ce changement qui peut se faire sans qu&#8217;une <strong>coupure</strong> ne soit ressentie par les visiteurs.</p>
<p>Ce guide concerne uniquement le changement d&#8217;adresse du <strong>serveur MySQL</strong>, un futur billet traitera du déplacement des données.</p>
<p>Ce guide concerne la plateforme <strong>WordPress</strong>, avec une base de données MySQL, le tout migrant depuis un <strong>serveur Linux</strong> Debian (dédié) vers un autre serveur du même type.<span id="more-2950"></span></p>
<h3>1 : Exporter la base de données</h3>
<p>Si vous êtes sur un <strong>serveur mutualisé</strong>, vous devez exporter votre base avec un outil fourni par votre hébergeur, tel que PhpMyAdmin, mais vous devrez sûrement segmenter l&#8217;export à cause de la limitation de l&#8217;import par la suite (2 Mo par defaut).</p>
<p>Sur un <strong>serveur dédié</strong>, il vous suffit de lancer l&#8217;export de votre base de données via une connexion SSH (en root) :</p>
<pre class="brush: bash; title: ; notranslate">mysqldump [base de données] -u [utilisateur sql] -p &gt; /chemin/vers/export.sql</pre>
<p>Ce qui peut par exemple être :</p>
<pre class="brush: bash; title: ; notranslate">mysqldump blogbase -u bloguser -p &gt; ./export.sql</pre>
<h3>2 : Envoyer l&#8217;export</h3>
<p>Il nous faut maintenant envoyer l&#8217;export vers le <strong>nouveau serveur</strong>. Vous pouvez pour cela le faire via FTP, SFTP, HTTP, etc.</p>
<p>Mais la solution la plus <strong>adaptée</strong> dans ce genre de situation reste le transfert via la commande <a href="http://blogmotion.fr/systeme/connexion-ssh-et-transfert-rsync-scp-sftp-sans-mot-de-passe-2709">rsync</a>.</p>
<p>Toujours en root :</p>
<pre class="brush: bash; title: ; notranslate">rsync -e ssh /chemin/versexport.sql utilisateur@ip_nouveauserveur:/chemin/destination</pre>
<p>L&#8217;ip peut également être le nom de domaine, ou encore le reverseip <img src='http://blogmotion.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Par exemple :</p>
<pre class="brush: bash; title: ; notranslate">rsync -e ssh /export.sql 90.0.0.1:/root/</pre>
<p>Je n&#8217;ai pas précisé l&#8217;utilisateur car étant en root sur le premier serveur, la connexion s&#8217;effctura en root sur le second. Le serveur va de toute façon demander le mot de passe associé, qu&#8217;il vous faudra entrer.</p>
<h3>3 : Import de la base de données</h3>
<p>Il nous reste à <strong>importer</strong> toutes les données de la base contenues dans le fichier d&#8217;export sql sur notre nouveau serveur. J&#8217;avais par ailleurs déjà abordé ce thème lors d&#8217;un <a href="http://blogmotion.fr/programmation/php-sql/import-dune-base-sql-en-console-wamp-1083">précédent billet</a>.</p>
<p>Etablir une connexion SSH en tant que super utilisateur (root) :</p>
<p>[ssh]mysql [base de données] -u [utilisateur sql] -p &lt; /chemin/vers/export.sql[/shell]</p>
<p>Ce qui donne chez moi :</p>
<p>[ssh]mysql blogbase -u bloguser -p &lt; /root/export.sql[/shell]</p>
<h3>Fichiers de configuration</h3>
<p>Pensez également à modifier (si nécessaire) certaines valeurs dans le fichier /<strong>wp-config.php</strong> :</p>
<ul>
<li>l&#8217;adresse du serveur MySQL (si c&#8217;est &laquo;&nbsp;localhost&nbsp;&raquo; vous êtes tranquille)</li>
<li>le nom de la base de données</li>
<li>le nom de l&#8217;utilisateur MySQL</li>
<li>le mot de passe de l&#8217;utilisateur MySQL</li>
</ul>
<h3>Conclusion</h3>
<p>Essayer de réaliser ces opérations dans un <strong>minimum de temps</strong> si vous ne coupez pas l&#8217;accès au blog. En effet, si vous recevez un nouveau commentaire après l&#8217;export, celui-ci passera à la trappe.</p>
<p>Pour pallier à ceci, vous pouvez <strong>restreindre</strong> l&#8217;accès au blog à l&#8217;aide d&#8217;un .<a href="http://blogmotion.fr/internet/wordpress-28-pointera-son-nez-en-avril-2580">htaccess</a> (lire &laquo;&nbsp;précautions et informations&nbsp;&raquo;) limitant l&#8217;accès à votre seule adresse IP le temps de la migration.</p>
<p>L&#8217;idéal étant de préparer le nouveau serveur (création de la base, de l&#8217;utilisateur MySQL, etc.) avant de couper l&#8217;accès au blog.</p>
<p>Grâce à cette technique, personne ne s&#8217;est rendu compte du changement de serveur pour Blogmotion, pourtant réalisé en soirée, heure importante en terme de visites, mais sans coupure <img src='http://blogmotion.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
Vous devriez me suivre sur Twitter : <strong><a href="http://twitter.com/xhark">@xhark</a></strong>
<hr />
<p><small><a href="http://blogmotion.fr/systeme/migrer-base-donnees-wordpress-serveur-mysql-2950">Article original</a> écrit par Mr Xhark publié sur <a href="http://blogmotion.fr">Blogmotion</a> le 11/06/2009 |
<a href="http://blogmotion.fr/systeme/migrer-base-donnees-wordpress-serveur-mysql-2950#comments">5 commentaires</a> |
<br />Attention : l'intégralité de ce billet est protégée par la licence <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/">Creative Commons</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blogmotion.fr/systeme/migrer-base-donnees-wordpress-serveur-mysql-2950/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Supprimer les doublons d&#8217;une table SQL</title>
		<link>http://blogmotion.fr/programmation/php-sql/supprimer-doublons-table-sql-base-suppression-1588</link>
		<comments>http://blogmotion.fr/programmation/php-sql/supprimer-doublons-table-sql-base-suppression-1588#comments</comments>
		<pubDate>Fri, 21 Nov 2008 23:06:09 +0000</pubDate>
		<dc:creator>Mr Xhark</dc:creator>
				<category><![CDATA[PHP (My)SQL]]></category>
		<category><![CDATA[base]]></category>
		<category><![CDATA[champs]]></category>
		<category><![CDATA[données]]></category>
		<category><![CDATA[double]]></category>
		<category><![CDATA[doublon]]></category>
		<category><![CDATA[entrées]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[supprimer]]></category>
		<category><![CDATA[table]]></category>

		<guid isPermaLink="false">http://blogmotion.fr/?p=1588</guid>
		<description><![CDATA[Une base de donnée bien pensée dès le départ n&#8217;est pas censée contenir de doublons, mais comme l&#8217;erreur est humaine, je vous propose une méthode de suppression de vos doublons MySQL. Création de la table Pour l&#8217;exemple je vous propose de créer une table &#8216;membre&#8217; simple : Nous admettrons que l&#8217;unicité est basée sur la [...]]]></description>
			<content:encoded><![CDATA[<h3><img class="alignright size-full wp-image-1610" style="margin: 10px;" title="mysql-duplicate-entries" src="http://blogmotion.fr/wp-content/uploads/2008/11/mysql-duplicate-entries.png" alt="" width="150" height="103" /></h3>
<p style="text-align: justify;">Une base de donnée bien pensée dès le départ n&#8217;est pas censée contenir de <strong>doublons</strong>, mais comme l&#8217;erreur est humaine, je vous propose une méthode de <strong>suppression</strong> de vos doublons MySQL.</p>
<h3>Création de la table</h3>
<p style="text-align: justify;">Pour l&#8217;exemple je vous propose de créer une table &#8216;membre&#8217; simple :</p>
<pre class="brush: sql; title: ; notranslate">CREATE TABLE membre (
id int(10) NOT NULL AUTO_INCREMENT,
nom varchar(30),
prenom varchar(30),
age int(3),
datecreation timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);</pre>
</p>
<p style="text-align: justify;">Nous admettrons que l&#8217;unicité est basée sur la <strong>composition du nom et prénom</strong>, c&#8217;est à dire que deux personnes physiquement différentes ne peuvent avoir le même couple de nom+prénom (ce qui dans la réalité n&#8217;est bien sûr pas valable).<span id="more-1588"></span></p>
<h3>Insertion de champs avec un doublon</h3>
<p>Insérons 4 champs, les deux premiers étant <strong>identiques</strong> (doublons) :</p>
<pre class="brush: sql; title: ; notranslate">INSERT INTO membre (nom,prenom,age) values ('durand','marc',34);
INSERT INTO membre (nom,prenom,age) values ('durand','marc',34);
INSERT INTO membre (nom,prenom,age) values ('hurni','michael',22);
INSERT INTO membre (nom,prenom,age) values ('morin','luc',52);</pre>
<p>Vérifions que les champs soient bien présents dans la base :</p>
<pre class="brush: sql; title: ; notranslate">SELECT * FROM membre;
+----+--------+---------+------+---------------------+
| id | nom    | prenom  | age  | datecreation        |
+----+--------+---------+------+---------------------+
|  1 | durand | marc    |   34 | 2008-11-21 20:16:57 |
|  2 | durand | marc    |   34 | 2008-11-21 20:16:57 |
|  3 | hurni  | michael |   22 | 2008-11-21 20:16:57 |
|  4 | morin  | luc     |   52 | 2008-11-21 20:16:57 |
+----+--------+---------+------+---------------------+
</pre>
<p style="text-align: justify;">Nous observons que Marc Durand est bien en <strong>double</strong> dans la base de données, il y a donc un doublon (en admettant qu&#8217;il n&#8217;y ait qu&#8217;un seul Marc Durand sur terre).</p>
<h3 style="text-align: justify;">Création d&#8217;un index d&#8217;unicité</h3>
<p style="text-align: justify;">Cet index va permettre de supprimer les enregistrements comportant certains champs identiques, nom et prénom pour mon cas :</p>
<pre class="brush: sql; title: ; notranslate">ALTER IGNORE TABLE membre ADD UNIQUE INDEX(nom,prenom);
Query OK, 4 rows affected (0.46 sec)
Records: 4  Duplicates: 1  Warnings: 0</pre>
<p style="text-align: justify;">MySQL nous indique qu&#8217;un <strong>doublon</strong> a été <strong>supprimé</strong> (duplicate).</p>
<h3>Interrogation de la table</h3>
<p style="text-align: justify;">Vérifions que le deuxième &#8216;Marc Durand&#8217; n&#8217;est plus dans la table :</p>
<pre class="brush: sql; title: ; notranslate">select * from membre;
+----+--------+---------+------+---------------------+
| id | nom    | prenom  | age  | datecreation        |
+----+--------+---------+------+---------------------+
|  1 | durand | marc    |   34 | 2008-11-21 20:16:57 |
|  3 | hurni  | michael |   22 | 2008-11-21 20:16:57 |
|  4 | morin  | luc     |   52 | 2008-11-21 20:16:57 |
+----+--------+---------+------+---------------------+
3 rows in set (0.00 sec)</pre>
<p style="text-align: justify;">L&#8217;enregistrement ayant pour identifiant &#8217;2&#8242; a bien été <strong>supprimé</strong>.</p>
<h3>Suppression de l&#8217;index</h3>
<p>Si vous ne souhaitez pas préserver cet d&#8217;unicité, bien qu&#8217;il interdise les doublons à l&#8217;<strong>insertion</strong>, vous pouvez le <strong>supprimer</strong> :</p>
<pre class="brush: sql; title: ; notranslate">ALTER TABLE membre DROP INDEX nom;
Query OK, 3 rows affected (0.38 sec)
Records: 3  Duplicates: 0  Warnings: 0</pre>
<p>Vérification de la <strong>structure</strong> en ligne de commande :</p>
<pre>desc membre;
+--------------+-------------+------+-----+-------------------+----------------+
| Field        | Type        | Null | Key | Default           | Extra          |
+--------------+-------------+------+-----+-------------------+----------------+
| id           | int(10)     | NO   | PRI | NULL              | auto_increment |
| nom          | varchar(30) | YES  | MUL | NULL              |                |
| prenom       | varchar(30) | YES  |     | NULL              |                |
| age          | int(3)      | YES  |     | NULL              |                |
| datecreation | timestamp   | NO   |     | CURRENT_TIMESTAMP |                |
+--------------+-------------+------+-----+-------------------+----------------+
5 rows in set (0.07 sec)</pre>
<h3>Conclusion</h3>
<p style="text-align: justify;">Il existe plusieurs techniques de <strong>suppression des doublons</strong> MySQL, les plus mauvaises étant celles préconisant l&#8217;usage d&#8217;un <strong>langage tiers</strong> (php, bash, etc.) basées sur un parcours en boucle de la table car trop consommatrices en ressources. Sachez qu&#8217;il est bien plus rentable d&#8217;utiliser les fonctions natives du moteur SQL, quitte à faire fonctionner un tant soit peu ses méninges et consulter la <a href="http://dev.mysql.com/doc/refman/5.0/fr/index.html">documentation MySQL</a> (ou autre moteur SQL suivant celui utilisé <img src='http://blogmotion.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ). Cette solution étant rapide et fiable, j&#8217;espère que vous en aurez l&#8217;utilité.</p>
Vous devriez me suivre sur Twitter : <strong><a href="http://twitter.com/xhark">@xhark</a></strong>
<hr />
<p><small><a href="http://blogmotion.fr/programmation/php-sql/supprimer-doublons-table-sql-base-suppression-1588">Article original</a> écrit par Mr Xhark publié sur <a href="http://blogmotion.fr">Blogmotion</a> le 22/11/2008 |
<a href="http://blogmotion.fr/programmation/php-sql/supprimer-doublons-table-sql-base-suppression-1588#comments">12 commentaires</a> |
<br />Attention : l'intégralité de ce billet est protégée par la licence <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/">Creative Commons</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blogmotion.fr/programmation/php-sql/supprimer-doublons-table-sql-base-suppression-1588/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>BDD MySQL 5/6 acceptant connexions externes</title>
		<link>http://blogmotion.fr/programmation/php-sql/bdd-mysql-56-acceptant-connexions-externes-289</link>
		<comments>http://blogmotion.fr/programmation/php-sql/bdd-mysql-56-acceptant-connexions-externes-289#comments</comments>
		<pubDate>Sat, 10 May 2008 10:45:18 +0000</pubDate>
		<dc:creator>Mr Xhark</dc:creator>
				<category><![CDATA[PHP (My)SQL]]></category>
		<category><![CDATA[base]]></category>
		<category><![CDATA[connexion]]></category>
		<category><![CDATA[donnée]]></category>
		<category><![CDATA[externe]]></category>
		<category><![CDATA[gratuit]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysql5]]></category>
		<category><![CDATA[mysql6]]></category>
		<category><![CDATA[sgbg]]></category>

		<guid isPermaLink="false">http://blogmotion.fr/?p=289</guid>
		<description><![CDATA[But : utiliser une base de données MySQL 5 ou 6 externe à un site, gratuitement Bien évidemment lorsque vous avez un hébergement il y a une base de donnée MySQL. Prenons l&#8217;exemple de l&#8217;hébergeur Free qui le propose. Vous pouvez vous connecter uniquement à votre base de donnée depuis votre espace personnel Free, les [...]]]></description>
			<content:encoded><![CDATA[<p><strong><em>But</em></strong> : utiliser une base de données MySQL 5 ou 6 externe à un site, gratuitement</p>
<p>Bien évidemment lorsque vous avez un hébergement il y a une base de donnée MySQL. Prenons l&#8217;exemple de l&#8217;hébergeur Free qui le propose. Vous pouvez vous connecter uniquement à votre base de donnée depuis votre espace personnel Free, les connexions MySQL depuis l&#8217;extérieur ne sont pas autorisées : comme dans bien des cas !</p>
<p style="text-align: center;"><a href="http://db4free.net" title="db4free-logo"><img class="alignnone size-full wp-image-290" title="db4free-logo" src="http://blogmotion.fr/wp-content/uploads/2008/05/db4free-logo.png" alt="" width="163" height="52" /></a></p>
<p>Vous pouvez avoir besoin d&#8217;une base de donnée commune accessible depuis plusieurs noms de domaines mutualisés (Free ou autre) lors d&#8217;un projet commun par exemple. Vous pouvez aussi en avoir marre de la politique de Free à savoir : les bases de données ne doivent pas être utilisées à des fins de stockage (logs, statistiques&#8230;).</p>
<p>Le site &laquo;&nbsp;<a href="http://db4free.net">Databases for free</a>&laquo;&nbsp;  propose  une base de donnée gratuite et sans aucune restriction d&#8217;accès ! De plus, depuis le 31 Mars 2008 vous avez le choix d&#8217;accéder à votre base de données avec <strong>MySQL 5</strong> ou <strong>MySQL 6</strong>. Pour faciliter la gestion de vos données c&#8217;est PhpMyAdmin qui est utilisé comme <a href="http://www.db4free.net/phpMyAdmin-2.11.6/">interface</a>.</p>
<p>Vous pouvez tout à fait accéder à votre base de donnée depuis un script PHP sur votre espace perso Free <img src='http://blogmotion.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><p style="border-top: 2px solid rgb(65, 105, 175); border-bottom: 2px solid rgb(65, 105, 175); padding: 5px 20px 5px 45px; background: rgb(223, 235, 255) url(http://blogmotion.fr/wp-content/plugins/NiceWeb2CSS/icon/world.gif) no-repeat scroll 15px 50%; text-align: left; color: rgb(102, 102, 102);"><a href="http://db4free.net/">Accéder à DB4Free</a><br />
<a href="http://db4free.blogspot.com/">Blog de DB4Free</a></p></p>
Vous devriez me suivre sur Twitter : <strong><a href="http://twitter.com/xhark">@xhark</a></strong>
<hr />
<p><small><a href="http://blogmotion.fr/programmation/php-sql/bdd-mysql-56-acceptant-connexions-externes-289">Article original</a> écrit par Mr Xhark publié sur <a href="http://blogmotion.fr">Blogmotion</a> le 10/05/2008 |
<a href="http://blogmotion.fr/programmation/php-sql/bdd-mysql-56-acceptant-connexions-externes-289#comments">2 commentaires</a> |
<br />Attention : l'intégralité de ce billet est protégée par la licence <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/">Creative Commons</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blogmotion.fr/programmation/php-sql/bdd-mysql-56-acceptant-connexions-externes-289/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Convertir date MySQL en PHP</title>
		<link>http://blogmotion.fr/programmation/php-sql/convertir-date-mysql-en-php-270</link>
		<comments>http://blogmotion.fr/programmation/php-sql/convertir-date-mysql-en-php-270#comments</comments>
		<pubDate>Mon, 28 Apr 2008 09:43:25 +0000</pubDate>
		<dc:creator>Mr Xhark</dc:creator>
				<category><![CDATA[PHP (My)SQL]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[datetime]]></category>
		<category><![CDATA[format]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[timestamp]]></category>

		<guid isPermaLink="false">http://blogmotion.fr/?p=270</guid>
		<description><![CDATA[But : utiliser le champ DATETIME SQL et surtout récupérer une valeur exploitable en PHP J&#8217;écris ce petit billet tout simplement car je vois souvent des scripts PHP traiter les dates dans des formats exotiques. Vous avez besoin de récupérer une date et une heure (ou l&#8217;un des deux) stockée dans votre base de données [...]]]></description>
			<content:encoded><![CDATA[<p><strong><em>But</em></strong> : utiliser le champ DATETIME SQL et surtout récupérer une valeur exploitable en PHP</p>
<p>J&#8217;écris ce petit billet tout simplement car je vois souvent des scripts PHP traiter les dates dans des formats exotiques. Vous avez besoin de récupérer une date et une heure (ou l&#8217;un des deux) stockée dans votre base de données en PHP et vous ne savez pas comment faire ? Cette astuce est pour vous <img src='http://blogmotion.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Premièrement : utilisez le format <span id="more-270"></span><a href="http://dev.mysql.com/doc/refman/5.0/fr/datetime.html">DATETIME</a> de SQL. Pas de INT, VARCHAR ou autre type inapproprié ! De plus utiliser ce format permet d&#8217;avoir un script universel et indépendant des langues locales configurées sur le serveur.</p>
<p>Deuxièmement votre date et heure seront d&#8217;autant plus facile à récupérer en PHP puisqu&#8217;ils sont stockés dans un seul et unique champ :</p>
<pre class="brush: sql; title: ; notranslate">SELECT DATE_FORMAT(nom_du_champ, 'le %d/%m/%Y à %k:%H:%s')
AS date_heure
FROM table where [condition]</pre>
<blockquote><p>Exemple de résultat retourné : <strong>le 24/04/2008 à 9:09:07</strong></p></blockquote>
<p>Il vous suffit d&#8217;appliquer un <a href="http://php.net/explode">explode</a> si vous souhaitez séparer la date et l&#8217;heure, ou alors (et c&#8217;est plus simple) de faire deux sélections SQL.<br />
Récupération de la date et de l&#8217;heure de manière séparée :</p>
<pre class="brush: sql; title: ; notranslate">SELECT DATE_FORMAT(nom_du_champ, '%d/%m/%Y') AS ma_date,
DATE_FORMAT(nom_du_champ, '%k:%H:%s') AS mon_heure
FROM table where [condition]</pre>
<p>En espérant que suite à ce billet vous userez correctement des différents types de champs MySQL mis à votre disposition <img src='http://blogmotion.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><p style="border-top: 2px solid rgb(181, 212, 254); border-bottom: 2px solid rgb(181, 212, 254); padding: 5px 20px 5px 45px; background: rgb(248, 250, 252) url(http://blogmotion.fr/wp-content/plugins/NiceWeb2CSS/icon/info.gif) no-repeat scroll 15px 50%;color: rgb(94, 98, 115); text-align: left;">L&#8217;usage du timestamp(); PHP n&#8217;est pas conseillé car limité  : le TimeStamp UNIX commence au 1er janvier 1970 et sera valable jusqu&#8217;en 2038 (pour l&#8217;instant sur des machines en 32bits : 2^31 = 2147483647). Si vous devez traiter  des dates antérieures au 01/01/1970 : le format DATE ou DATETIME deviennent alors beaucoup plus pratique</p></p>
<p><p style="border-top: 2px solid rgb(65, 105, 175); border-bottom: 2px solid rgb(65, 105, 175); padding: 5px 20px 5px 45px; background: rgb(223, 235, 255) url(http://blogmotion.fr/wp-content/plugins/NiceWeb2CSS/icon/world.gif) no-repeat scroll 15px 50%; text-align: left; color: rgb(102, 102, 102);">Pour vos conversions timestamp vous pouvez utiliser <a href="https://addons.mozilla.org/fr/firefox/addon/2063">cette extension firefox</a> ou bien ce <a href="http://loranger.free.fr/convertisseur/">convertisseur en ligne</a> très pratique <img src='http://blogmotion.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p></p>
Vous devriez me suivre sur Twitter : <strong><a href="http://twitter.com/xhark">@xhark</a></strong>
<hr />
<p><small><a href="http://blogmotion.fr/programmation/php-sql/convertir-date-mysql-en-php-270">Article original</a> écrit par Mr Xhark publié sur <a href="http://blogmotion.fr">Blogmotion</a> le 28/04/2008 |
<a href="http://blogmotion.fr/programmation/php-sql/convertir-date-mysql-en-php-270#comments">8 commentaires</a> |
<br />Attention : l'intégralité de ce billet est protégée par la licence <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/">Creative Commons</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blogmotion.fr/programmation/php-sql/convertir-date-mysql-en-php-270/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

