Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas
Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas

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

 


martes, 11 de agosto de 2020

COMO INSTALAR MYSQL EN UBUNTU

Mysql

Mmysql es una ase de datos relacional actualmente cuenta con la version comunity y la version enterprise  communmente encontrada en stack como lamp o wamp y en saas (sofw as service) como owrkpress, joomla, drupal entre otros. 


Lo primero que hay que hacer, es actualizar los paquetes del sistema

$ sudo apt-get update

Luego instalar el paquete correspondiente de mysql

sudo apt install mysql-server
 

NOTA:En el caso de presentar problemas por haberlo tenido anteriormente

Elimina o remueve paquetes propios d mysql
sudo apt-get remove --purge mysql-server* mysql-client mysql-common
Con autoremove se eliminan aquellos paquetes perdidos, generalmente instalados como dependencias de otras instalaciones, que ya no son necesarios:
sudo apt-get autoremove
Elimina del cache los paquetes .deb con versiones anteriores
sudo apt-get autoclean
Ahora actualizar los packetes del sistema con los siguientes comandos
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade
Despues volver a instalar mysql
sudo apt install mysql-server
 

Es hora de ejecutar el siguiente script, permitira cambiar algunas opciones que trae por defecto la base de datos, mejorando bastante la seguridad.

sudo mysql_secure_installation
 
La siguiente opcion permitira configurar el complemento que validad la contraseña de los usuarios en la base de datos. En este caso lo valido, dependiendo que tan robusto quiere que sea la validacion, siendo 0 la mas baja y 2 la mas alta.
Press y|Y for Yes, any other key for No: Y There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:

Sin importar la opcion que hayan elejido, el usurio root de la base de datos le pedira restablecer la contraseña y confirmar si esta agusto con la longitud de la contraseña.

 
Una vez terminada toda la parte de configuracion, se puede verificar si el servicio esta actualmente habilitado y corriendo en el servidor con el siguiente comando.
systemctl status mysql.service
Deberia aparecerles algo muy similar a este resultado.
mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-08-1 12:05:04 UTC; 2min ago Main PID: 10382 (mysqld) Status: "Server is operational" Tasks: 39 (limit: 1137) Memory: 370.0M CGroup: /system.slice/mysql.service └─10382 /usr/sbin/mysqld

 

CONCLUSION

 Con esto se puede estar seguro de que el sistema de base de datos esta corriendo satisfactoriamente, para hacer operaciones en la base datos revisa el siguiente post. Sql (mysql)