<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://es.wikieducator.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://es.wikieducator.org/index.php?action=history&amp;feed=atom&amp;title=Curso_Python_DGA_2011%2Facceso_a_datos%2Fmysql_python</id>
		<title>Curso Python DGA 2011/acceso a datos/mysql python - Historial de revisiones</title>
		<link rel="self" type="application/atom+xml" href="https://es.wikieducator.org/index.php?action=history&amp;feed=atom&amp;title=Curso_Python_DGA_2011%2Facceso_a_datos%2Fmysql_python"/>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Curso_Python_DGA_2011/acceso_a_datos/mysql_python&amp;action=history"/>
		<updated>2026-06-19T17:11:40Z</updated>
		<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
		<generator>MediaWiki 1.23.14</generator>

	<entry>
		<id>https://es.wikieducator.org/index.php?title=Curso_Python_DGA_2011/acceso_a_datos/mysql_python&amp;diff=5146&amp;oldid=prev</id>
		<title>Lmorillas en 22:49 17 ago 2011</title>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Curso_Python_DGA_2011/acceso_a_datos/mysql_python&amp;diff=5146&amp;oldid=prev"/>
				<updated>2011-08-17T22:49:04Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revisión de 22:49 17 ago 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Fuente: http://sourceforge.net/projects/mysql-python/&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Fuente: http://sourceforge.net/projects/mysql-python/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Instalar MySQL/MySQLdb en Linux ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/ins&gt;== Instalar MySQL/MySQLdb en Linux &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$ sudo apt-get install mysql-server&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$ sudo apt-get install mysql-server&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Lmorillas</name></author>	</entry>

	<entry>
		<id>https://es.wikieducator.org/index.php?title=Curso_Python_DGA_2011/acceso_a_datos/mysql_python&amp;diff=5145&amp;oldid=prev</id>
		<title>Lmorillas en 22:44 17 ago 2011</title>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Curso_Python_DGA_2011/acceso_a_datos/mysql_python&amp;diff=5145&amp;oldid=prev"/>
				<updated>2011-08-17T22:44:35Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revisión de 22:44 17 ago 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Fuente: http://sourceforge.net/projects/mysql-python/&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Fuente: http://sourceforge.net/projects/mysql-python/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Instalar MySQL en Linux ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Instalar MySQL&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/MySQLdb &lt;/ins&gt;en Linux ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$ sudo apt-get install mysql-server&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$ sudo apt-get install mysql-server&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 40:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bye&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bye&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Instalar MySQLdb en Windows ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* XAMPP http://www.apachefriends.org/es/xampp.html&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* MySQLdb: versión compilada en http://www.lfd.uci.edu/~gohlke/pythonlibs/&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== MySQLdb ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== MySQLdb ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Lmorillas</name></author>	</entry>

	<entry>
		<id>https://es.wikieducator.org/index.php?title=Curso_Python_DGA_2011/acceso_a_datos/mysql_python&amp;diff=5144&amp;oldid=prev</id>
		<title>Lmorillas: /* Instalar */</title>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Curso_Python_DGA_2011/acceso_a_datos/mysql_python&amp;diff=5144&amp;oldid=prev"/>
				<updated>2011-08-17T22:36:53Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Instalar&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revisión de 22:36 17 ago 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Instalar ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Instalar ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Fuente: http://sourceforge.net/projects/mysql-python/&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Instalar MySQL en Linux ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Instalar MySQL en Linux ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Lmorillas</name></author>	</entry>

	<entry>
		<id>https://es.wikieducator.org/index.php?title=Curso_Python_DGA_2011/acceso_a_datos/mysql_python&amp;diff=5143&amp;oldid=prev</id>
		<title>Lmorillas: Página creada con '{{MiTitulo|Acceso a MySQL con Python}}  == Instalar == == Instalar MySQL en Linux == &lt;source lang=&quot;bash&quot;&gt; $ sudo apt-get install mysql-server $ sudo apt-get install python-mysql…'</title>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Curso_Python_DGA_2011/acceso_a_datos/mysql_python&amp;diff=5143&amp;oldid=prev"/>
				<updated>2011-08-17T22:17:23Z</updated>
		
		<summary type="html">&lt;p&gt;Página creada con &amp;#039;{{MiTitulo|Acceso a MySQL con Python}}  == Instalar == == Instalar MySQL en Linux == &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt; $ sudo apt-get install mysql-server $ sudo apt-get install python-mysql…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{MiTitulo|Acceso a MySQL con Python}}&lt;br /&gt;
&lt;br /&gt;
== Instalar ==&lt;br /&gt;
== Instalar MySQL en Linux ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo apt-get install mysql-server&lt;br /&gt;
$ sudo apt-get install python-mysqldb&lt;br /&gt;
$ mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 30&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; SHOW DATABASES;&lt;br /&gt;
+--------------------+&lt;br /&gt;
| Database           |&lt;br /&gt;
+--------------------+&lt;br /&gt;
| information_schema | &lt;br /&gt;
| mysql              | &lt;br /&gt;
+--------------------+&lt;br /&gt;
2 rows in set (0.00 sec)&lt;br /&gt;
We connect to the database using the root account. We show all available databases with the SHOW DATABASES statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; CREATE DATABASE testdb;&lt;br /&gt;
Query OK, 1 row affected (0.02 sec)&lt;br /&gt;
We create a new testdb database. We will use this database throughout the tutorial.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'test623';&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; USE testdb;&lt;br /&gt;
Database changed&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; GRANT ALL ON testdb.* TO 'testuser'@'localhost';&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; quit;&lt;br /&gt;
Bye&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MySQLdb ==&lt;br /&gt;
&lt;br /&gt;
* Basado en http://zetcode.com/databases/mysqlpythontutorial/&lt;br /&gt;
&lt;br /&gt;
MySQLdb es un wrapper sobre _mysql, compatible con DB API&lt;br /&gt;
&lt;br /&gt;
== Ejemplo1: versión de la base de datos ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import MySQLdb as dbapi&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
try:&lt;br /&gt;
    conn = dbapi.connect('localhost', 'testuser', 'test623', 'testdb');&lt;br /&gt;
    cursor = conn.cursor()&lt;br /&gt;
&lt;br /&gt;
    cursor.execute(&amp;quot;SELECT VERSION()&amp;quot;)&lt;br /&gt;
    data = cursor.fetchone()&lt;br /&gt;
&lt;br /&gt;
    cursor.close()&lt;br /&gt;
    conn.close()&lt;br /&gt;
    &lt;br /&gt;
except dbapi.Error, e:&lt;br /&gt;
    print &amp;quot;Error %d: %s&amp;quot; % (e.args[0],e.args[1])&lt;br /&gt;
    sys.exit(1)&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Database version : %s &amp;quot; % data&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creación de tabla e inserción de datos==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import MySQLdb as dbapi&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
try:&lt;br /&gt;
    con = dbapi.connect('localhost', 'testuser', 'test623', 'testdb');&lt;br /&gt;
&lt;br /&gt;
    cursor = con.cursor()&lt;br /&gt;
    cursor.execute(&amp;quot;CREATE TABLE IF NOT EXISTS \&lt;br /&gt;
        Escritores(Id INT PRIMARY KEY AUTO_INCREMENT, Nombre VARCHAR(25))&amp;quot;)&lt;br /&gt;
    cursor.execute(&amp;quot;INSERT INTO Escritores(Nombre) VALUES('Jack London')&amp;quot;)&lt;br /&gt;
    cursor.execute(&amp;quot;INSERT INTO Escritores(Nombre) VALUES('Honore de Balzac')&amp;quot;)&lt;br /&gt;
    cursor.execute(&amp;quot;INSERT INTO Escritores(Nombre) VALUES('Lion Feuchtwanger')&amp;quot;)&lt;br /&gt;
    cursor.execute(&amp;quot;INSERT INTO Escritores(Nombre) VALUES('Emile Zola')&amp;quot;)&lt;br /&gt;
    cursor.execute(&amp;quot;INSERT INTO Escritores(Nombre) VALUES('Truman Capote')&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    con.commit()&lt;br /&gt;
&lt;br /&gt;
    cursor.close()&lt;br /&gt;
    con.close()&lt;br /&gt;
&lt;br /&gt;
except dbapi.Error, e:&lt;br /&gt;
  &lt;br /&gt;
    print &amp;quot;Error %d: %s&amp;quot; % (e.args[0],e.args[1])&lt;br /&gt;
    sys.exit(1)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mysql&amp;gt; SELECT * FROM Escritores;&lt;br /&gt;
+----+-------------------+&lt;br /&gt;
| Id | Nombre            |&lt;br /&gt;
+----+-------------------+&lt;br /&gt;
|  1 | Jack London       |&lt;br /&gt;
|  2 | Honore de Balzac  |&lt;br /&gt;
|  3 | Lion Feuchtwanger |&lt;br /&gt;
|  4 | Emile Zola        |&lt;br /&gt;
|  5 | Truman Capote     |&lt;br /&gt;
+----+-------------------+&lt;br /&gt;
5 rows in set (0.00 sec)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recuperar datos ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import MySQLdb as dbapi&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
try:&lt;br /&gt;
    con = dbapi.connect('localhost', 'testuser', 'test623', 'testdb');&lt;br /&gt;
&lt;br /&gt;
    cursor = conn.cursor()&lt;br /&gt;
    cursor.execute(&amp;quot;SELECT * FROM Escritores&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    rows = cursor.fetchall()&lt;br /&gt;
&lt;br /&gt;
    for row in rows:&lt;br /&gt;
        print row&lt;br /&gt;
&lt;br /&gt;
    cursor.close()&lt;br /&gt;
    conn.close()&lt;br /&gt;
&lt;br /&gt;
except dbapi.Error, e:&lt;br /&gt;
  &lt;br /&gt;
    print &amp;quot;Error %d: %s&amp;quot; % (e.args[0],e.args[1])&lt;br /&gt;
    sys.exit(1)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ ./recupera.py&lt;br /&gt;
(1L, 'Jack London')&lt;br /&gt;
(2L, 'Honore de Balzac')&lt;br /&gt;
(3L, 'Lion Feuchtwanger')&lt;br /&gt;
(4L, 'Emile Zola')&lt;br /&gt;
(5L, 'Truman Capote')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recupera uno a uno ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
    con = dbapi.connect('localhost', 'testuser', 'test623', 'testdb');&lt;br /&gt;
&lt;br /&gt;
    cursor = con.cursor()&lt;br /&gt;
    cursor.execute(&amp;quot;SELECT * FROM Escritores&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    numrows = int(cursor.rowcount)&lt;br /&gt;
&lt;br /&gt;
    for i in range(numrows):&lt;br /&gt;
        row = cursor.fetchone()&lt;br /&gt;
        print row[0], row[1]&lt;br /&gt;
&lt;br /&gt;
    cursor.close()&lt;br /&gt;
    conn.close()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cursor Diccionario ('''DictCursor''')==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import MySQLdb as dbapi&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
try:&lt;br /&gt;
    conn = dbapi.connect('localhost', 'testuser', 'test623', 'testdb');&lt;br /&gt;
&lt;br /&gt;
    cursor = conn.cursor(dbapi.cursors.DictCursor)&lt;br /&gt;
    cursor.execute(&amp;quot;SELECT * FROM Escritores&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    rows = cursor.fetchall()&lt;br /&gt;
&lt;br /&gt;
    for row in rows:&lt;br /&gt;
        print &amp;quot;%s %s&amp;quot; % (row[&amp;quot;Id&amp;quot;], row[&amp;quot;Name&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
    cursor.close()&lt;br /&gt;
    conn.close()&lt;br /&gt;
&lt;br /&gt;
except dbapi.Error, e:&lt;br /&gt;
  &lt;br /&gt;
    print &amp;quot;Error %d: %s&amp;quot; % (e.args[0],e.args[1])&lt;br /&gt;
    sys.exit(1)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usando descripción del cursor ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import MySQLdb as dbapi&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
try:&lt;br /&gt;
    conn = dbapi.connect('localhost', 'testuser', 'test623', 'testdb');&lt;br /&gt;
&lt;br /&gt;
    cursor = conn.cursor()&lt;br /&gt;
    cursor.execute(&amp;quot;SELECT * FROM Escritores&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    rows = cursor.fetchall()&lt;br /&gt;
&lt;br /&gt;
    desc = cursor.description&lt;br /&gt;
&lt;br /&gt;
    print &amp;quot;%s %3s&amp;quot; % (desc[0][0], desc[1][0])&lt;br /&gt;
&lt;br /&gt;
    for row in rows:    &lt;br /&gt;
        print &amp;quot;%2s %3s&amp;quot; % row&lt;br /&gt;
       &lt;br /&gt;
    cursor.close()&lt;br /&gt;
    conn.close()&lt;br /&gt;
&lt;br /&gt;
except dbapi.Error, e:&lt;br /&gt;
  &lt;br /&gt;
    print &amp;quot;Error %d: %s&amp;quot; % (e.args[0],e.args[1])&lt;br /&gt;
    sys.exit(1)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sentencias preparadas ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import MySQLdb as dbapi&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
try:&lt;br /&gt;
    conn = dbapi.connect('localhost', 'testuser', 'test623', 'testdb');&lt;br /&gt;
&lt;br /&gt;
    cursor = conn.cursor()&lt;br /&gt;
        &lt;br /&gt;
    cursor.execute(&amp;quot;UPDATE Escritores SET Name = %s WHERE Id = %s&amp;quot;, &lt;br /&gt;
        (&amp;quot;Guy de Maupasant&amp;quot;, &amp;quot;4&amp;quot;))        &lt;br /&gt;
    &lt;br /&gt;
    print &amp;quot;Number of rows updated: %d&amp;quot; % cursor.rowcount&lt;br /&gt;
&lt;br /&gt;
    cursor.close()&lt;br /&gt;
    conn.close()&lt;br /&gt;
&lt;br /&gt;
except dbapi.Error, e:&lt;br /&gt;
  &lt;br /&gt;
    print &amp;quot;Error %d: %s&amp;quot; % (e.args[0],e.args[1])&lt;br /&gt;
    sys.exit(1)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mysql&amp;gt; SELECT Name FROM Escritores WHERE Id=4;&lt;br /&gt;
+------------------+&lt;br /&gt;
| Name             |&lt;br /&gt;
+------------------+&lt;br /&gt;
| Guy de Maupasant |&lt;br /&gt;
+------------------+&lt;br /&gt;
1 row in set (0.00 sec)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Escritura de imágenes ==&lt;br /&gt;
Las imágenes son datos binarios. MySQL tiene un tipo de dato especial: BLOB (Binary Large Object).&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE TABLE Imagenes(Id INT PRIMARY KEY AUTO_INCREMENT, Data MEDIUMBLOB);&lt;br /&gt;
Query OK, 0 rows affected (0.06 sec)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import MySQLdb as dbapi&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
try:&lt;br /&gt;
    fin = open(&amp;quot;foto.png&amp;quot;)&lt;br /&gt;
    img = fin.read()&lt;br /&gt;
    fin.close()&lt;br /&gt;
&lt;br /&gt;
except IOError, e:&lt;br /&gt;
&lt;br /&gt;
    print &amp;quot;Error %d: %s&amp;quot; % (e.args[0],e.args[1])&lt;br /&gt;
    sys.exit(1)&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
try:&lt;br /&gt;
    conn = dbapi.connect(host='localhost',user='testuser', passwd='test623', db='testdb')&lt;br /&gt;
    cursor = conn.cursor()&lt;br /&gt;
    cursor.execute(&amp;quot;INSERT INTO Imagenes SET Data='%s'&amp;quot; % \&lt;br /&gt;
        dbapi.escape_string(img))&lt;br /&gt;
&lt;br /&gt;
    conn.commit()&lt;br /&gt;
&lt;br /&gt;
    cursor.close()&lt;br /&gt;
    conn.close()&lt;br /&gt;
&lt;br /&gt;
except dbapi.Error, e:&lt;br /&gt;
  &lt;br /&gt;
    print &amp;quot;Error %d: %s&amp;quot; % (e.args[0],e.args[1])&lt;br /&gt;
    sys.exit(1)&lt;br /&gt;
In the above script, we read a png image and insert it into the Images table.&lt;br /&gt;
&lt;br /&gt;
fin = open(&amp;quot;chrome.png&amp;quot;)&lt;br /&gt;
img = fin.read()&lt;br /&gt;
We open and read an image. The read() function returns the data as string.&lt;br /&gt;
&lt;br /&gt;
cursor.execute(&amp;quot;INSERT INTO Images SET Data='%s'&amp;quot; % dbapi.escape_string(img))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Leer imágenes ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import MySQLdb as dbapi&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
try:&lt;br /&gt;
    conn = dbapi.connect(host='localhost',user='testuser', passwd='test623', db='testdb')&lt;br /&gt;
&lt;br /&gt;
    cursor = conn.cursor()&lt;br /&gt;
&lt;br /&gt;
    cursor.execute(&amp;quot;SELECT Data FROM Imagenes LIMIT 1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    fout = open('image.png','wb')&lt;br /&gt;
    fout.write(cursor.fetchone()[0])&lt;br /&gt;
    fout.close()&lt;br /&gt;
&lt;br /&gt;
    cursor.close()&lt;br /&gt;
    conn.close()&lt;br /&gt;
&lt;br /&gt;
except IOError, e:&lt;br /&gt;
&lt;br /&gt;
    print &amp;quot;Error %d: %s&amp;quot; % (e.args[0],e.args[1])&lt;br /&gt;
    sys.exit(1)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Transacciones ==&lt;br /&gt;
Una transacción es una operación &amp;quot;atómica&amp;quot; en la base de datos. &lt;br /&gt;
&lt;br /&gt;
MySQL tiene dos motores: MyISAM y InnoDB. MyISAM (por defecto) es muy rápido, pero no soporta transacciones.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import MySQLdb as mdb&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
try:&lt;br /&gt;
    conn = dbapi.connect('localhost', 'testuser', 'test623', 'testdb');&lt;br /&gt;
&lt;br /&gt;
    cursor = conn.cursor()&lt;br /&gt;
    &lt;br /&gt;
    cursor.execute(&amp;quot;UPDATE Escritores SET Name = %s WHERE Id = %s&amp;quot;, &lt;br /&gt;
        (&amp;quot;Leo Tolstoy&amp;quot;, &amp;quot;1&amp;quot;))       &lt;br /&gt;
    cursor.execute(&amp;quot;UPDATE Escritores SET Name = %s WHERE Id = %s&amp;quot;, &lt;br /&gt;
        (&amp;quot;Boris Pasternak&amp;quot;, &amp;quot;2&amp;quot;))&lt;br /&gt;
    cursor.execute(&amp;quot;UPDATE Writer SET Name = %s WHERE Id = %s&amp;quot;, &lt;br /&gt;
        (&amp;quot;Leonid Leonov&amp;quot;, &amp;quot;3&amp;quot;))   &lt;br /&gt;
&lt;br /&gt;
    conn.commit()&lt;br /&gt;
&lt;br /&gt;
    cursor.close()&lt;br /&gt;
    conn.close()&lt;br /&gt;
&lt;br /&gt;
except dbapi.Error, e:&lt;br /&gt;
  &lt;br /&gt;
    conn.rollback()&lt;br /&gt;
    print &amp;quot;Error %d: %s&amp;quot; % (e.args[0],e.args[1])&lt;br /&gt;
    sys.exit(1)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ ./test_transaccion.py&lt;br /&gt;
Error 1146: Table 'testdb.Writer' doesn't exist&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; SELECT * FROM Escritores;&lt;br /&gt;
+----+-------------------+&lt;br /&gt;
| Id | Name              |&lt;br /&gt;
+----+-------------------+&lt;br /&gt;
|  1 | Leo Tolstoy       |&lt;br /&gt;
|  2 | Boris Pasternak   |&lt;br /&gt;
|  3 | Lion Feuchtwanger |&lt;br /&gt;
|  4 | Guy de Maupasant  |&lt;br /&gt;
|  5 | Truman Capote     |&lt;br /&gt;
+----+-------------------+&lt;br /&gt;
5 rows in set (0.00 sec)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hay un error, pero las primeras filas se han cambiado.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
DROP TABLE Escritores;&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE IF NOT EXISTS Escritores(Id INT PRIMARY KEY AUTO_INCREMENT, &lt;br /&gt;
    Name VARCHAR(25)) ENGINE=INNODB;&lt;br /&gt;
&lt;br /&gt;
INSERT INTO Escritores(Nombre) VALUES('Jack London');&lt;br /&gt;
INSERT INTO Escritores(Nombre) VALUES('Honore de Balzac');&lt;br /&gt;
INSERT INTO Escritores(Nombre) VALUES('Lion Feuchtwanger');&lt;br /&gt;
INSERT INTO Escritores(Nombre) VALUES('Emile Zola');&lt;br /&gt;
INSERT INTO Escritores(Nombre) VALUES('Truman Capote');&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import MySQLdb as dbapi&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
try:&lt;br /&gt;
    conn = dbapi.connect('localhost', 'testuser', 'test623', 'testdb');&lt;br /&gt;
&lt;br /&gt;
    cursor = conn.cursor()&lt;br /&gt;
    &lt;br /&gt;
    cursor.execute(&amp;quot;DELETE FROM Escritores WHERE Id = 5&amp;quot;)  &lt;br /&gt;
    cursor.execute(&amp;quot;DELETE FROM Escritores WHERE Id = 4&amp;quot;) &lt;br /&gt;
    cursor.execute(&amp;quot;DELETE FROM Writer WHERE Id = 3&amp;quot;) &lt;br /&gt;
    &lt;br /&gt;
    conn.commmit()&lt;br /&gt;
&lt;br /&gt;
except dbapi.Error, e:&lt;br /&gt;
  &lt;br /&gt;
    conn.rollback()&lt;br /&gt;
    print &amp;quot;Error %d: %s&amp;quot; % (e.args[0],e.args[1])&lt;br /&gt;
    sys.exit(1)&lt;br /&gt;
&lt;br /&gt;
cursor.close()&lt;br /&gt;
conn.close()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ ./innodb.py&lt;br /&gt;
Error 1146: Table 'testdb.Writer' doesn't exist&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; SELECT * FROM Escritores;&lt;br /&gt;
+----+-------------------+&lt;br /&gt;
| Id | Name              |&lt;br /&gt;
+----+-------------------+&lt;br /&gt;
|  1 | Jack London       |&lt;br /&gt;
|  2 | Honore de Balzac  |&lt;br /&gt;
|  3 | Lion Feuchtwanger |&lt;br /&gt;
|  4 | Emile Zola        |&lt;br /&gt;
|  5 | Truman Capote     |&lt;br /&gt;
+----+-------------------+&lt;br /&gt;
5 rows in set (0.00 sec)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
El error se produce antes del '''commit''' y entra en juego el método '''rollback'''.&lt;/div&gt;</summary>
		<author><name>Lmorillas</name></author>	</entry>

	</feed>