(LOCATE('".$_REQUEST['desc']."', descUser) > 0)
Mostrando entradas con la etiqueta MySQL. Mostrar todas las entradas
Mostrando entradas con la etiqueta MySQL. Mostrar todas las entradas
MySQL: Obtener aquellos registros cuya fecha sea los últimos 3 días
select * from contents WHERE publication_date >= (CURDATE() - INTERVAL 3 DAY)
MySQL: AES_ENCRYPT y AES_DECRYPT
A la hora de insertar:
Y luego para obtener los datos desencriptados:
Para insertarlo desde una web en PHP:
INSERT INTO usuarios(email, tfno) VALUES (AES_ENCRYPT('uno@gmail.com','enunlugar'),AES_ENCRYPT('666777888','enunlugar'));
Y luego para obtener los datos desencriptados:
SELECT AES_DECRYPT(email,'enunlugar'), AES_DECRYPT(tfno,'enunlugar') FROM usuarios
Para insertarlo desde una web en PHP:
$sql = "INSERT INTO solicitud
SET nombre='$nombre',
email=AES_ENCRYPT('$email','enunlugar'),
telefono=AES_ENCRYPT('$telefono','enunlugar'),
fecha = NOW()";
$id_nueva_solicitud = $db->insertar($sql);
MySQL: Convertir un campo escrito en la BD con caracteres utf-8 a modo correcto
SELECT CAST(BINARY(nombre) AS CHAR CHARACTER SET utf8) AS nombre, password, nick, email, validado, pais.descripcion as nomPais, rol.descripcion as nomRole FROM usuario inner join pais on pais.id_pais = usuario.pais inner join rol on rol.id_rol = usuario.rol
MySQL: Ejemplo de Having (se usa con group by)
select id_art_youtube, count(id_art_youtube) as total, nom_art_youtube, nom_foto from hist_youtube
inner join art_youtube on art_youtube.id = hist_youtube.id_art_youtube
group by id_art_youtube having total > 4 order by total desc, nom_art_youtube
MySQL y SQLServer: Concatenar el valor de dos o más campos en un único campo
select concat(campo1,"<br><br>",campo2,"<br><br>",campo3) as resumen, campo4, campo5 from tabla
El resutado de la query:
resumen, campo4, campo5
MySQL y SQL Server: Saber cuando una tabla ha sido modificada por última vez
SELECT UPDATE_TIME FROM information_schema.tables
WHERE TABLE_SCHEMA = 'mibasededatos'
AND TABLE_NAME = 'pel_youtube'
MySQL: Ordenar por un campo que cumpla una condición específica
// Ordena primero los de Madrid capital y luego ordena por provincia, población
order by if (cp div 100 = 280,0,1), provincia, poblacion
// Ordenar Sevilla en order inverso al CP pero en el resto de provincias que siga igual
order by provincia, if (cp div 1000 = 41,1/cp,cp), poblacion
Backup de toda una base de datos con PHP (tanto para MySQL como para SQL Server)
SQL Server:
MySQL:
$log_backup_file = "C:\Backups\TestDB_Log_Backup.bak";
$sql = "BACKUP LOG TestDB TO DISK = '".$log_backup_file."'";
$stmt = sqlsrv_query($conn, $sql);
if($stmt === false)
{
die(print_r(sqlsrv_errors()));
}
else
{
echo "Transaction log backed up to $log_backup_file";
}
MySQL:
$backup_file = "EDC_".date("Ymd_His").".sql";
$commands = array(
"mysqldump --opt -h $host_name -u $user_name -p$password -v $database > $backup_file","bzip2 $backup_file"
);
// ejecución y salida de éxito o errores
foreach ( $commands as $command ) {
system($command,$output);
echo $output;
}
MySQL: Fechas
SELECT * FROM mitabla
WHERE fecha_creacion BETWEEN '2013-11-26 18:00:00' AND '2014-12-31 18:00:00' limit 0,200
// saca los últimos 30 días
select * from mitabla where fh_alta BETWEEN (date_sub(NOW(), INTERVAL 30 DAY)) AND NOW()
Funciones:
date_sub(..., ...);
date_add(..., ...);
-----------------------------------------------------------
select * from mitabla where fh_alta < NOW()
WHERE fecha_creacion BETWEEN '2013-11-26 18:00:00' AND '2014-12-31 18:00:00' limit 0,200
// saca los últimos 30 días
select * from mitabla where fh_alta BETWEEN (date_sub(NOW(), INTERVAL 30 DAY)) AND NOW()
Funciones:
date_sub(..., ...);
date_add(..., ...);
-----------------------------------------------------------
select * from mitabla where fh_alta < NOW()
Mysql: Insert múltiple con un select
insert into tabla(id_tabla, nom_tabla) select id_otra_tabla, ciudad from otra_tabla where id < 200
MySQL: Obtener todas las tablas que tengan un determinado campo
select table_name from information_schema.columns where column_name = 'nombre';
MySQL: Concatenar búsqueda
SELECT * FROM mitabla
where CONCAT(nombre, ' ',apellido1,' ', apellido2) LIKE '%Gil%' limit 5;
where CONCAT(nombre, ' ',apellido1,' ', apellido2) LIKE '%Gil%' limit 5;
BD: MySQL Filtrar por fechas
select id, post_content from wp_posts where YEAR(post_date) < 2007
Más información en:
http://www.rociobenages.es/blog/mysql-obtener-filas-mes-anterior-para-estadisticas/
Más información en:
http://www.rociobenages.es/blog/mysql-obtener-filas-mes-anterior-para-estadisticas/
Suscribirse a:
Entradas (Atom)
