Posts Tagged ‘SQL’

noviembre 23, 2010 1

Obtener información sobre bases de datos y tablas en MySQL

By in General

MySQL nos brinda una serie de consultas mediante las cuales podremos conocer cierta información, relacionada con nuestras bases de datos y/o tablas. Vamos a ver cuales son.

SHOW DATABASES;

Muestra una lista con las bases de datos de que disponemos. Desde la versión 5.0.2 se puede usar también SHOW SCHEMAS.

SELECT DATABASE();

Muestra la base de datos seleccionada. Si no hubiéramos seleccionado ninguna devuelve NULL.

SHOW TABLES;

Muestra un listado con las tablas de la base de datos en la que estamos.

DESCRIBE table;

Devuelve la estructura de la tabla indicada. Las campos que devuelve son:

  • Field
  • Type
  • Null
  • Key
  • Default
  • Extra
SHOW INDEX FROM table;

Muestra información sobre los índices de la tabla indicada.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: ,

junio 22, 2010 1

Insertar o actualizar registros en MySQL

By in General

En muchas ocasiones nos puede interesar insertar un registro o actualizarlo si este ya existe. Para hacer esto tenemos varias opciones, como por ejemplo estas dos:

Opción A:

  1. Comprobamos si el registro ya existe.
  2. Si no existe lo insertamos.
  3. Si existe lo actualizamos.

Opción B:

  1. Intentamos insertar el registro.
  2. Si se produce un error lo actualizamos.

Pero MySQL nos da una opción mucho más elegante para realizar esto. Se trata de utilizar la construcción ON DUPLICATE KEY UPDATE. Podemos ver la documentación de esta construcción en el manual de MySQL. Pero vamos a ver un par de ejemplos:

INSERT INTO tabla (a, b, c) VALUES (1, 2, 3)
ON DUPLICATE KEY UPDATE b=2, c=3

De esta forma si ya existe un registro con el valor del campo “a” igual a 1, suponiendo que el campo a sea la clave, se actualizarán los valores. ¿Y si tenemos varios registros? Entonces podemos usarlo de la forma siguiente:

INSERT INTO tabla (a, b, c) VALUES (1, 2, 3), (4, 5, 6)
ON DUPLICATE KEY UPDATE b=VALUES(b), c=VALUES(c)

De esta forma se cogerá los valores b=2 y c=3 para la clave a=1 y b=5 y c=6 para la clave a=4.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: ,