sqlite

PHP y bases de datos: ejemplos y tutoriales de conexión

En este artículo te muestro cómo conectar PHP con varias bases de datos. Aparte de los motores que usan SQL, PHP también puede consumir bases de datos No-SQL como MongoDB.

Conexión de PHP con Bases de datos

PHP es un lenguaje muy popular para la programación del lado del servidor. Funciona para muchísimas cosas, entre ellas, conectar con bases de datos a través del driver PDO por ejemplo.

Este post es un índice para ver cómo PHP puede conectarse con varios motores de bases de datos.

Continue reading…

6 - Copiar base de datos de dispositivo a PC con adb pull

Extraer base de datos de SQLite en Android sin root

Hoy vamos a ver cómo extraer una base de datos de SQLite de una aplicación de Android para copiarla a nuestra computadora y poder analizarla haciendo consultas; evitando pasar por la API de Java.

No vamos a necesitar root, simplemente tener el ejecutable de adb que se instala cuando comenzamos a programar en Android.

Por favor mira este tutorial en donde se ve cómo agregar adb.exe a la variable PATH de Windows.

Continue reading…

Columnas con autoincremento en SQLite3

Introducción

El mismo sitio de SQLite3 dice que no recomienda el autoincremento o las columnas auto incrementables. Sin embargo, algunas veces es necesario hacer esto y según yo, no afecta tanto al rendimiento.

Veamos cómo crear una tabla con autoincremento y cómo es que SQLite3 maneja eso internamente. Por cierto, ya sabemos que este motor crea la columna rowid pero no podemos confiar en ella.

Continue reading…

SQLite3 y PDO con PHP: crud y ejemplos

Introducción

Hace algunas semanas o meses escribí una pequeña introducción a Python con SQLite. Ahora es el turno de PHP, un poderoso lenguaje muy popular soportado por casi todos los servidores del mundo. Veamos un ejemplo de PHP, SQLite3 y PDO.

SQLite3 viene como anillo al dedo si nuestra app no será consumida al mismo tiempo (en el mismo instante de tiempo), ya que, recordemos, no es una base de datos multihilo.

Nota: recuerda habilitar la extensión sqlite

Por cierto, ¿quieres un tutorial para MySQL? también puedes ver la conexión de PHP con otras bases de datos.

Continue reading…

Python 3 y SQLite 3 – Introducción y ejemplos

Introducción

En esta entrada veremos cómo crear, leer, actualizar y eliminar registros en SQLite3 usando Python 3. Es decir, haremos un CRUD con SQLite. Para ello lo único que necesitamos es instalar Python. La librería que permite gestionar la base de datos ya viene incluida.

Te invito a leer el tutorial de PHP con PDO y SQLite3 para crear CRUD

Nota: si quieres ver el código completo ve a GitHub. También he creado otros tutoriales para conectar Python con SQL Server, PostgreSQL y MySQL.

Continue reading…

Pequeña shell interactiva para sqlite3 en Python

Ayer estaba haciendo unas pruebas con sqlite3 y python, pero tenía que escribir cada sentencia, guardar el archivo y ejecutarlo… cosa que se me hizo muy tardada.

Así que decidí hacer un pequeño script interactivo muy simple pero que permite ejecutar cualquier cosa y abrir cualquier base de datos. El código se explica por sí mismo.

"""
	Abre una base de datos de sqlite3 e interactúa con ella.
	Útil para hacer pruebas

	@author parzibyte
"""
import sqlite3
while True:
	try:
		"""
			Tratar de abrir la base de datos e imprimir
			cualquier error que pase al hacerlo
			Comprobar también si el usuario quiere salir completamente
			del programa
		"""
		nombre_base_de_datos = input("Escribe el nombre de la base de datos: [-1 para salir]\t")
		if nombre_base_de_datos == "-1":
			break
		conexion = sqlite3.connect(nombre_base_de_datos)
		cursor = conexion.cursor()
		print("Base de datos abierta!")
		while True:

			"""
				Leer la entrada del usuario y salir si así lo desea.
				Si no, ejecutar la consulta, mostrar los resultados
				y si hay algún error imprimirlo
			"""
			try:
				sentencia = input("Escribe la consulta que deseas ejecutar: [-1 para cambiar la base de datos]\n\t")
				if sentencia == "-1":
					break
				resultado = cursor.execute(sentencia)
				datos = cursor.fetchall()
				conexion.commit()
				print("Los datos que trajo la consulta son: ")
				for dato in datos:
					print(dato)
			except sqlite3.OperationalError as error:
				print("Error al ejecutar la consulta: ", error)
	except sqlite3.OperationalError as error:
		print("Error al abrir la base de datos: ", error)

Aquí pongo unas pequeñas capturas de cómo se ve:

Finalmente tengo mencionar dos cosas importantes:

  • Está escrito para Python 3, y no creo que funcione en otras versiones, aunque sólo se tendrían que hacer unas pequeñas modificaciones
  • Está abierto a inyecciones de SQL ya que no usa sentencias preparadas. ¿Por qué? porque se supone que es para pruebas, es como interactuar con sqlite directamente

Aquí algunos enlaces

Documentación de sqlite3 para Python

Sitio oficial de SQLite