Listado completo de tutoriales

2 - Crear una tabla (create table)


Una base de datos almacena su información 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 intersección de una columna con una fila, contiene un dato específico, 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 información que almacenará.
Cada campo (columna) también 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 almacenarán cada uno de ellos, es decir, su estructura.

La sintaxis básica 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 paréntesis 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 alfabético o numérico, el primero debe ser un caracter alfabético 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 cuando estamos haciendo los ejercicios verificaremos primero si ya existe una tabla con dicho nombre y procederemos a borrarla.

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 máximo de cada campo.:

table_name      column_name     udt_name        character_maximum_length
usuarios        clave	        varchar	        10
usuarios        nombre          varchar         30

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 situación y la sentencia no se ejecuta, podemos escribir una variante de drop table verificando si existe la tabla:

 drop table if exists usuarios;

Ingresemos el siguiente lote de comandos SQL en pgAdmin:

 -- Borramos la tabla usuarios si ya existe
 drop table if exists usuarios;

  -- Creamos la tabla usuarios
 create table usuarios (
   nombre varchar(30),
   clave varchar(10)
 );

 -- Mostramos la estructura de la tabla que acabamos de crear
 select table_name,column_name,udt_name,character_maximum_length 
  from information_schema.columns 
  where table_name = 'usuarios';

La ejecución de este lote de comandos SQL genera una salida similar a:

PostgreSQL pgAdmin

En SQL si queremos disponer un comentario debemos anteceder los caracteres --

-- Esto es un comentario y PostgreSQL lo ignora

Retornar