Archivo de la categoría Bases de datos

Test rápidos de MySQL - Test 9

MySQL
Test 9

Este test es cortesía de Diego Madina.

Utilizando una distribución de MySQL 5.0 bastante reciente, vemos que…

CODE:
  1. mysql> SELECT 1.1E0, 2.2E0, 3.3E0;
  2. +-------+-------+-------+
  3. | 1.1E0 | 2.2E0 | 3.3E0 |
  4. +-------+-------+-------+
  5. |   1.1 |   2.2 |   3.3 |
  6. +-------+-------+-------+
  7. 1 row in set (0.00 sec)and…

CODE:
  1. mysql> select 1.1+2.2=3.3;
  2. +-------------+
  3. | 1.1+2.2=3.3 |
  4. +-------------+
  5. |           1 |
  6. +-------------+
  7. 1 row in set (0.00 sec)But…

CODE:
  1. mysql> select 1.1E0+2.2E0=3.3E0;
  2. +-------------------+
  3. | 1.1E0+2.2E0=3.3E0 |
  4. +-------------------+
  5. |                 0 |
  6. +-------------------+
  7. 1 row in set (0.00 sec)

¿ Por qué sucede esto ?

Pulsa para Mostrar/Ocultar la solución

Traducido con permiso expreso de Mysql Test Quiz 9 Original

Creado por Carsten H. Pedersen

Otros Test anteriores:

Simple Backup y Restore de Bases de datos MySQL

Para crear la copia con compresión:

mysqldump -uusuario -ppass BD | gzip -9 > copia.sql.gz

Para restaurar la copia comprimida:

gunzip < copia.sql.gz | mysql -uusuario -ppass BD

Para restaurar la copia comprimida si ya existe la BD:

mysqlimport -uusuario -ppass BD copia.sql

Test rápidos de MySQL - Test 8

MySQL
Test 8

En el Test 5, trabajamos con los siguientes CREATE TABLE e INSERT:

MySQL:
  1. CREATE TABLE test (
  2.   id VARCHAR(1) NOT NULL,
  3.   PRIMARY KEY  (id)
  4. );
  5. INSERT INTO test VALUES ('0'), ('1'), ('2'), ('a'), ('b');

Los INSERT funcionaban como deberian y el resultado es que obteniamos los registros ‘0′, ‘1′, ‘2′, ‘a’ y ‘b’.

Los INSERT … VALUES (…), (…), … multiregistro son perfectamente válidos en MySQL. Pero…

Pregunta 1: ¿ Esto es portable a otros Sistemas de Bases de Datos Relacionales, como Oracle, MS-SQL, DB2, Firebird, Postgresql, …?
Pregunta 2: ¿ Esta sintaxis es SQL estandard ?

Pulsa para Mostrar/Ocultar la solución

Traducido con permiso expreso de Mysql Test Quiz 8 Original

Creado por Carsten H. Pedersen

Otros Test anteriores:

Test rápidos de MySQL - Test 7

MySQL
Test 7

Supongamos la siguiente serie de comandos:

MySQL:
  1. CREATE TABLE pruebas (
  2.   key1 INT NOT NULL PRIMARY KEY,
  3.   key2 INT NOT NULL UNIQUE
  4. );
  5.  
  6. INSERT INTO pruebas VALUES (1,1), (2,2);

La tabla contiene ahora (1,1) y (2,2). Ahora hacemos

MySQL:
  1. REPLACE INTO pruebas VALUES (1,3);

Pregunta 1: La tabla contiene ahora (1,3) y (2,2). Explica por qué.

Ahora ejecutamos:

MySQL:
  1. REPLACE INTO pruebas VALUES (1,2);

Pregunta 2: La tabla ahora contiene una sóla columna (1,2). ¿ Por qué ?

Pregunta 3: ¿ Cual es el valor de "Rows affected" en tu cliente después de las dos consultas REPLACE ?

Pulsa para Mostrar/Ocultar la solución

Traducido con permiso expreso de Mysql Test Quiz 7 Original

Creado por Carsten H. Pedersen

Otros Test anteriores:

Test rápidos de MySQL - Test 6

MySQL
Test 6

La siguiente consulta es perfectamente válida y hace lo que se espera de ella:

MySQL:
  1. SELECT DATE(hora_creacion) AS DATE,
  2.        COUNT(*) AS numero_altas
  3. FROM altas
  4. GROUP BY fecha
  5. ORDER BY fecha;

En MySQL, podemos ahorrarnos parte de la consulta anterior, y conseguir exactamente el mismo set de resultados. ¿ Qué parte podemos omitir ?

Pulsa para Mostrar/Ocultar la solución

Traducido con permiso expreso de Mysql Test Quiz 6 Original

Creado por Carsten H. Pedersen

Otros Test anteriores: