Compare commits
2
Commits
4c1d152391
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c18f8253e4 | ||
|
|
ebd86c5fa3 |
+185
-154
@@ -1,107 +1,139 @@
|
|||||||
AYUDA MYSQL
|
**AYUDA MYSQL**
|
||||||
|
==================
|
||||||
\===========
|
|
||||||
|
|
||||||
|
|
||||||
Acceso consola de mysql/mariadb
|
Acceso consola de mysql/mariadb
|
||||||
|
```bash
|
||||||
./mysql u- root (si no tiene password)
|
./mysql u- root (si no tiene password)
|
||||||
|
|
||||||
./mysql u- root -p <password>
|
./mysql u- root -p <password>
|
||||||
|
```
|
||||||
|
|
||||||
|
**Backups mysqldump desde terminal**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./mysqldump -u root -p nombre_base_datos > backup.sql
|
||||||
|
./mysqldump -u root -p --all-databases > all_databases_backup.sql
|
||||||
|
mysqldump -h localhost -u root -p --port=3307 mi_base > backup.sql
|
||||||
|
# Para establecer puerto 3307
|
||||||
|
```
|
||||||
|
|
||||||
|
**Restaurar un backup mysql/mariadb**
|
||||||
|
|
||||||
Backups mysqldump desde terminal
|
```bash
|
||||||
|
mysql -u root -p nombre_base_datos < backup.sql
|
||||||
|
mysql -h localhost -u usuario -p --port=3307 nombre_base < backup.sql
|
||||||
|
# Estableciendo puerto
|
||||||
|
```
|
||||||
|
|
||||||
|
*Restaurara base_b*
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo mysql
|
||||||
|
CREATE DATABASE base_b CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||||
|
EXIT;
|
||||||
|
```
|
||||||
|
`mysql -u root -p base_b < /home/usuario/base_b.sql`
|
||||||
|
Te pedirá la contraseña del usuario root de MySQL.
|
||||||
|
|
||||||
|
Si en Ubuntu tienes configurado MySQL para que root entre mediante autenticación del sistema y no mediante contraseña, puedes hacerlo así:
|
||||||
|
|
||||||
|
`sudo mysql base_b < /home/usuario/base_b.sql`
|
||||||
|
|
||||||
|
**Resturar archivo comprimido .sql.gz**
|
||||||
|
Comprobar si el backup tiene CREATE DATABASE:
|
||||||
|
opcion 1: zgrep -i "CREATE DATABASE" /home/usuario/base_b.sql.gz
|
||||||
|
opcion 2: zcat base_b_20260920.sql.gz | head -30
|
||||||
|
opcion 3: head -30 base_b.sql
|
||||||
|
|
||||||
|
Si no tiene sentencia CREATE DATABASE:
|
||||||
|
(no es necesario descomprimir primero usando zcat o gzip -dc)
|
||||||
|
```bash
|
||||||
|
sudo mysql -e "CREATE DATABASE base_b CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
||||||
|
|
||||||
|
zcat /home/usuario/base_b.sql.gz | sudo mysql base_b
|
||||||
|
```
|
||||||
|
|
||||||
|
comprobar que ha terminado
|
||||||
|
`echo $? #debe devolver 0`
|
||||||
|
Comprobar las tablas
|
||||||
|
opcion 1:
|
||||||
|
`sudo mysql -e "USE base_b; SHOW TABLES;"`
|
||||||
|
opcion 2:
|
||||||
|
```bash
|
||||||
|
sudo mysql
|
||||||
|
#Después:
|
||||||
|
USE base_b;
|
||||||
|
SHOW TABLES;
|
||||||
|
#Y para comprobar cuántas tablas hay:
|
||||||
|
SELECT COUNT(*) FROM information_schema.tables
|
||||||
|
WHERE table_schema = 'base_b';
|
||||||
|
```
|
||||||
|
Si el backup SI tiene sentencia CREATE DATABASE Y USE "base_b", directamente:
|
||||||
|
`zcat /home/usuario/base_b.sql.gz | sudo mysql base_b`
|
||||||
|
|
||||||
|
En resumen
|
||||||
|
| El dump contiene|Comando |
|
||||||
|
|-----------------|--------|
|
||||||
|
| CREATE DATABASE + USE base_b| zcat backup.sql.gz \| sudo mysql|
|
||||||
|
|No contiene CREATE DATABASE |Crear base_b primero y luego zcat backup.sql.gz \| sudo mysql base_b |
|
||||||
|
|
||||||
|
|
||||||
|
**Comandos desde consola mysql/mariadb**
|
||||||
|
|
||||||
|
| comando | accion |
|
||||||
|
|---------| :--------|
|
||||||
|
| show databases; | Mostrar bases de datos |
|
||||||
|
| use database_name;| Seleccionar base de datos|
|
||||||
|
| drop database database_name| Borrar base de datos|
|
||||||
|
| create database database_name| Crear base de datos|
|
||||||
|
| DROP USER 'juan'@'localhost'; | Borrar usuario|
|
||||||
|
| DROP USER 'juan'@'%'; | Si el usuario se conecta desde cualquier host (%):|
|
||||||
|
| SELECT user, host FROM mysql.user;| Ver usuarios|
|
||||||
|
|
||||||
./mysqldump -u root -p nombre\_base\_datos > backup.sql
|
**Modificar tablas a InnoDb**
|
||||||
|
|
||||||
./mysqldump -u root -p --all-databases > all\_databases\_backup.sql
|
```bash
|
||||||
|
SELECT CONCAT('ALTER TABLE ', table_name, ' ENGINE=InnoDB;')
|
||||||
mysqldump -h localhost -u root -p --port=3307 mi\_base > backup.sql Para establecer puerto 3307
|
FROM information_schema.tables
|
||||||
|
WHERE table_schema = 'nombre_base_datos' AND engine = 'MyISAM';
|
||||||
Restaurar un backup mysql/mariadb
|
|
||||||
|
|
||||||
Terminal del sistema operativo
|
|
||||||
|
|
||||||
mysql -u root -p nombre\_base\_datos < backup.sql
|
|
||||||
|
|
||||||
mysql -h localhost -u usuario -p --port=3307 nombre\_base < backup.sql Estableciendo puerto
|
|
||||||
|
|
||||||
Consola mysql/mariadb
|
|
||||||
|
|
||||||
show databases; Mostrar bases de datos
|
|
||||||
|
|
||||||
use database\_name; Seleccionar base de datos
|
|
||||||
|
|
||||||
drop database database\_name Borrar base de datos
|
|
||||||
|
|
||||||
create database database\_name Crear base de datos
|
|
||||||
|
|
||||||
DROP USER 'juan'@'localhost'; Borrar usuario
|
|
||||||
|
|
||||||
DROP USER 'juan'@'%'; Si el usuario se conecta desde cualquier host (%):
|
|
||||||
|
|
||||||
SELECT user, host FROM mysql.user; Ver usuarios
|
|
||||||
|
|
||||||
|
|
||||||
Modificar tablas a InnoDb
|
|
||||||
|
|
||||||
SELECT CONCAT('ALTER TABLE ', table\_name, ' ENGINE=InnoDB;')
|
|
||||||
|
|
||||||
FROM information\_schema.tables
|
|
||||||
|
|
||||||
WHERE table\_schema = 'nombre\_base\_datos' AND engine = 'MyISAM';
|
|
||||||
|
|
||||||
Luego ejecutas las sentencias generadas.
|
|
||||||
|
|
||||||
|
#Luego ejecutas las sentencias generadas.
|
||||||
ALTER TABLE tabasunto ENGINE=InnoDB;
|
ALTER TABLE tabasunto ENGINE=InnoDB;
|
||||||
|
|
||||||
ALTER TABLE tabmodus ENGINE=InnoDB;
|
ALTER TABLE tabmodus ENGINE=InnoDB;
|
||||||
|
|
||||||
ALTER TABLE tabobjetos ENGINE=InnoDB;
|
ALTER TABLE tabobjetos ENGINE=InnoDB;
|
||||||
|
|
||||||
ALTER TABLE taboficios ENGINE=InnoDB;
|
ALTER TABLE taboficios ENGINE=InnoDB;
|
||||||
|
|
||||||
ALTER TABLE tabdetenpol ENGINE=InnoDB;
|
ALTER TABLE tabdetenpol ENGINE=InnoDB;
|
||||||
|
|
||||||
ALTER TABLE tabusers ENGINE=InnoDB;
|
ALTER TABLE tabusers ENGINE=InnoDB;
|
||||||
|
|
||||||
ALTER TABLE tabregistro ENGINE=InnoDB;
|
ALTER TABLE tabregistro ENGINE=InnoDB;
|
||||||
|
```
|
||||||
|
|
||||||
|
**Usar mysqldump en linux con Xampp**
|
||||||
|
|
||||||
Usar mysqldump en linux con Xampp
|
/opt/lampp/bin/mysqldump -u [usuario] -p [nombre_base_de_datos] > [archivo_salida.sql]
|
||||||
|
|
||||||
/opt/lampp/bin/mysqldump -u [usuario] -p [nombre\_base\_de\_datos] > [archivo\_salida.sql]
|
gzip ~/copia_seguridad_mi_basedatos.sql Comprimir la copia de seguridad
|
||||||
|
|
||||||
gzip ~/copia\_seguridad\_mi\_basedatos.sql Comprimir la copia de seguridad
|
|
||||||
|
|
||||||
export PATH=/opt/lampp/bin:$PATH Activar mysqldump en el PATH
|
export PATH=/opt/lampp/bin:$PATH Activar mysqldump en el PATH
|
||||||
|
|
||||||
mysqldump -u root -p mi\_basedatos > ~/copia\_seguridad.sql
|
mysqldump -u root -p mi_basedatos > ~/copia_seguridad.sql
|
||||||
|
|
||||||
PhpMyAdmin
|
**PhpMyAdmin**
|
||||||
|
Aumentar liminte de carga. Editar php.ini (/etc/php/ c:xamppphp)
|
||||||
Aumentar liminte de carga. Editar php.ini (/etc/php/ c:\xampp\php)
|
|
||||||
|
|
||||||
modificar los valores:
|
modificar los valores:
|
||||||
|
upload_max_filesize = 2000M
|
||||||
upload\_max\_filesize = 2000M
|
post_max_size = 2000M
|
||||||
|
max_execution_time = 300
|
||||||
post\_max\_size = 2000M
|
max_input_time = 300
|
||||||
|
|
||||||
max\_execution\_time = 300
|
|
||||||
|
|
||||||
max\_input\_time = 300
|
|
||||||
|
|
||||||
Reiniciar apache
|
Reiniciar apache
|
||||||
|
|
||||||
sudo systemctl restart apache2 Linux
|
sudo systemctl restart apache2 Linux
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
Poner en mayusculas / minusculas
|
Poner en mayusculas / minusculas
|
||||||
|
|
||||||
UPDATE productos SET categoria = UPPER(categoria); (actualizar)
|
UPDATE productos SET categoria = UPPER(categoria);
|
||||||
|
SELECT id, UPPER(nombre) AS nombre_mayusculas FROM categorias; (solo visualizar)
|
||||||
SELECT id, UPPER(nombre) AS nombre\_mayusculas FROM categorias; (solo visualizar)
|
|
||||||
|
|
||||||
UPDATE tabla SET columna = LOWER(columna);
|
UPDATE tabla SET columna = LOWER(columna);
|
||||||
|
|
||||||
@@ -111,7 +143,7 @@ UPPER(SUBSTRING(columna, 1, 1)), -- Primera letra en mayúscula
|
|||||||
|
|
||||||
LOWER(SUBSTRING(columna, 2)) -- Resto en minúsculas
|
LOWER(SUBSTRING(columna, 2)) -- Resto en minúsculas
|
||||||
|
|
||||||
SELECT nombre, CONCAT(UPPER(SUBSTRING(nombre, 1, 1)), LOWER(SUBSTRING(nombre, 2))) AS nombre\_formateado
|
SELECT nombre, CONCAT(UPPER(SUBSTRING(nombre, 1, 1)), LOWER(SUBSTRING(nombre, 2))) AS nombre_formateado
|
||||||
|
|
||||||
FROM categorias; (solo visualizacion select)
|
FROM categorias; (solo visualizacion select)
|
||||||
|
|
||||||
@@ -128,34 +160,33 @@ Guardar datos de una tabla a otra en diferente base de datos.
|
|||||||
|
|
||||||
INSERT INTO db1.tabla (rut, apellido, nombre, sexo) SELECT rut, apellido, nombre, sexo FROM dbo2.tabla;
|
INSERT INTO db1.tabla (rut, apellido, nombre, sexo) SELECT rut, apellido, nombre, sexo FROM dbo2.tabla;
|
||||||
|
|
||||||
Insert into db1.tabla select \* from db2.tabla; (ambas tablas tienen que tener la misma estructura).
|
Insert into db1.tabla select * from db2.tabla; (ambas tablas tienen que tener la misma estructura).
|
||||||
|
|
||||||
Actualizar datos tabla
|
Actualizar datos tabla
|
||||||
|
|
||||||
UPDATE tabla\_nombre SET column1 = value1, column2 = value2 … WHERE condicion;
|
UPDATE tabla_nombre SET column1 = value1, column2 = value2 … WHERE condicion;
|
||||||
|
|
||||||
UPDATE tabla\_nombre SET column1 = value1, column2 = value2 … WHERE condicion LIKE ‘%hola%’;
|
UPDATE tabla_nombre SET column1 = value1, column2 = value2 … WHERE condicion LIKE ‘%hola%’;
|
||||||
|
|
||||||
Insertar datos en campo/s desde otra tabla
|
Insertar datos en campo/s desde otra tabla
|
||||||
|
|
||||||
INSERT INTO tabDestino (column1, column2) SELECT columnX, columnY FROM tabOrigen;
|
INSERT INTO tabDestino (column1, column2) SELECT columnX, columnY FROM tabOrigen;
|
||||||
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
|
|
||||||
SELECT \* FROM tabregistro WHERE registro NOT LIKE '%/%' AND fechaent BETWEEN '2020-01-01' and '2020-12-31'
|
SELECT * FROM tabregistro WHERE registro NOT LIKE '%/%' AND fechaent BETWEEN '2020-01-01' and '2020-12-31'
|
||||||
|
|
||||||
SELECT \* FROM tabregistro WHERE fechaent BETWEEN '2020-01-01' AND '2020-12-31'
|
SELECT * FROM tabregistro WHERE fechaent BETWEEN '2020-01-01' AND '2020-12-31'
|
||||||
|
|
||||||
UPDATE
|
UPDATE
|
||||||
|
|
||||||
UPDATE oeste\_oficios SET grupo = 'oeste';
|
UPDATE oeste_oficios SET grupo = 'oeste';
|
||||||
|
|
||||||
UPDATE tabregistro SET procedencia = 'ODAC Central' WHERE procedencia = 'I.C.G.'; UPDATE centro\_detenpol SET padres = CONCAT (padre,' - ',madre);
|
UPDATE tabregistro SET procedencia = 'ODAC Central' WHERE procedencia = 'I.C.G.'; UPDATE centro_detenpol SET padres = CONCAT (padre,' - ',madre);
|
||||||
|
|
||||||
UPDATE centro\_detenpol SET nacFecha = CONCAT (año,mes,dia);
|
UPDATE centro_detenpol SET nacFecha = CONCAT (año,mes,dia);
|
||||||
|
|
||||||
UPDATE centro\_registro SET grupo = 'centro';
|
UPDATE centro_registro SET grupo = 'centro';
|
||||||
|
|
||||||
ACTUALIZAR O MODIFICAR LOS ID
|
ACTUALIZAR O MODIFICAR LOS ID
|
||||||
|
|
||||||
@@ -163,19 +194,19 @@ SET @COUNT = 200000;
|
|||||||
|
|
||||||
UPDATE tabregistro SET tabregistro.id = @count:= @count + 1;
|
UPDATE tabregistro SET tabregistro.id = @count:= @count + 1;
|
||||||
|
|
||||||
ALTER TABLE tabregistro AUTO\_INCREMENT=1
|
ALTER TABLE tabregistro AUTO_INCREMENT=1
|
||||||
|
|
||||||
ACTUALIZAR SQLITE AÑADIENDO EL AÑO SQLITE
|
ACTUALIZAR SQLITE AÑADIENDO EL AÑO SQLITE
|
||||||
|
|
||||||
UPDATE tab\_detenidos set atestado = atestado || '/' ||
|
UPDATE tab_detenidos set atestado = atestado || '/' ||
|
||||||
|
|
||||||
SUBSTR(CAST(strftime('%Y',fecha\_hora) AS TEXT), 3, 2)
|
SUBSTR(CAST(strftime('%Y',fecha_hora) AS TEXT), 3, 2)
|
||||||
|
|
||||||
WHERE atestado NOT LIKE '%/' || SUBSTR(CAST(STRFTIME('%Y', fecha\_hora) AS TEXT), 3, 2);
|
WHERE atestado NOT LIKE '%/' || SUBSTR(CAST(STRFTIME('%Y', fecha_hora) AS TEXT), 3, 2);
|
||||||
|
|
||||||
QUITAR EL AÑO
|
QUITAR EL AÑO
|
||||||
|
|
||||||
UPDATE tab\_detenidos2 SET atestado = SUBSTR(atestado, 1, LENGTH(atestado) -3) WHERE atestado LIKE "%/%"
|
UPDATE tab_detenidos2 SET atestado = SUBSTR(atestado, 1, LENGTH(atestado) -3) WHERE atestado LIKE "%/%"
|
||||||
|
|
||||||
CONCAT
|
CONCAT
|
||||||
|
|
||||||
@@ -183,15 +214,15 @@ UPDATE tabregistro SET juzgado=CONCAT(tipoDoc,' ',operacion) where id='1'
|
|||||||
|
|
||||||
En sqlite en lugar de CONCATE se utiliza ||
|
En sqlite en lugar de CONCATE se utiliza ||
|
||||||
|
|
||||||
UPDATE funcionarios\_agp SET nombre\_comp = (NOMBRE || ' ' || APELLIDOS) where dni='11111111'
|
UPDATE funcionarios_agp SET nombre_comp = (NOMBRE || ' ' || APELLIDOS) where dni='11111111'
|
||||||
|
|
||||||
CONTAR NUMERO DE FILAS DE UNA TABLA
|
CONTAR NUMERO DE FILAS DE UNA TABLA
|
||||||
|
|
||||||
SELECT COUNT(\*) FROM contactos;
|
SELECT COUNT(*) FROM contactos;
|
||||||
|
|
||||||
DUPLICAR TABLA
|
DUPLICAR TABLA
|
||||||
|
|
||||||
CREATE TABLE tabla\_nueva LIKE tabla\_original;
|
CREATE TABLE tabla_nueva LIKE tabla_original;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -199,52 +230,52 @@ CREATE TABLE tabla\_nueva LIKE tabla\_original;
|
|||||||
|
|
||||||
INSERTAR DATOS DE UNA TABLA A OTRA
|
INSERTAR DATOS DE UNA TABLA A OTRA
|
||||||
|
|
||||||
INSERT INTO tabla\_nueva SELECT \* FROM tabla\_original;
|
INSERT INTO tabla_nueva SELECT * FROM tabla_original;
|
||||||
|
|
||||||
|
|
||||||
DUPLICAR TABLA Y INSERTAR TODOS LOS REGISTROS
|
DUPLICAR TABLA Y INSERTAR TODOS LOS REGISTROS
|
||||||
|
|
||||||
CREATE TABLE tabla\_nueva SELECT \* FROM tabla\_original;
|
CREATE TABLE tabla_nueva SELECT * FROM tabla_original;
|
||||||
|
|
||||||
Para sqlite:
|
Para sqlite:
|
||||||
|
|
||||||
CREATE TABLE nueva\_tabla AS SELECT \* FROM tabla\_original
|
CREATE TABLE nueva_tabla AS SELECT * FROM tabla_original
|
||||||
|
|
||||||
|
|
||||||
VER REGISTROS DUPLICADOS
|
VER REGISTROS DUPLICADOS
|
||||||
|
|
||||||
SELECT telefono FROM clientes GROUP BY telefono HAVING COUNT(\*)>1;
|
SELECT telefono FROM clientes GROUP BY telefono HAVING COUNT(*)>1;
|
||||||
|
|
||||||
VER REGISTROS DUPLICADOS (CUENTA DE DUPLICADOS)
|
VER REGISTROS DUPLICADOS (CUENTA DE DUPLICADOS)
|
||||||
|
|
||||||
SELECT telefono, count(\*) FROM usuarios GROUP BY telefono HAVING COUNT(\*)>1;
|
SELECT telefono, count(*) FROM usuarios GROUP BY telefono HAVING COUNT(*)>1;
|
||||||
|
|
||||||
BORRAR REGISTROS DUPLICADOS (TODOS)
|
BORRAR REGISTROS DUPLICADOS (TODOS)
|
||||||
|
|
||||||
DELETE FROM clientes WHERE telefono IN (SELECT telefono FROM clientes GROUP BY telefono HAVING COUNT(\*)>1)
|
DELETE FROM clientes WHERE telefono IN (SELECT telefono FROM clientes GROUP BY telefono HAVING COUNT(*)>1)
|
||||||
|
|
||||||
BORRAR REGISTROS DUPLICADOS (DEJANDO UNO) repetir varias veces ya que eliminar uno de los duplicados por cada consulta ejecutada.
|
BORRAR REGISTROS DUPLICADOS (DEJANDO UNO) repetir varias veces ya que eliminar uno de los duplicados por cada consulta ejecutada.
|
||||||
|
|
||||||
DELETE FROM contactos1 WHERE id IN (SELECT \* FROM (SELECT id FROM contactos1 GROUP BY nombre HAVING (COUNT(\*) > 1)) AS A);
|
DELETE FROM contactos1 WHERE id IN (SELECT * FROM (SELECT id FROM contactos1 GROUP BY nombre HAVING (COUNT(*) > 1)) AS A);
|
||||||
|
|
||||||
BORRAR REGISTROS DUPLICADOS CREANDO TABLA TEMPORAL
|
BORRAR REGISTROS DUPLICADOS CREANDO TABLA TEMPORAL
|
||||||
|
|
||||||
CREATE TABLE TableA\_Verify AS SELECT DISTINCT \* FROM TableA;
|
CREATE TABLE TableA_Verify AS SELECT DISTINCT * FROM TableA;
|
||||||
|
|
||||||
DELETE FROM TableA;
|
DELETE FROM TableA;
|
||||||
|
|
||||||
INSERT INTO TableA SELECT \* FROM TableA\_Verify;
|
INSERT INTO TableA SELECT * FROM TableA_Verify;
|
||||||
|
|
||||||
DROP TABLE TableA\_Verify;
|
DROP TABLE TableA_Verify;
|
||||||
|
|
||||||
|
|
||||||
BUSCAR LOS QUE ESTAN REPETIDOS
|
BUSCAR LOS QUE ESTAN REPETIDOS
|
||||||
|
|
||||||
SELECT nie, count(\*) FROM identidades
|
SELECT nie, count(*) FROM identidades
|
||||||
|
|
||||||
GROUP BY nie
|
GROUP BY nie
|
||||||
|
|
||||||
HAVING COUNT(\*)>1;
|
HAVING COUNT(*)>1;
|
||||||
|
|
||||||
BORRAR REGISTROS REPETIDOS Y DEJAR SOLO UNO. SE ESCRIBE TODO SEGUIDO EN LA CONSULTA FUNCIONA COMPROBADO. OK
|
BORRAR REGISTROS REPETIDOS Y DEJAR SOLO UNO. SE ESCRIBE TODO SEGUIDO EN LA CONSULTA FUNCIONA COMPROBADO. OK
|
||||||
|
|
||||||
@@ -254,7 +285,7 @@ SELECT MIN(id) as id, nie FROM identidades
|
|||||||
|
|
||||||
GROUP BY nie
|
GROUP BY nie
|
||||||
|
|
||||||
HAVING COUNT(\*)>1
|
HAVING COUNT(*)>1
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -273,23 +304,23 @@ SELECT id FROM repetidos
|
|||||||
|
|
||||||
SQLITE
|
SQLITE
|
||||||
|
|
||||||
SELECT atestado, delito, count(\*) FROM tab\_detenidos2
|
SELECT atestado, delito, count(*) FROM tab_detenidos2
|
||||||
|
|
||||||
GROUP BY atestado
|
GROUP BY atestado
|
||||||
|
|
||||||
HAVING COUNT(\*)>1;
|
HAVING COUNT(*)>1;
|
||||||
|
|
||||||
WITH repetidos AS (
|
WITH repetidos AS (
|
||||||
|
|
||||||
SELECT MIN(id) as id, atestado FROM tab\_detenidos2
|
SELECT MIN(id) as id, atestado FROM tab_detenidos2
|
||||||
|
|
||||||
GROUP BY atestado
|
GROUP BY atestado
|
||||||
|
|
||||||
HAVING COUNT(\*)>1
|
HAVING COUNT(*)>1
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
DELETE FROM tab\_detenidos2
|
DELETE FROM tab_detenidos2
|
||||||
|
|
||||||
WHERE id not IN (
|
WHERE id not IN (
|
||||||
|
|
||||||
@@ -305,57 +336,57 @@ SELECT id FROM repetidos
|
|||||||
|
|
||||||
DATOS REPETIDOS
|
DATOS REPETIDOS
|
||||||
|
|
||||||
SELECT u.\* FROM usuarios u WHERE telefono IN
|
SELECT u.* FROM usuarios u WHERE telefono IN
|
||||||
|
|
||||||
` `( SELECT telefono FROM usuarios GROUP BY telefono HAVING COUNT(\*)>1 );
|
` `( SELECT telefono FROM usuarios GROUP BY telefono HAVING COUNT(*)>1 );
|
||||||
|
|
||||||
BUSCAR DUPLICADOS
|
BUSCAR DUPLICADOS
|
||||||
|
|
||||||
SE LISTAN TODAS LAS IDENTIDADES QUE ESTAN REPETIDAS
|
SE LISTAN TODAS LAS IDENTIDADES QUE ESTAN REPETIDAS
|
||||||
|
|
||||||
SELECT tabla\_empleados.\* FROM tabla\_empleados
|
SELECT tabla_empleados.* FROM tabla_empleados
|
||||||
|
|
||||||
WHERE identidad IN (
|
WHERE identidad IN (
|
||||||
|
|
||||||
SELECT identidad FROM tabla\_empleados
|
SELECT identidad FROM tabla_empleados
|
||||||
|
|
||||||
GROUP BY identidad
|
GROUP BY identidad
|
||||||
|
|
||||||
HAVING COUNT(\*)>1
|
HAVING COUNT(*)>1
|
||||||
|
|
||||||
) order by identidad DESC
|
) order by identidad DESC
|
||||||
|
|
||||||
|
|
||||||
NUMERO DE VECES QUE SE REPITE UNA IDENTIDAD
|
NUMERO DE VECES QUE SE REPITE UNA IDENTIDAD
|
||||||
|
|
||||||
SELECT identidad, count(\*) FROM tabla\_empleados
|
SELECT identidad, count(*) FROM tabla_empleados
|
||||||
|
|
||||||
GROUP BY identidad
|
GROUP BY identidad
|
||||||
|
|
||||||
HAVING COUNT(\*)>1;
|
HAVING COUNT(*)>1;
|
||||||
|
|
||||||
|
|
||||||
SUMAR VALORES COLUMNAS (SUM)
|
SUMAR VALORES COLUMNAS (SUM)
|
||||||
|
|
||||||
SELECT SUM (column\_name) FROM table\_name WHERE condition;
|
SELECT SUM (column_name) FROM table_name WHERE condition;
|
||||||
|
|
||||||
SELECT SUM (cantidad) as total FROM ventas;
|
SELECT SUM (cantidad) as total FROM ventas;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ELIMINAR SALTO DE LINEA con \n por <br>
|
ELIMINAR SALTO DE LINEA con n por <br>
|
||||||
|
|
||||||
UPDATE table SET gestiones = REPLACE(gestiones, '\n','<br>') WHERE id = '8072';
|
UPDATE table SET gestiones = REPLACE(gestiones, 'n','<br>') WHERE id = '8072';
|
||||||
|
|
||||||
REPLACE
|
REPLACE
|
||||||
|
|
||||||
REPLACE(str, find\_string, replace\_with)
|
REPLACE(str, find_string, replace_with)
|
||||||
|
|
||||||
SELECT REPLACE(country,'K','SA') FROM publisher WHERE country='UK';
|
SELECT REPLACE(country,'K','SA') FROM publisher WHERE country='UK';
|
||||||
|
|
||||||
UPDATE tabregistro SET registro = REPLACE(registro, '/2020','/20');
|
UPDATE tabregistro SET registro = REPLACE(registro, '/2020','/20');
|
||||||
|
|
||||||
CREATE TABLE inves.ciber SELECT \* FROM ciber.principal;
|
CREATE TABLE inves.ciber SELECT * FROM ciber.principal;
|
||||||
|
|
||||||
UPDATE ciber SET asunto1=CONCAT(asunto,' ',tipohecho)
|
UPDATE ciber SET asunto1=CONCAT(asunto,' ',tipohecho)
|
||||||
|
|
||||||
@@ -371,23 +402,23 @@ Detenpol pasar año de fecha nacimiento a varchar antes de concatenar en fecha n
|
|||||||
|
|
||||||
INSERTAR DATOS DE UNA TABLA A OTRA
|
INSERTAR DATOS DE UNA TABLA A OTRA
|
||||||
|
|
||||||
INSERT INTO inves.tabdetenpol SELECT \* FROM bdcentro.centro\_detenpol;
|
INSERT INTO inves.tabdetenpol SELECT * FROM bdcentro.centro_detenpol;
|
||||||
|
|
||||||
INSERT INTO inves.taboficios SELECT \* FROM bdcentro.centro\_oficios;
|
INSERT INTO inves.taboficios SELECT * FROM bdcentro.centro_oficios;
|
||||||
|
|
||||||
INSERT INTO inves.tabobjetos SELECT \* FROM bdcentro.centro\_objetos;
|
INSERT INTO inves.tabobjetos SELECT * FROM bdcentro.centro_objetos;
|
||||||
|
|
||||||
INSERT INTO inves.tabregistro SELECT \* FROM bdcentro.centro\_registro;
|
INSERT INTO inves.tabregistro SELECT * FROM bdcentro.centro_registro;
|
||||||
|
|
||||||
UPDATE tabregistro SET registro = CONCAT(registro,'/20') where id = '6976'
|
UPDATE tabregistro SET registro = CONCAT(registro,'/20') where id = '6976'
|
||||||
|
|
||||||
INSERT INTO tabregistro SELECT \* FROM ciber;
|
INSERT INTO tabregistro SELECT * FROM ciber;
|
||||||
|
|
||||||
INSERT INTO tabregistro SELECT \* FROM oeste\_registro;
|
INSERT INTO tabregistro SELECT * FROM oeste_registro;
|
||||||
|
|
||||||
iNSERT INTO tabdetenpol SELECT \* FROM ufam\_detenpol;
|
iNSERT INTO tabdetenpol SELECT * FROM ufam_detenpol;
|
||||||
|
|
||||||
update ufam\_oficios set grupo = 'ufam';
|
update ufam_oficios set grupo = 'ufam';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -395,14 +426,14 @@ SQLITE COPIAR TABLA DE UNA BD A OTRA BD
|
|||||||
|
|
||||||
1. Archivo / Anexar base de datos
|
1. Archivo / Anexar base de datos
|
||||||
|
|
||||||
Tambien se puede hacer con ATTACH DATABASE 'ruta\_a\_la\_base\_de\_datos\_origen.sqlite' AS origen
|
Tambien se puede hacer con ATTACH DATABASE 'ruta_a_la_base_de_datos_origen.sqlite' AS origen
|
||||||
|
|
||||||
1. CREATE TABLE tab\_desempeño AS SELECT \* FROM data.tab\_desempeño
|
1. CREATE TABLE tab_desempeño AS SELECT * FROM data.tab_desempeño
|
||||||
|
|
||||||
|
|
||||||
ACTUALIZAR TELEFONOS
|
ACTUALIZAR TELEFONOS
|
||||||
|
|
||||||
\## MySQL ###
|
## MySQL ###
|
||||||
|
|
||||||
UPDATE tabcontactos
|
UPDATE tabcontactos
|
||||||
|
|
||||||
@@ -418,7 +449,7 @@ SUBSTRING(telefono1, 7, 3)
|
|||||||
|
|
||||||
WHERE LENGTH(telefono1) = 9;
|
WHERE LENGTH(telefono1) = 9;
|
||||||
|
|
||||||
\## SQLITE ##
|
## SQLITE ##
|
||||||
|
|
||||||
UPDATE tabcontactos
|
UPDATE tabcontactos
|
||||||
|
|
||||||
@@ -437,7 +468,7 @@ Posicionarnos en la ruta donde se encuentra el servidor mySQL en XAMPP:
|
|||||||
|
|
||||||
Dentro de esta ruta tecleamos la orden:
|
Dentro de esta ruta tecleamos la orden:
|
||||||
|
|
||||||
./mysql -u root -p base\_de\_datos (se abre terminal mysql en la base seleccionada)
|
./mysql -u root -p base_de_datos (se abre terminal mysql en la base seleccionada)
|
||||||
|
|
||||||
source /home/jesus/backup.sql
|
source /home/jesus/backup.sql
|
||||||
|
|
||||||
@@ -456,7 +487,7 @@ p.precio,
|
|||||||
|
|
||||||
m.cantidad,
|
m.cantidad,
|
||||||
|
|
||||||
(p.precio \* m.cantidad) AS precio\_total
|
(p.precio * m.cantidad) AS precio_total
|
||||||
|
|
||||||
FROM
|
FROM
|
||||||
|
|
||||||
@@ -464,13 +495,13 @@ productos p
|
|||||||
|
|
||||||
JOIN
|
JOIN
|
||||||
|
|
||||||
movimientos m ON p.id = m.producto\_id;
|
movimientos m ON p.id = m.producto_id;
|
||||||
|
|
||||||
PRECIO TOTAL DE TODAS LAS UNIDADES VENDIDAS
|
PRECIO TOTAL DE TODAS LAS UNIDADES VENDIDAS
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
|
|
||||||
SUM(a.precio \* v.unidades\_vendidas) AS precio\_total\_general
|
SUM(a.precio * v.unidades_vendidas) AS precio_total_general
|
||||||
|
|
||||||
FROM
|
FROM
|
||||||
|
|
||||||
@@ -488,9 +519,9 @@ SELECT
|
|||||||
1. articulo,
|
1. articulo,
|
||||||
1. precio,
|
1. precio,
|
||||||
|
|
||||||
SUM(v.unidades\_vendidas) AS unidades\_vendidas\_periodo,
|
SUM(v.unidades_vendidas) AS unidades_vendidas_periodo,
|
||||||
|
|
||||||
SUM(a.precio \* v.unidades\_vendidas) AS precio\_total\_periodo
|
SUM(a.precio * v.unidades_vendidas) AS precio_total_periodo
|
||||||
|
|
||||||
FROM
|
FROM
|
||||||
|
|
||||||
@@ -502,7 +533,7 @@ ventas v ON a.articulo = v.articulo
|
|||||||
|
|
||||||
WHERE
|
WHERE
|
||||||
|
|
||||||
v.fecha\_venta BETWEEN '2023-01-01' AND '2023-12-31'
|
v.fecha_venta BETWEEN '2023-01-01' AND '2023-12-31'
|
||||||
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
|
|
||||||
@@ -513,7 +544,7 @@ TOTAL GENERAL FILTRAR ENTRE FECHAS
|
|||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
|
|
||||||
SUM(a.precio \* v.unidades\_vendidas) AS precio\_total\_periodo
|
SUM(a.precio * v.unidades_vendidas) AS precio_total_periodo
|
||||||
|
|
||||||
FROM
|
FROM
|
||||||
|
|
||||||
@@ -525,27 +556,27 @@ ventas v ON a.articulo = v.articulo
|
|||||||
|
|
||||||
WHERE
|
WHERE
|
||||||
|
|
||||||
v.fecha\_venta BETWEEN '2023-01-01' AND '2023-12-31';
|
v.fecha_venta BETWEEN '2023-01-01' AND '2023-12-31';
|
||||||
|
|
||||||
\---------------------------
|
---------------------------
|
||||||
|
|
||||||
CONSULTA BASE\_D
|
CONSULTA BASE_D
|
||||||
|
|
||||||
SELECT grupo, COUNT(\*) FROM `tabregistro` WHERE grupo = 'centro' AND fechaEnt BETWEEN '2025-01-01' AND '2025-09-25';
|
SELECT grupo, COUNT(*) FROM `tabregistro` WHERE grupo = 'centro' AND fechaEnt BETWEEN '2025-01-01' AND '2025-09-25';
|
||||||
|
|
||||||
SELECT grupo, COUNT(\*) FROM `tabregistro` WHERE grupo = 'norte' AND fechaEnt BETWEEN '2025-01-01' AND '2025-09-25';
|
SELECT grupo, COUNT(*) FROM `tabregistro` WHERE grupo = 'norte' AND fechaEnt BETWEEN '2025-01-01' AND '2025-09-25';
|
||||||
|
|
||||||
SELECT grupo, COUNT(\*) FROM `tabregistro` WHERE grupo = 'este' AND fechaEnt BETWEEN '2025-01-01' AND '2025-09-25';
|
SELECT grupo, COUNT(*) FROM `tabregistro` WHERE grupo = 'este' AND fechaEnt BETWEEN '2025-01-01' AND '2025-09-25';
|
||||||
|
|
||||||
SELECT grupo, COUNT(\*) FROM `tabregistro` WHERE grupo = 'oeste' AND fechaEnt BETWEEN '2025-01-01' AND '2025-09-25';
|
SELECT grupo, COUNT(*) FROM `tabregistro` WHERE grupo = 'oeste' AND fechaEnt BETWEEN '2025-01-01' AND '2025-09-25';
|
||||||
|
|
||||||
SELECT grupo, COUNT(\*) FROM taboficios WHERE grupo = 'centro' AND fecha BETWEEN '2025-01-01' AND '2025-09-25';
|
SELECT grupo, COUNT(*) FROM taboficios WHERE grupo = 'centro' AND fecha BETWEEN '2025-01-01' AND '2025-09-25';
|
||||||
|
|
||||||
SELECT grupo, COUNT(\*) FROM taboficios WHERE grupo = 'norte' fecha BETWEEN '2025-01-01' AND '2025-09-25';
|
SELECT grupo, COUNT(*) FROM taboficios WHERE grupo = 'norte' fecha BETWEEN '2025-01-01' AND '2025-09-25';
|
||||||
|
|
||||||
SELECT grupo, COUNT(\*) FROM taboficios WHERE grupo = 'este' AND fecha BETWEEN '2025-01-01' AND '2025-09-25';
|
SELECT grupo, COUNT(*) FROM taboficios WHERE grupo = 'este' AND fecha BETWEEN '2025-01-01' AND '2025-09-25';
|
||||||
|
|
||||||
SELECT grupo, COUNT(\*) FROM taboficios WHERE grupo = 'oeste' AND fecha BETWEEN '2025-01-01' AND '2025-09-25';
|
SELECT grupo, COUNT(*) FROM taboficios WHERE grupo = 'oeste' AND fecha BETWEEN '2025-01-01' AND '2025-09-25';
|
||||||
|
|
||||||
CENTRO 4083 107
|
CENTRO 4083 107
|
||||||
|
|
||||||
@@ -555,6 +586,6 @@ ESTE 1828 207
|
|||||||
|
|
||||||
OESTE 6500 210
|
OESTE 6500 210
|
||||||
|
|
||||||
\-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+48
-49
@@ -1,81 +1,80 @@
|
|||||||
AYUDA WINDOWS
|
AYUDA WINDOWS
|
||||||
|
=============
|
||||||
\=============
|
|
||||||
|
|
||||||
|
|
||||||
INFORME ESTADO BATERIA
|
**INFORME ESTADO BATERIA**
|
||||||
|
|
||||||
powercfg /batteryreport /output C:\battery-report.html
|
powercfg /batteryreport /output C:\battery-report.html
|
||||||
|
|
||||||
|
|
||||||
CAMBIAR LETRA DE UNIDAD (por ejemplo USB) con PowerShell (administrador)
|
**CAMBIAR LETRA DE UNIDAD (por ejemplo USB) con PowerShell (administrador)**
|
||||||
|
```bash
|
||||||
Get-Partition
|
Get-Partition
|
||||||
|
|
||||||
Set-Partition -DriveLetter X -NewDriveLetter Y
|
Set-Partition -DriveLetter X -NewDriveLetter Y
|
||||||
|
```
|
||||||
|
|
||||||
|
**HABILITAR LA EJECUCION DE SCRIPTS PARA Powershell**
|
||||||
HABILITAR LA EJECUCION DE SCRIPTS PARA Powershell
|
|
||||||
|
|
||||||
Para corregir la restricción que trae por defecto PowerShell para ejecutar Script en Windows:
|
Para corregir la restricción que trae por defecto PowerShell para ejecutar Script en Windows:
|
||||||
|
|
||||||
Abre la consola PowerShell como administrador y comprueba el error escribiendo «Get-ExecutionPolicy». Si al hacer clic en Enter la consola te devuelve :
|
Abre la consola PowerShell como administrador y comprueba el error escribiendo:
|
||||||
|
`«Get-ExecutionPolicy»`
|
||||||
|
Si al hacer clic en Enter la consola te devuelve :
|
||||||
«Unrestricted», entonces tendrás que modificar la configuración
|
«Unrestricted», entonces tendrás que modificar la configuración
|
||||||
|
|
||||||
Escribe en la consola «Set-ExecutionPolicy Unrestricted» y a continuación contesta con un "S" o "Y", para indicar que quieres modificarla.
|
Escribe en la consola:
|
||||||
|
`«Set-ExecutionPolicy Unrestricted»`
|
||||||
|
y a continuación contesta con un "S" o "Y", para indicar que quieres modificarla.
|
||||||
|
|
||||||
|
|
||||||
VMWare PLAYER DISABLE SIDE-CHANNEL MITIGATIONS IN
|
**VMWare PLAYER DISABLE SIDE-CHANNEL MITIGATIONS IN**
|
||||||
|
|
||||||
find the VMX file (virtual machine configuration file). Open that file in Notepad.
|
find the VMX file (virtual machine configuration file). Open that file in Notepad.
|
||||||
|
|
||||||
Add the following line to the list of parameters: ulm.disableMitigations="TRUE".
|
Add the following line to the list of parameters: ulm.disableMitigations="TRUE".
|
||||||
|
|
||||||
Save changes and close Notepad.
|
Save changes and close Notepad.
|
||||||
|
|
||||||
|
**Comandos terminal**
|
||||||
|
|
||||||
|
| Comando | Acción |
|
||||||
|
|:------------ |:-----------------|
|
||||||
|
| shutdown /s| apagar equipo|
|
||||||
|
| shutdown /r | reiniciar|
|
||||||
|
| shutdown /h | hibernar|
|
||||||
|
| hostname| Nombre del equipo|
|
||||||
|
| wmic bios get serialnumber | Número serie equipo|
|
||||||
|
| cleanmgr| Limpiar disco en Windows 11|
|
||||||
|
| C:\Windows\System32\drivers\etc\hosts| Ruta hosts windows |
|
||||||
|
|
||||||
shutdown /s apagar equipo
|
---
|
||||||
|
|
||||||
shutdown /r reiniciar
|
**WSL (window subsistem for linux)**
|
||||||
|
|
||||||
shutdown /h hibernar
|
| Comando | Acción |
|
||||||
|
|:------------ |:-----------------|
|
||||||
hostname Nombre del equipo
|
| wsl --install | (instala ubuntu por defecto)|
|
||||||
|
| wsl --install -d Debian| Instalar una distribución específica|
|
||||||
wmic bios get serialnumber Número serie equipo
|
| wsl --list --online| Listar todas las distribuciones disponibles|
|
||||||
|
| wsl --list| listar distribuciones instaladas|
|
||||||
Limpieza de disco en Windows 11
|
| wsl --unregister Ubuntu| Eliminar distro (ejemplo Ubuntu) |
|
||||||
|
|
||||||
ejecutar cleanmgr
|
|
||||||
|
|
||||||
hosts windows
|
|
||||||
|
|
||||||
C:\Windows\System32\drivers\etc\hosts
|
|
||||||
|
|
||||||
WSL (window subsistem for linux)
|
|
||||||
|
|
||||||
wsl --install (instala ubuntu por defecto)
|
|
||||||
|
|
||||||
wsl --install -d Debian Instalar una distribución específica
|
|
||||||
|
|
||||||
wsl --list --online Listar todas las distribuciones disponibles:
|
|
||||||
|
|
||||||
Eliminar distribuciones instaladas
|
|
||||||
|
|
||||||
wsl --list
|
|
||||||
|
|
||||||
wsl --unregister Ubuntu Eliminar (ejemplo Ubuntu)
|
|
||||||
|
|
||||||
Eliminar WSL desde Configuración (Opcional)
|
Eliminar WSL desde Configuración (Opcional)
|
||||||
|
|
||||||
Configuración → Aplicaciones → Características opcionales → Más características de Windows
|
Configuración → Aplicaciones → Características opcionales → Más características de Windows
|
||||||
|
|
||||||
Desmarca:
|
Desmarca:
|
||||||
|
|
||||||
✔ Virtual Machine Platform
|
✔ Virtual Machine Platform
|
||||||
|
|
||||||
✔ Windows Subsystem for Linux
|
✔ Windows Subsystem for Linux
|
||||||
|
✔ Reinicia el PC.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**RUNAS**
|
||||||
|
|
||||||
Reinicia el PC.
|
El comando runas permite ejecutar programas con una cuenta de usuario distinta. La opción /savecred guarda la contraseña del usuario tras la primera autenticación, evitando pedirla en usos futuros. Muy útil para equipos en los que se necesita elevación de privilegios para una aplicación determinada sin que el usuario tenga que ser administrador.
|
||||||
|
|
||||||
|
Sintaxis como usuario local:
|
||||||
|
`runas /user:informatica /savecred "D:\DIRECTORIO\Programa.exe"`
|
||||||
|
|
||||||
|
Sintaxis en AD:
|
||||||
|
`runas /user:cnp\Usuario /savecred "D:\DIRECTORIO\Programa.exe"`
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user