You are on page 1of 5

Creacin de tablas

En general, la mayora de las bases de datos poseen potentes editores de bases


que permiten la creacin rpida y sencilla de cualquier tipo de tabla con cualquier
tipo de formato.
Sin embargo, una vez la base de datos est alojada en el servidor, puede darse el
caso de que queramos introducir una nueva tabla ya sea con carcter temporal
(para gestionar un carrito de compra por ejemplo o bien permanente por
necesidades concretas de nuestra aplicacin.
En estos casos, podemos, a partir de una sentencia S!", crear la tabla con el
formato que deseemos lo cual nos puede a#orrar ms de un quebradero de
cabeza.
Este tipo de sentencias son especialmente $tiles para bases de datos como %ysql,
las cuales trabajan directamente con comandos S!" y no por medio de editores.
&ara crear una tabla debemos especificar diversos datos' El nombre que le
queremos asignar, los nombres de los campos y sus caractersticas. (dems,
puede ser necesario especificar cules de estos campos van a ser ndices y de
qu) tipo van a serlo.
"a sinta*is de creacin puede variar ligeramente de una base de datos a otra ya
que los tipos de campo aceptados no estn completamente estandarizados.
( continuacin os e*plicamos someramente la sinta*is de esta sentencia y os
proponemos una serie de ejemplos prcticos'
Sintaxis
+reate ,able nombre-tabla
(
nombre-campo-. tipo-.
nombre-campo-/ tipo-/
nombre-campo-n tipo-n
0ey(campo-*,...

&ongamos a#ora como ejemplo la creacin de la tabla pedidos que #emos


empleado en captulos previos'
+reate ,able pedidos
(
id-pedido 12,(3 24, 25"" (5,4-12+6E%E2,,
id-cliente 12,(3 24, 25"",
id-articulo 12,(324, 25"",
fec#a 7(,E,
cantidad 12,(3,
total 12,(3, 0E8(id-pedido,id-cliente,id-articulo

En este caso creamos los campos id los cuales son considerados de tipo entero
de una longitud especificada por el n$mero entre par)ntesis.
&ara id_pedido requerimos que dic#o campo se incremente automticamente
((5,4-12+6E%E2, de una unidad a cada introduccin de un nuevo registro
para, de esta forma, automatizar su creacin. &or otra parte, para evitar un
mensaje de error, es necesario requerir que los campos que van a ser definidos
como ndices no puedan ser nulos (24, 25"".
El campo fecha es almacenado con formato de fec#a (7(,E para permitir su
correcta e*plotacin a partir de las funciones previstas a tal efecto.
9inalmente, definimos los ndices enumerndolos entre par)ntesis precedidos de
la palabra 0E8 o 127E:.
7el mismo modo podramos crear la tabla de artculos con una sentencia como
)sta'
+reate ,able articulos
(
id-articulo 12,(3 24, 25"" (5,4-12+6E%E2,,
titulo ;(6+<(6(=>,
autor ;(6+<(6(/=,
editorial ;(6+<(6(/=,
precio 6E(",
0E8(id-articulo

En este caso puede verse que los campos alfanum)ricos son introducidos de la
misma forma que los num)ricos. ;olvemos a recordar que en tablas que tienen
campos comunes es de vital importancia definir estos campos de la misma forma
para el buen funcionamiento de la base.
%uc#as son las opciones que se ofrecen al generar tablas. 2o vamos a tratarlas
detalladamente pues sale de lo estrictamente prctico. ,an slo mostraremos
algunos de los tipos de campos que pueden ser empleados en la creacin de
tablas con sus caractersticas'
Tipo Bytes Descripcin
12, o
12,E?E6 3
2$meros enteros. E*isten otros tipos de mayor o menor
longitud especficos de cada base de datos.
745@"E o
6E(" A
2$meros reales (grandes y con decimales. &ermiten
almacenar todo tipo de n$mero no entero.
+<(6 .Bcaracter (lfanum)ricos de longitud fija predefinida
;(6+<(6 .BcaracterC.(lfanum)ricos de longitud variable
7(,E D
9ec#as, e*isten multiples formatos especficos de cada
base de datos
@"4@ .BcaracterC/?randes te*tos no inde*ables
@1, o
@44"E(2 . (lmacenan un bit de informacin (verdadero o falso
Comandos
+6E(,E 7(,(@(SE se utiliza para crear una nueva base de datos vaca.
764& 7(,(@(SE se utiliza para eliminar completamente una base de datos
e*istente.
+6E(,E ,(@"E se utiliza para crear una nueva tabla, donde la informacin se
almacena realmente.
(",E6 ,(@"E se utiliza para modificar una tabla ya e*istente.
764& ,(@"E se utiliza para eliminar por completo una tabla e*istente.
%anipulando los datos.
SE"E+, se utiliza cuando quieres leer (o seleccionar tus datos.
12SE6, se utiliza cuando quieres aEadir (o insertar nuevos datos.
5&7(,E se utiliza cuando quieres cambiar (o actualizar datos e*istentes.
7E"E,E se utiliza cuando quieres eliminar (o borrar datos e*istentes.
6E&"(+E se utiliza cuando quieres aEadir o cambiar (o reemplazar datos nuevos
o ya e*istentes.
,652+(,E se utiliza cuando quieres vaciar (o borrar todos los datos de la
plantilla.
5n ejemplo sencillo.
+6E(,E 7(,(@(SE mydbF
5SE mydbF
+6E(,E ,(@"E mitabla ( id 12, &61%(68 0E8, nombre ;(6+<(6(/> F
12SE6, 12,4 mitabla ;("5ES ( ., GHillG F
12SE6, 12,4 mitabla ;("5ES ( /, G%arryG F
12SE6, 12,4 mitabla ;("5ES ( D, G7eanG F
SE"E+, id, nombre 964% mitabla H<E6E id I .F
5&7(,E mitabla SE, nombre I GHillyG H<E6E id I .F
SE"E+, id, nombre 964% mitablaF
7E"E,E 964% mitabla H<E6E id I .F
SE"E+, id, nombre 964% mitablaF
764& 7(,(@(SE mydbF
SE"E+, count(. from mitablaF da el n$mero de registros en la tabla

You might also like