Ejemplo de uso de SQlite3 con Python
SqLite es un paquete de software de dominio público que proporciona un sistema de gestión de base de datos relacional.
Documentación oficial de SQlite3 en python 3.5
Ejemplo sencillo de uso:
import sqlite3 .... con = sqlite3.connect('C:\\base_datos.db') cursor = con.cursor() print 'Conectado a la BD base_datos.db' .... self.cursor.execute('''CREATE TABLE IF NOT EXISTS COMMENT( id INT NOT NULL, comment TEXT NOT NULL, user TEXT )''') print 'Creada la tabla Comment' .... str2 = "INSERT INTO COMMENT (id, comment, user) " str2 = str2 + "VALUES (?, ?, ? )" self.cursor.execute(str2, (1, "comentario realizado", "pedro")) print 'Comentario insertado correctamente' .... self.cursor.execute("DROP TABLE IF EXISTS COMMENT") print 'Borrada la tabla Comment' ....
Nota: Al intentar conectar a la base de datos si no existe se creará con el nombre y la ruta que se especifique.
Concatenar múltiples filas de una columna en una sentencia SQL para Oracle
Ejemplo:
Tenemos 1 tabla llamada ciudades, con los campos: id, nombreCiudad y nombrePais. Y queremos sacar un listado de todos los paises con sus ciudades concatenadas separadas por una coma. Para ello bastaria con ejecutar esta sentencia:
Select nombrePais, rtrim(xmlagg(xmlelement(ciudades, nombreCiudad ||’,’)).extract(‘//text()’), ‘,’)
from ciudades group by nombrePais;
Funciones utilizadas
rtrim – Se usa para quitar la la última coma de la cadena formada.
xmlagg – Retorna una colección de nodos en formato XMLFormat object, con todas las ciudades de cada pais (ya que hemos agrupado por pais en el group by).
xmlelement – Se utiliza para generar el formato que van a tener los nodos. El primer campo el es identificador del tag que se le asigna dentro del xml y el segundo campo el contenido de ese tag.
extract – En este caso se usa para extraer del docuemtno xml generado el texto.
Nota: Si en lugar de campos separados por comas se deseara separar las ciudades con saltos de línea se podría hacer lo siguiente:
Select nombrePais, rtrim(xmlagg(xmlelement(ciudades, nombreCiudad || CHR(13) || CHR(10))).extract(‘//text()’), CHR(13) || CHR(10))
from ciudades group by nombrePais;
Squirrel SQL Client
Squirrel SQL Client se trata de una aplicación java multiplataforma. Presenta un entorno muy intuitivo a través del cuál podemos configurar conexiones a distintas bases de datos.
Permite la realización de multiples conexiones simultaneas a distintas bases de datos y la realizacion de consultas sobre las mismas. Proporciona la opción de autocompletado de campos pulsando Ctrl+espacio. También permite exportar los datos a inserts, excel, csv…
Instalación:
1. Descargar SQuirreL. Es necerario tener instalado y configurado correctamente el JDK 1.6 o superior.
2. Abrir una consola de comandos (Inicio > Ejecutar > cmd)
3. Ir al directorio donde se descargó SQuirreL
4. Ejecutar el siguiente comando:
java -jar squirrel-sql-3.3.0-install.jar
5. Seguir los pasos de la instalación y en la opción de selección de paquetes a instalar, seleccionar:
DBCopy, DBDiff, MySQL, Oracle, PostgreSQL, Smart Tools, SQL Parametrisation, SQL Replace, SQL Validator, Internationalization, Spanish
Agregar driver para conectar a una Base de datos
1. Descargar el driver JDBC para la base de datos que se desea conectar.
2. Copiar el driver descargado al directorio lib del directorio de instalación de SQuirreL %squirrel_home%\lib.
3. Iniciar SQuirreL
Dirección oficial
Configurar Squirrel para MySQL
Configurar Squirrel para Oracle
Crear una base de datos y un usuario en MySQL.
Si por ejemplo quisiéramos crear un DATABASE para gestionar las distintas tablas de una gestión de trabajadores podríamos utilizar:
CREATE DATABASE TRABAJADORES;
Una vez creada podemos asociarle un usuario ‘user001’ que tengo provilegios totales sobre él y de contraseña también ‘user001’.
GRANT ALL PRIVILEGES ON TRABAJADORES.* TO 'user001'@'%' IDENTIFIED BY 'user001';
Para que podamos conectarnos a ella desde cualquier equipo se pone ‘user001’@’%’. Si por ejemplo solo se quisiera poder utilizar desde local se pondría ‘user001’@’localhost’
Fuente con mucha más información:
Sintaxis CREATE DATABASE
Añadir cuentas de usuario
Instalar MySQL 5.6 en Red Hat/Oracle Enterprise Linux
1/ En primer lugar descargarse de la página oficial los paquetes: Shared Components, Client y Server. En este caso he utilizado la version de 64 bits:
MySQL-shared-compat-5.6.16-1.el6.x86_64.rpm MySQL-client-5.6.16-1.el6.x86_64.rpm MySQL-server-5.6.16-1.el6.x86_64.rpm
2/ Antes de comenzar la instalación hay que revisar si ya tenemos instalados los paquetes mysql-libs y mysql-server. En caso de que estén, debemos eliminarlos ya que sino no nos dejará realizar la instalación correctamente.
//Comprobación de existencia de esos paquetes yum list mysql-libs yum list mysql-server //Eliminación si existiesen yum remove mysql-server yum remove mysql-libs
3/ También debemos instalar la librería Libao, necesaria para el funcionamiento del servidos, si no la tenemos instalada.
yum install libaio
4/ Ahora ya podemos proceder a instalar el servidor MySQL. Ejecutando:
rpm -ivh MySQL-server-5.6.16-1.el6.x86_64.rpm
Si todo ha ido correctamente cuando termine podemos encontrar nuesto fichero de configuración en /usr/my.cnf y el password de root por defecto puede encontrarse en el archivo /root/.mysql_secret.
5/ Se instalan los paquetes restantes.
rpm -ivh MySQL-shared-compat-5.6.16-1.el6.x86_64.rpm rpm -ivh MySQL-client-5.6.16-1.el6.x86_64.rpm
6/ Ya podemos iniciar el servicio con: service mysql start
Para loguearnos: mysql -uroot -p (utilizamos la password que hay en /root/.mysql_secret)
A continuación, podemos cambiar la password:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MYPASSWORDSECRETO');
Usar Mysql con Python para Windows
Para utilizar Mysql con Python basta con:
1 – Descargarse este módulo.
2 – Instalarla
python setup.py install
3 – Configurar tú aplicación para usar mysql
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'nombreBD', 'USER': 'usuario', 'PASSWORD': 'contraseña', 'HOST': '', #La cadena vacia representa localhost. 'PORT': '', #La cadena vacia representa el puerto por defecto (8000). } }
Nota: En este enlace te puedes descargar un ejecutable para windows que te instala el módulo con un simple doble click.
Desordenar aleatoriamente un array en java y en php
Para desordenar un array en PHP tenemos la función shuffle. En el ejemplo se crea una array ordenado de 1 a 6 mediante la función range para luego mezclarlos:
En java tenemos la función Collections.shuffle que es equivalente. Recibe como parámetro una lista y mezcla los distintos objetos o tipos que la componen.
List< TuObjeto> asks = new LinkedList< TuObjeto>(); asks.add(new TuObjeto(1)); asks.add(new TuObjeto(2)); asks.add(new TuObjeto(3)); Collections.shuffle(asks);
Como apunte decir que si lo que queremos es desordenar una lista obtenida directamente desde una Base de Datos MySql podemos usar la función rand(). Más información de esta y otras funciones en la documentación oficial de MySql.
SELECT * FROM wth_users ORDER BY rand()
Categorias
- adobe (2)
- agile (1)
- Alfresco (1)
- Android (26)
- Angular (6)
- angularjs (10)
- apache (1)
- axis (2)
- Bases de datos (14)
- Bootstrap (1)
- C# (3)
- Cámara (1)
- chrome (3)
- Codeigniter (2)
- Control de Versiones (2)
- CSS (25)
- CVS (1)
- Django (9)
- Django Rest Framework (1)
- DNS (1)
- Docker (3)
- dominio (1)
- eclipse (5)
- Entity Framework (2)
- ETL (1)
- Firefox (6)
- flash (1)
- freecad (1)
- Git (12)
- GitHub (4)
- gpg (2)
- Groovy (1)
- Handlebars (1)
- hibernate (4)
- hosting (1)
- HTML (50)
- HTML 5 (26)
- Impresión 3D (9)
- Inkscape (1)
- IOS (2)
- ireports (3)
- Java (44)
- Javascript (55)
- JBoss (5)
- JPA (2)
- JQuery (20)
- Json (7)
- JSP (6)
- Keycloak (1)
- Lamp (1)
- LDAP (2)
- lean (1)
- linkedin (1)
- LINQ (1)
- linux (13)
- Livecycle (1)
- log (1)
- microcontroladores (1)
- MongoDB (4)
- MySQL (8)
- Node.js (5)
- OC4J (1)
- Openshift (2)
- Oracle (6)
- Patrones de Diseño (1)
- Photoshop (2)
- php (20)
- PostgreSQL (1)
- python (19)
- rabbitmq (1)
- Raspberry PI (13)
- Raspherry PI (5)
- React (6)
- seguridad (3)
- Selenium (3)
- Sencha Touch (1)
- Sin categoría (29)
- Spring (17)
- spring-boot (3)
- SQL (7)
- SQLServer (1)
- SSO (1)
- struts (2)
- SVN (1)
- Talend (1)
- Tomcat (6)
- unity (3)
- Visual Studio Code (2)
- vmware (5)
- Web Services (11)
- windows (18)
- wordpress (10)
- Xiaomi (1)
- xml (2)
Trabajos Realizados
- App Android – Autoka Fr
- App Android – Cartelera Cántabra
- App Android – Gramática y Vocabulario Ingles
- App Android – Hoja de Gastos
- App Android – Hotel Torre Cristina
- App Android – OcioEnjoy
- App Android – Visor CardBoard
- App Firefox – Managapp
- DiamanteBomba – DisasterCode
- Generador de Partes de Trabajo
- GitHub – Android Web Generator
- GitHub – Dynamic Angular Gallery
- GitHub – Dynamic React Gallery
- GitHub – Sotilizator
- GitHub – SpringAngularJS
- GitHub – Swiper Dynamic Angular Gallery
- HazParejas – DisasterCode
- RompeCabezas – DisasterCode
- Unity Game – English Couple
- Unity Game – Kill Wasp
- WordPress – El Buen Apicultor
- WordPress – El Cajón de los Retales
- WordPress – El Vestidito Azul
- WordPress – Feuchas
- WordPress – Fragua de Navajas Ponce
- WordPress – Humor a las Tres
- WordPress – Photo Places