Sei sulla pagina 1di 7

Inicio Libros Tutoriales Eventos Foro Buscar

Libros / Python para principiantes / Captulo 12. Bases de datos en Python con MySQL
/ 12.2. Conectarse a la base de datos y ejecutar consultas

12.2. Conectarse a la base de


datos y ejecutar consultas
Para conectarnos a la base de datos y ejecutar cualquier consulta, el procedimiento
consiste en:

1. Abrir la conexin y crear un puntero

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
2. Ejecutar la consulta

3. Traer los resultados (si de una seleccin se trata) o hacer efectiva la escritura
(cuando se inserta, actualiza o eliminan datos)

4. Cerrar el puntero y la conexin

NOTA
Los resultados de una consulta de seleccin, se reciben en una tupla, cuyos
elementos, son otras tuplas, conteniendo el valor de cada campo seleccionado de la
tabla, en el orden que han sido seleccionados.

12.2.1. Una forma simple de acceder a bases de datos


import MySQLdb

DB_HOST = 'localhost'
DB_USER = 'root'
DB_PASS = 'mysqlroot'
DB_NAME = 'a'

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
def run_query(query=''):
datos = [DB_HOST, DB_USER, DB_PASS, DB_NAME]

conn = MySQLdb.connect(*datos) # Conectar a la base de datos


cursor = conn.cursor() # Crear un cursor
cursor.execute(query) # Ejecutar una consulta

if query.upper().startswith('SELECT'):
data = cursor.fetchall() # Traer los resultados de un select
else:
conn.commit() # Hacer efectiva la escritura de datos

data = None

cursor.close() # Cerrar el cursor


conn.close() # Cerrar la conexin

return data

12.2.1.1. Insertar datos


open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
dato = raw_input("Dato: ")
query = "INSERT INTO b (b2) VALUES ('%s')" % dato
run_query(query)

12.2.1.2. Seleccionar todos los registros

query = "SELECT b1, b2 FROM b ORDER BY b2 DESC"


result = run_query(query)
print result

12.2.1.3. Seleccionar solo registros coincidentes

criterio = raw_input("Ingrese criterio de bsqueda: ")


query = "SELECT b1, b2 FROM b WHERE b2 = '%s'" % criterio
result = run_query(query)
print result

12.2.1.4. Eliminar registros

criterio = raw_input("Ingrese criterio p7 eliminar coincidencias: ")


query = "DELETE FROM b WHERE b2 = '%s'" % criterio
run_query(query)

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
12.2.1.5. Actualizar datos

b1 = raw_input("ID: ")
b2 = raw_input("Nuevo valor: ")
query = "UPDATE b SET b2='%s' WHERE b1 = %i" % (b2, int(b1))
run_query(query)

Anterior Siguiente
Captulo 12. Bases de datos en Python con MySQL Captulo 13. Corriendo aplicaciones Python en la
web

Copyright (c) 2011-2013 Eugenia Bahit. La copia y redistribucin de esta pgina se permite bajo los trminos de
la licencia Creative Commons Atribucin NoComercial SinDerivadas 3.0 Unported siempre que se conserve esta
nota de copyright.

INDICE DE CONTENIDOS

1. Preparacin del entorno de desarrollo

2. Estructura y elementos del lenguaje


open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
3. Mdulos, paquetes y namespaces

4. Funciones definidas por el usuario

5. Introduccin a la orientacin a objetos

6. Mtodos principales del objeto String

7. Mtodos principales del objeto list

8. Mtodos principales del objeto dict

9. El objeto File: trabajando con archivos

10. Un paseo por los mdulos de la librera estndar

11. Introduccin a MySQL y el lenguaje SQL

Captulo 12. Bases de datos en Python con MySQL

12.2. Conectarse a la base de datos y ejecutar consultas

13. Corriendo aplicaciones Python en la web

14. Enviando e-mails con formato HTML desde Python

3.757
2006-2017 LibrosWeb.es Contacto Novedades Condiciones Privacidad

das online

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com

Potrebbero piacerti anche