martes, 27 de octubre de 2020

Primeros Pasos de SQL Comandos (mysql)

 

La gestión de base de datos es una de las tareas más comunes que competen a todas las industrias, desde las más pequeñas, hasta las más grandes corporaciones. Es normal que muchos utilicen herramientas como en el caso de PhpMyAdmin para administrar la base de datos, pero no siempre es el caso cuando no existe interfaz gráfica y no hay más remedio de utilizar la consola, por eso hoy les traigo como administrar MySQL desde la consola y sobrevivir en el intento.

 

Iniciar sesión.

Nota: Utiliza el parámetro -h si solo es necesario.
 mysql -h hostname -u root -p

 

Crear una base de datos en el servidor SQL.

create database [databasename];

 

Listar todas las bases de datos en el servidor SQL.

show databases;

 

Cambiar de base de datos.

use [db name];

 

Ver todas las tablas en la base de datos.

show tables;

 

Para ver los formatos de los campos de la base de datos.

describe [table name];

 

Borrar la base de datos.

drop database [database name];

 

Borrar una tabla.

drop table [table name];

 

Mostrar toda la información de una tabla.

SELECT * FROM [table name];

 

Devuelve las columnas y la información de las columnas correspondientes a la tabla designada.

show columns from [table name];

 

Mostrar ciertas filas seleccionadas con el valor "algo".

SELECT * FROM [table name] WHERE [field name] = "algo";

 

Mostrar todos los registros que contengan el nombre "Luis" Y el número de teléfono '1234567'.

SELECT * FROM [table name] 
WHERE name = "Luis" AND phone_number = '1234567';

 

Mostrar todos los registros que no contengan el nombre "Luis" Y el número de teléfono '1234567' ordenados por el campo phone_number.

SELECT * FROM [table name] 
WHERE name != "Luis" AND phone_number = '1234567' 
order by phone_number;

 

Mostrar todos los registros que empiecen por las letras "Luis" Y el número de teléfono "1234567".

SELECT * FROM [table name] 
WHERE name like "Luis%" AND phone_number = '1234567';

 

Utilice una expresión regular para encontrar registros. Utilice "REGEXP BINARY" para forzar la distinción entre mayúsculas y minúsculas. Esto encuentra cualquier registro que empiece por a.

SELECT * FROM [table name] WHERE rec RLIKE "^a$";

 

Mostrar los registros únicos.

SELECT DISTINCT [column name] FROM [table name];

 

Mostrar los registros seleccionados ordenados de forma ascendente (asc) o descendente (desc).

SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;

 

Contar los registros.

SELECT COUNT(*) FROM [table name];

 

Unir tablas en columnas comunes.

select lookup.illustrationid, lookup.personid, person.birthday 
from lookup 
left join person 
on lookup.personid = person.personid;

 

Cambie a la base de datos mysql. Cree un nuevo usuario.

INSERT INTO [table name] (Host,User,Password) VALUES('%','user',PASSWORD('password'));

 

Cambiar la contraseña de un usuario (desde el Shell Unix).

mysqladmin -u root -h hostname.blah.org -p password 'new-password';

 

Cambiar a mysql db. Dar privilegios de usuario para una db.

INSERT INTO [table name] 
(Host,Db,User,Select_priv,Insert_priv,Update_priv,
Delete_priv,Create_priv,Drop_priv) 
VALUES ('%','db','user','Y','Y','Y','Y','Y','N');

 

Para actualizar la información que ya está en una tabla.

UPDATE [table name] 
SET Select_priv = 'Y',Insert_priv = 'Y',Update_priv = 'Y' 
where [field name] = 'user';

 

Borrar registro(s) de una tabla.

DELETE from [table name] where [field name] = 'algo';

 

Actualizar permisos/privilegios de una base de datos.

FLUSH PRIVILEGES;

 

Borrar columna

alter table [table name] drop column [column name];

 

Añadir una nueva columna a una tabla.

alter table [table name] add column [new column name] varchar (20);

 

Cambiar nombre de columna.

alter table [table name] 
change [old column name] [new column name] varchar (50);

 

Haz una columna única para que no haya duplicados.

alter table [table name] add unique ([column name]);

 

Ampliar una columna.

alter table [table name] modify [column name] VARCHAR(3);

 

Borrar el índice de una tabla.

alter table [table name] drop index [colmn name];

 

Cargar un archivo CSV en una tabla.

LOAD DATA INFILE '/tmp/filename.csv' replace INTO TABLE [table name] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1,field2,field3);

 

Volcar todas las bases de datos para la copia de seguridad. El archivo de copia de seguridad es para recrear todas las db's.

mysqldump -u root -ppassword --opt >/tmp/alldatabases.sql

 

Volcar una base de datos para la copia de seguridad.

mysqldump -u username -ppassword --databases databasename >/tmp/databasename.sql

 

Volcar una tabla para la copia de seguridad.

mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql

 

Restaurar una copia de seguridad.

mysql -u username -ppassword databasename < /tmp/databasename.sql

 


viernes, 9 de octubre de 2020

Como configurar entornos virtuales en Python3

 


Los entornso virtuales, son mecanismos utilizados en para trabajar en distintos entornos separados de los directorios del sistema.Cada entorno funciona independiente de los demas, una vez activos puede tener conjuntos independientes de las librerias sin importar las versiones, solucionando multiples problemas de compatibilidad.

 

PYTHON3

PASO 1: Instalar python3-venv

Primero como buena practica siempre actualizar los paquetes del sistema antes de instalar cualquier paquete:

sudo apt-get update -y

Ahora instalar python3-venv

sudo apt-get install python3-venv

 

PASO 2: Crear el entorno virtual de python

Despues instalado, es hora de crear el directorio donde se almacenara el entorno virtual

mkdir byte_fate cd byte_fate

Ahora se crea el entorno virtual para en la carpeta del proyecto.

python3 -m venv bytefate_env

Si quieres comprobarlo te mostrar una carpeta nueva con el nombre que le diste al entorno

ls -l
 

PASO 3: Activar el entorno

Es hora de trabajar, para activar el entorno es necesario utilizar el siguiente comando

source bytefate_env/bin/activate

Una vez activado se podra ver el nombre del entorno virtual en la barra antes de la informacion del sistema, algo asi..

(bytefate_env) user@host:~/byte_fate#
 

PASO 4: Instalar paquetes

Ya tienes un entorno en limpio para jugar con diferentes versiones, sin ningun inconveniente al momento de agregar un nuevo paquete. Prueba instalando este paquete.

pip install requests
 

Paso 5: Cerrar el entorno Virtual

Para cerrarlo es muy sencillo, es ubicar la terminal que esta ejecutando el entorno virtual y ejecutar el siguiente comando
deactivate
 
 

Ahora que ya estas listo para crear, sus propios entornos con paquetes independientes.