Está en la página 1de 6

2 - Crear una tabla (create table)

Una base de datos almacena su informacin en tablas. Una tabla es una estructura de datos que organiza los datos en columnas y filas; cada columna es un campo (o atributo) y cada fila, un registro. La interseccin de una columna con una fila, contiene un dato especfico, un solo valor. Cada registro contiene un dato por cada columna de la tabla. Cada campo (columna) debe tener un nombre. El nombre del campo hace referencia a la informacin que almacenar. Cada campo (columna) tambin debe definir el tipo de dato que almacenar. Las tablas forman parte de una base de datos. Nosotros trabajaremos con la base de datos llamada bd1 , que ya he creado en el servidor postgresqlya.com.ar. Al crear una tabla debemos resolver qu campos (columnas) tendr y que tipo de datos almacenarn cada uno de ellos, es decir, su estructura. La sintaxis bsica y general para crear una tabla es la siguiente:

create table NOMBRETABLA( NOMBRECAMPO1 TIPODEDATO, ... NOMBRECAMPON TIPODEDATO );


La tabla debe ser definida con un nombre que la identifique y con el cual accederemos a ella. Creamos una tabla llamada "usuarios" y entre parntesis definimos los campos y sus tipos:

create table usuarios ( nombre varchar(30), clave varchar(10) );


Cada campo con su tipo debe separarse con comas de los siguientes, excepto el ltimo. Cuando se crea una tabla debemos indicar su nombre y definir al menos un campo con su tipo de dato. En esta tabla "usuarios" definimos 2 campos: nombre: que contendr una cadena de caracteres de 30 caracteres de longitud, que almacenar el nombre de usuario y clave: otra cadena de caracteres de 10 de longitud, que guardar la clave de cada usuario. Cada usuario ocupar un registro de esta tabla, con su respectivo nombre y clave. Para nombres de tablas, se puede utilizar cualquier caracter alfabtico o numrico, el primero debe ser un caracter alfabtico y no puede contener espacios en blanco. Si intentamos crear una tabla con un nombre ya existente (existe otra tabla con ese nombre), mostrar un mensaje indicando que ya hay un objeto llamado 'usuarios' en la base de datos y la sentencia no se ejecutar. Para evitar problemas con otros usuarios de este sitio que creen tablas con el mismo nombre hemos creado una rutina que borra todas las tablas luego que ejecuta el ejercicio. Para ver la estructura de una tabla consultaremos una tabla propia del PostgreSQL:

SELECT table_name,column_name,udt_name,character_maximum_length FROM information_schema.columns WHERE table_name = 'usuarios';


Aparece el nombre de la tabla, los nombres de columna y el largo mximo de cada campo.:

table_name column_name udt_name usuarios clave varchar 10 usuarios nombre varchar 30

character_maximum_length

Para eliminar una tabla usamos "drop table" junto al nombre de la tabla a eliminar:

drop table usuarios; Si intentamos eliminar una tabla que no existe, aparece un mensaje de error indicando tal situacin y la sentencia no se ejecuta. Problema: Vamos a crear una tabla llamada "usuarios". Recordar que debemos finalizar cada comando con un punto y coma. La tabla "usuarios" contendr los siguientes campos: - nombre: varchar de 30 caracteres de longitud, - clave: varchar de 10 caracteres de longitud. Ahora si creamos la tabla: create table usuarios ( nombre varchar(30), clave varchar(10) ); aparece un mensaje indicando que el comando se complet exitosamente. Veamos la estructura de la tabla "usuarios": select table_name,column_name,udt_name,character_maximum_length from information_schema.columns where table_name = 'usuarios'; aparece el nombre de la tabla, los campos y sus tipos de datos, su longitud: table_name column_name udt_name usuarios clave varchar usuarios nombre varchar 30 character_maximum_length 10

Intentemos crear una tabla con el mismo nombre, mostrar un mensaje indicando que ya hay un objeto llamado 'usuarios' en la base de datos y la

sentencia no se ejecutar (ERROR: relation "usuarios" already exists): create table usuarios ( nombre varchar(30), clave varchar(10) ); Eliminemos la tabla: drop table usuarios; Verifiquemos si se ha eliminado: select table_name,column_name,udt_name,character_maximum_length from information_schema.columns where table_name = 'usuarios'; Como podemos ver no aparece ningn campo. Primer problema: Necesita almacenar los datos de sus amigos en una tabla. Los datos que guardar sern: apellido, nombre, domicilio y telfono. 1- Intente crear una tabla llamada "/agenda": create table /agenda( apellido varchar(30), nombre varchar(20), domicilio varchar(30), telefono varchar(11) ); aparece un mensaje de error porque usamos un caracter invlido ("/") para el nombre. 2- Cree una tabla llamada "agenda", debe tener los siguientes campos: apellido, varchar(30); nombre, varchar(20); domicilio, varchar (30) y telefono, varchar(11). 3- Intente crearla nuevamente. Aparece mensaje de error. 4- Visualice la estructura de la tabla "agenda". 5- Elimine la tabla. 6- Intente eliminar nuevamente la tabla. Debe aparecer un mensaje de error. Segundo problema: Necesita almacenar informacin referente a los libros de su biblioteca personal. Los datos que

guardar sern: ttulo del libro, nombre del autor y nombre de la editorial. 1- Cree una tabla llamada "libros". Debe definirse con los siguientes campos: titulo, varchar(20); autor, varchar(30) y editorial, varchar(15). 2- Intente crearla nuevamente. Aparece mensaje de error. 3- Visualice la estructura de la tabla "libros". 4- Elimine la tabla. 5- Intente eliminar la tabla nuevamente.

3 - Insertar y recuperar registros de una tabla (insert into - select)


Un registro es una fila de la tabla que contiene los datos propiamente dichos. Cada registro tiene un dato por cada columna (campo). Nuestra tabla "usuarios" consta de 2 campos, "nombre" y "clave". Al ingresar los datos de cada registro debe tenerse en cuenta la cantidad y el orden de los campos. La sintaxis bsica y general es la siguiente: insert into NOMBRETABLA (NOMBRECAMPO1, ..., NOMBRECAMPOn) values (VALORCAMPO1, ..., VALORCAMPOn); Usamos "insert into", luego el nombre de la tabla, detallamos los nombres de los campos entre parntesis y separados por comas y luego de la clusula "values" colocamos los valores para cada campo, tambin entre parntesis y separados por comas. Para agregar un registro a la tabla tipeamos: insert into usuarios (nombre, clave) values ('Mariano','payaso'); Note que los datos ingresados, como corresponden a cadenas de caracteres se colocan entre comillas simples. Para ver los registros de una tabla usamos "select": select * from usuarios; El comando "select" recupera los registros de una tabla. Con el asterisco indicamos que muestre todos los campos de la tabla "usuarios". Es importante ingresar los valores en el mismo orden en que se nombran los campos: insert into usuarios (clave, nombre) values ('River','Juan'); En el ejemplo anterior se nombra primero el campo "clave" y luego el campo "nombre" por eso, los valores tambin se colocan en ese orden.

Si ingresamos los datos en un orden distinto al orden en que se nombraron los campos, no aparece un mensaje de error y los datos se guardan de modo incorrecto. En el siguiente ejemplo se colocan los valores en distinto orden en que se nombran los campos, el valor de la clave (la cadena "Boca") se guardar en el campo "nombre" y el valor del nombre (la cadena "Luis") en el campo "clave": insert into usuarios (nombre,clave) values ('Boca','Luis'); Problema: Vamos a crear una tabla llamada "usuarios". Recordar que debemos finalizar cada comando con un punto y coma. Creamos la tabla: create table usuarios( nombre varchar(30), clave varchar(10) ); Agregamos un registro a la tabla: insert into usuarios (nombre, clave) values ('Mariano','payaso'); Veamos si el registro se guard: select * from usuarios; Ingresemos otro registro alterando el orden de los campos: insert into usuarios (clave, nombre) values ('River','Juan'); Veamos cmo PostgreSQL almacen los datos: select * from usuarios; Ingresemos otro registro colocando los valores en distinto orden en que se nombran los campos: insert into usuarios (nombre,clave) values ('Boca','Luis'); Veamos cmo se guardaron los datos: select * from usuarios; Note que la cadena "Boca" se almacen en el campo "nombre" y la cadena "Luis" en el campo "clave". Primer problema:

Trabaje con la tabla "agenda" que almacena informacin de sus amigos. 1- Cree una tabla llamada "agenda". Debe tener los siguientes campos: apellido (cadena de 30), nombre (cadena de 20), domicilio (cadena de 30) y telefono (cadena de 11) 2 - Visualice la estructura de la tabla "agenda". 3- Ingrese los siguientes registros: insert into agenda (apellido, nombre, domicilio, telefono) values ('Moreno','Alberto','Colon 123','4234567'); insert into agenda (apellido,nombre, domicilio, telefono) values ('Torres','Juan','Avellaneda 135','4458787'); 4- Seleccione todos los registros de la tabla: select * from agenda; 5- Elimine la tabla "agenda": 6- Intente eliminar la tabla nuevamente (aparece un mensaje de error) Segundo problema: Trabaje con la tabla "libros" que almacena los datos de los libros de su propia biblioteca. 1- Cree una tabla llamada "libros". Debe definirse con los siguientes campos: titulo (cadena de 20), autor (cadena de 30) y editorial (cadena de 15). 2- Visualice la estructura de la tabla "libros". 3- Ingrese los siguientes registros: insert into libros (titulo,autor,editorial) values ('El aleph','Borges','Planeta'); insert into libros (titulo,autor,editorial) values ('Martin Fierro','Jose Hernandez','Emece'); insert into libros (titulo,autor,editorial) values ('Aprenda PHP','Mario Molina','Emece'); 4- Muestre todos los registros (select).

También podría gustarte