Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- #
- # Existen varios motores de bases de datos: MySQL, PostgreSQL, Oracle
- # SQLite, SQLserver, etc. Solamente SQLite es soportado por la biblio std
- # de Python, para el resto hay que importar (pip install) algún módulo
- # todos los módulos usan la DB-API, interfaz std de prog de base de datos
- # MySQL (o MariaDB): mysql-connector, PyMySQL, MySQLdb
- # PostgreSQL: psycopg, pg8000
- # SQLite: sqlite3 (incluido en la bibio std)
- # SQL Server: pymssql, pyodbc
- # Oracle: cx_Oracle
- import sqlite3
- # el sig comando abre una base de datos existente. Si la base no existe,
- # el comando la crea
- conn = sqlite3.connect("base.sqlite")
- # Cada operación SQL (crear y/o borrar tablas, agregar datos, etc) se
- # denomina CONSULTA sql. Para hacer una consulta necesito crear un cursor
- cursor = conn.cursor()
- # La primer consulta a realizar es crear una tabla
- cursor.execute("CREATE TABLE IF NOT EXISTS personas(nombre TEXT, edad NUMERIC)")
- # Cuando se ejecuta una consulta que modifica la base, hay que "guardar
- # los datos": hacer un commit
- conn.commit()
- # Sig paso: agregar datos a mi tabla: voy a crear tuplas
- datos = (
- ("Pablo",23),
- ('Juan',48),
- ('Ana',32)
- )
- # agrego los datos a la tabla
- for nombre,edad in datos:
- cursor.execute("INSERT INTO personas VALUES(?,?)",(nombre,edad))
- conn.commit()
- # Supongamos que queremos imprimir los valores de la tabla personas
- cursor.execute("SELECT * FROM personas")
- # la pido al cursor que "vuelque los datos"
- # volcar 1 solo dato: fetchone()
- # volcar todos los datos: fetchall()
- valores = cursor.fetchall()
- print(valores)
- # cierro la base de datos
- conn.close()
- """
- ####
- # Ejemplo similar en MySQL
- # pip install pymysql
- import pymysql
- conn = pymysql.connect(
- host = "localhost",
- user = "nombre-usuario",
- passwd = "Contraseña",
- db = "nombre de la base"
- )
- cursor = conn.cursor()
- cursor.execute("CREATE TABLE personas(nombre VARCHAR(255), edad INTEGER)")
- conn.commit()
- datos = (
- ("Pablo",23),
- ('Juan',48),
- ('Ana',32)
- )
- for nombre,edad in datos:
- cursor.execute("INSERT INTO personas VALUES(%s,%s)",(nombre,edad))
- conn.commit()
- cursor.execute("SELECT * FROM personas")
- valores = cursor.fetchall()
- print(valores)
- conn.close()
- """
Advertisement
Add Comment
Please, Sign In to add comment