Entendido.

Este sitio utiliza cookies para analizar la navegación. Si continúa navegando se entiende que acepta su uso. Ver más detalles.";

Logo

Aprende Web

Crea y diseña tus sitios en la Web.

Manual de SQL

SQL es el lenguaje para trabajar con bases de datos en la web.


Y ahora tambien aprende a programar en C++ con Aprende Web C++

logo rss RSS. Suscribir canal.

Buscar en Aprende Web

Traducir página

Visita nuestro blog:

bolg.aprende-web.net

y entérate de las novedades o deja un comentario.

Dudas y sugerencias:

aprendeweb@aprende-web.net





Sobre ésta página

Ültima modificación: 29-01-2016.

Visitas este mes: 132

Visitas el mes pasado: 334

logo
WEB-GRAFÍA

Mi agradecimiento a las siguientes páginas Web. en las cuales me he basado para la elaboración de este manual:


Bases de datos
monografías.com
Curso MySQL
Curso MySQL de AulaFácil
MySQL con clase
conclase.net
Introducción a MySQL
ProgramacionWeb.net
Manual práctico de SQL
www.cepeu.edu.py
MySQL 5.0 Reference Manual
dev.mysql.com
SQL Tutorial
w3schools.com
Tutorial de SQL
desarrolloweb.com
Tutorial de SQL: Curso de SQL
sql.1keydata.com

Donativos

Si este sitio te parece interesante puedes contribuir con una pequeña aportación.




SQL (V)

Columnas

imagen sql

Modificar columnas

En la página anterior ya vimos cómo crear nuevas columnas. Esto podíamos hacerlo tanto al mismo tiempo que creamos la tabla, como despúes de que se haya creado.

Una vez que hemos creado la columna puede que queramos cambiarla o eliminarla. Todas las sentencias en las que añadimos, modificamos o eliminamos una columna a una tabla existente empiezan por ALTER TABLE nombre-tabla. Vemos para empezar cómo eliminar una columna existente.


Eliminar una columna

Para eliminar una columna utilizaremos la siguiente sentencia:

ALTER TABLE nombre_tabla DROP COLUMN nombre_columna;

Por ejemplo en una base de datos llamada "pruebas" tenemos una tabla llamada "mitabla" en la que queremos eliminar una columna existente llamada "columna2". El código en PHP será:

$db=mysql_connect("localhost","root","");
mysql_select_db("pruebas",$db);
$sql = "ALTER TABLE mitabla DROP COLUMN columna2; ";
mysql_query($sql,$db);
mysql_close($db);

ATENCION: la eliminación de una columna conlleva la eliminación permanente e irreversible de todos los datos que hay guardados en ella.


Modificar una columna

En una columna o campo podemos modificar cualquiera de sus componentes o todos a la vez. La modificación no destruye los datos guardados en la columna siempre que sean compatibles con el nuevo tipo de datos, sin embargo hay que tener en cuenta que si cambiamos el nombre de la columna o el tipo de datos, debemos cambiar ésto también en las instrucciones que tengamos ya hechas para mostrar o buscar en la tabla.

Mediante la siguiente sentencia podemos cambiar tanto el nombre de la columna como el tipo de datos.

ALTER TABLE nombre_tabla CHANGE antiguo_nombre nuevo_nombre tipo_datos;

Después de "ALTER TABLE nombre_tabla" ponemos la palabra clave "CHANGE" seguida del nombre que tiene la columna, a continuación el nuevo nombre que queremos dar a la columna, seguido del tipo de datos.

Si lo que queremos es cambiar únicamente el tipo de datos escribiremos el mismo nombre para "antiguo_nombre" y "nuevo_nombre"; y si lo que queremos es cambiar únicamente el nombre, pondremos en "tipo_datos" el mismo tipo de datos que ya tenía.

En la base de datos "mi_musica" que estamos creando, en la tabla "discos" queremos cambiar el nombre a la columna "comentario" para llamarla "info". Lo haremos mediante el siguiente código:

$db=mysql_connect("localhost","root","");
mysql_select_db("mi_musica",$db);
$sql = "ALTER TABLE discos CHANGE comentario info text; ";
mysql_query($sql,$db);
mysql_close($db);

Hemos cambiado el nombre de la columna ("comentario") por un nuevo nombre ("info") y hemos mantenido el tipo de datos que era el que indicamos ("text").

Supongamos que hubieramos querido cambiar el tipo de datos y mantener el nombre de la columna. La sentencia SQL hubiera sido parecido a esto.

ALTER TABLE discos CHANGE comentario comentario longtext;


Restricciones

Una restriccion es una condición o particularidad que se impone a un campo o columna de una tabla y que permite manejar más facilimente la tabla.


Restricción NOT NULL

La restricción NOT NULL hace que el campo al que se le aplica no pueda tener en ninguno de sus datos un valor nulo. Por lo tanto es un campo que debe tener siempre un valor. Por defecto las celdas de datos pueden tener valor nulo (NULL), es decir pueden quedar sin rellenarse. Al aplicar la restricción NOT NULL a un campo todos los registros de ese campo deben tener un valor que no sea nulo. Es decir, el registro no podrá crearse si el campo con NOT NULL no se rellena.

Tenemos varias formas de insertar la restricción NOT NULL en una columna, la primera es al crear la tabla:

CREATE TABLE miagenda (
      nombre VARCHAR(255) NOT NULL,
      telefono1 INT NOT NULL,
      telefono2 INT
      );

Al crear la tabla anterior hemos indicado que los valores de las columnas "nombre" y "telefono1" no pueden estar vacíos en ningún registro, por lo tanto son obligatorios. En la tercera columna "telefono2", el valor puede quedar vacío.

Podemos insertar también la restricción NOT NULL al crear una nueva columna en una tabla ya existente:

ALTER TABLE miagenda
  ADD email VARCHAR(255) NOT NULL;

Hemos añadido una nueva columna a la tabla anterior, también con un valor NOT NULL.

Por último supongamos que queremos modificar una columna ya existente e insertarle la restricción NOT NULL, lo haremos mediante la palabra clave CHANGE:

ALTER TABLE miagenda
  CHANGE telefono2 telefono2 INT NOT NULL;

La sentencia anterior cambia el valor del campo "telefono2" pero sólo añadiendole la restricción NOT NULL.


Restricción NULL

Funciona igual que la anterior, si en lugar de poner NOT NULL ponemos NULL estamos indicando que los valores de la columna pueden estar sin rellenar.

Aunque esta es la opción que hay por defecto, podemos utilizarla para cambiar la restricción anterior (NOT NULL) o la restricción de valor por defecto que veremos a continuación. Como ejemplo cambiamos otra vez la restricción del segundo teléfono de la tabla agenda:

ALTER TABLE miagenda
  CHANGE telefono2 telefono2 int NULL;


Restricción de valor por defecto: DEFAULT

Al crear una nueva columna o al modificarla podemos añadir un valor por defecto, el cual aparecerá siempre que al crear un registro, el campo se deje en blanco. De esta manera al dar valores a los registros podemos dejar algunos campos en blanco y éstos tomarán su valor por defecto.

La forma de insertar la restricción de valor por defecto es igual que en las anteriores, para ello en lugar de NULL o NOT NULL, escribiremos:

DEFAULT valor_defecto

Donde "valor_defecto" es el valor por defecto que queremos darle al campo. Si éste es una cadena de texto lo pondremos entre comillas; por ejemplo:

ALTER TABLE miagenda
  CHANGE email email varchar(255) DEFAULT 'Sin e-mail';

Aquí hemos cambiado la restricción que tenía el campo "email" para poner un valor por defecto.

Los campos de texto largo tipo comentario (text, mediumtext, longtext) no admiten la restricción DEFAULT.


Mostrar columnas de una tabla

Para mostrar la información sobre las columnas de la tabla escribiremos la siguiente sentencia:

SHOW COLUMNS FROM nombre_tabla;

Esta sentencia nos devuelve una serie de arrays en los que se muestra información sobre las columnas. En PHP recorreremos los arrays mediante el bucle while y la función mysql_fetch_array u otra similar.

La información obtenida no es sólo el nombre de la columna, sino también el tipo de datos, si tiene algún tipo de clave (veremos ésto más adelante), etc.






En la próxima página veremos más sobre las columnas, cómo se organizan y relacionan entre ellas mediante claves.

Claves



Manual de SQL

Anterior siguiente ... Siguiente siguiente


imprimir esta página

Página creada por ANYELGUTI.

Sugerencias: aprendeweb@aprende-web.net. Envia un manda un correo

Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog

Más sobre anyelguti en http://anyelguti.16mb.com