Apuntes de mysql

Solo disponible en BuenasTareas
  • Páginas : 12 (2948 palabras )
  • Descarga(s) : 0
  • Publicado : 6 de abril de 2010
Leer documento completo
Vista previa del texto
¿Qué información hay?
Un primer paso antes de ver cómo borrar información es saber qué información tenemos almacenada.
Podemos saber las bases de datos que hay creadas en nuestro sistema con:
show databases;
Una vez que estamos trabajando con una base de datos concreta (con la orden "use"), podemos saber las tablas que contiene con:
show tables;
Y para una tabla concreta, podemos saber loscampos (columnas) que la forman con "show columns from":
show columns from personas;
Por ejemplo, esto daría como resultado:
+-----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| nombre | varchar(20) | YES | | NULL | |
| direccion | varchar(40) |YES | | NULL | |
| edad | decimal(3,0) | YES | | NULL | |
| codciudad | varchar(3) | YES | | NULL | |
+-----------+--------------+------+-----+---------+-------+

Borrar toda la base de datos

En alguna ocasión, como ahora que estamos practicando, nos puede interesar borrar toda la base de datos. La orden para conseguirlo es:
drop databaseejemplo2;
Si esta orden es parte de una secuencia larga de órdenes, que hemos cargado con la orden "source" (por ejemplo) y la base de datos no existe, obtendríamos un mensaje de error y se interrumpiría el proceso. Podemos evitarlo añadiendo "if exists", para que se borre la base de datos sólo si realmente existe:
drop database ejemplo2 if exists;
 

Borrar una tabla

Es más frecuente quecreemos alguna tabla de forma incorrecta. La solución razonable es corregir ese error, cambiando la estructura de la tabla, pero todavía no sabemos hacerlo. Al menos veremos cómo borrar una tabla. La orden es:
drop table personas;
Al igual que para las bases de datos, podemos hacer que la tabla se borre sólo cuando realmente existe:
drop table personas if exists;
 

Borrar datos de una tablaTambién podemos borrar los datos que cumplen una cierta condición. La orden es "delete from", y con "where" indicamos las condiciones que se deben cumplir, de forma similar a como hacíamos en la orden "select":
delete from personas where nombre = 'juan';
Esto borraría todas las personas llamadas "juan" que estén almacenadas en la tabla "personas".
Cuidado: si no se indica la parte de"where", no se borrarían los datos que cumplen una condición, sino TODOS los datos. Si es eso lo que se pretende, una forma más rápida de conseguirlo es usar:
truncate table personas;

Modificación de datos

Ya sabemos borrar datos, pero existe una operación más frecuente que esa (aunque también ligeramente más complicada): modificar los datos existentes. Con lo que sabíamos hasta ahora, podíamoshacer algo parecido: si un dato es incorrecto, podríamos borrarlo y volver a introducirlo, pero esto, obviamente, no es lo más razonable... debería existir alguna orden para cambiar los datos. Así es. El formato habitual para modificar datos de una tabla es "update tabla set campo=nuevoValor where condicion".
Por ejemplo, si hemos escrito "Alberto" en minúsculas ("alberto"), lo podríamos corregircon:
update personas set nombre = 'Alberto' where nombre = 'alberto';
Y si queremos corregir todas las edades para sumarles un año se haría con
update personas set edad = edad+1;
(al igual que habíamos visto para "select" y para "delete", si no indicamos la parte del "where", los cambios se aplicarán a todos los registros de la tabla).

Modificar la estructura de una tabla

Algo máscomplicado es modificar la estructura de una tabla: añadir campos, eliminarlos, cambiar su nombre o el tipo de datos. En general, para todo ello se usará la orden "alter table". Vamos a ver las posibilidades más habituales.
Para añadir un campo usaríamos "add":
alter table ciudades add habitantes decimal(7);
Si no se indica otra cosa, el nuevo campo se añade al final de la tabla. Si queremos que...
tracking img