Creación de tablas

  • 01 de enero de 2001
  • Valoración:
  • 19 Comentarios
  • Lenguaje SQL, MySQL
Explicamos la manera de crear tablas a partir de sentencias SQL. Definimos los tipo de campos principales y la forma de especificar los índices.
En general, la mayoría de las bases de datos poseen potentes editores de bases que permiten la creación rápida 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 carácter temporal (para gestionar un carrito de compra por ejemplo) o bien permanente por necesidades concretas de nuestra aplicación.

En estos casos, podemos, a partir de una sentencia SQL, crear la tabla con el formato que deseemos lo cual nos puede ahorrar más de un quebradero de cabeza.

Este tipo de sentencias son especialmente útiles para bases de datos como Mysql, las cuales trabajan directamente con comandos SQL y no por medio de editores.

Para crear una tabla debemos especificar diversos datos: El nombre que le queremos asignar, los nombres de los campos y sus características. Además, puede ser necesario especificar cuáles de estos campos van a ser índices y de qué tipo van a serlo.

La sintaxis de creación puede variar ligeramente de una base de datos a otra ya que los tipos de campo aceptados no están completamente estandarizados.

A continuación os explicamos someramente la sintaxis de esta sentencia y os proponemos una serie de ejemplos prácticos:

Sintaxis

Create Table nombre_tabla
(
nombre_campo_1 tipo_1
nombre_campo_2 tipo_2
nombre_campo_n tipo_n
Key(campo_x,...)
)

Pongamos ahora como ejemplo la creación de la tabla pedidos que hemos empleado en capítulos previos:

Create Table pedidos
(
id_pedido INT(4) NOT NULL AUTO_INCREMENT,
id_cliente INT(4) NOT NULL,
id_articulo INT(4)NOT NULL,
fecha DATE,
cantidad INT(4),
total INT(4), KEY(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. Para id_pedido requerimos que dicho campo se incremente automáticamente (AUTO_INCREMENT) de una unidad a cada introducción de un nuevo registro para, de esta forma, automatizar su creación. Por 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 (NOT NULL).

El campo fecha es almacenado con formato de fecha (DATE) para permitir su correcta explotación a partir de las funciones previstas a tal efecto.

Finalmente, definimos los índices enumerándolos entre paréntesis precedidos de la palabra KEY o INDEX.

Del mismo modo podríamos crear la tabla de artículos con una sentencia como ésta:

Create Table articulos
(
id_articulo INT(4) NOT NULL AUTO_INCREMENT,
titulo VARCHAR(50),
autor VARCHAR(25),
editorial VARCHAR(25),
precio REAL,
KEY(id_articulo)
)

En este caso puede verse que los campos alfanuméricos son introducidos de la misma forma que los numéricos. Volvemos 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.

Muchas son las opciones que se ofrecen al generar tablas. No vamos a tratarlas detalladamente pues sale de lo estrictamente práctico. Tan sólo mostraremos algunos de los tipos de campos que pueden ser empleados en la creación de tablas con sus características:

Tipo Bytes Descripción
INT o INTEGER 4 Números enteros. Existen otros tipos de mayor o menor longitud específicos de cada base de datos.
DOUBLE o REAL 8 Números reales (grandes y con decimales). Permiten almacenar todo tipo de número no entero.
CHAR 1/caracter Alfanuméricos de longitud fija predefinida
VARCHAR 1/caracter+1 Alfanuméricos de longitud variable
DATE 3 Fechas, existen multiples formatos específicos de cada base de datos
BLOB 1/caracter+2 Grandes textos no indexables
BIT o BOOLEAN 1 Almacenan un bit de información (verdadero o falso)

Autor

Rubén Alvarez

Redactor de DesarrolloWeb.com

Comentarios

Hernan

01/4/2004
El manual que aparece es muy completo, pero encuentro que falta algo, y ese algo es la creacion de 'primary key' y de 'foreing key', ademas de la forma de creacion de 'gatilladores' o 'trillers' que son sumamente importantes cuando se trabaja con una base de datos compartida.

por favor, si alguien tiene el material de trillers o creacion de claves primarias y foraneas, que me las envie, que las necesito con suma urgencia.

de antemano, gracias.

Nestor Velazquez

27/5/2004
Cual es el comando que se debe utilizar para cambiar el tipo de dato que almacenara un campo y con que comando se borra un campo

walter gomez

13/1/2005
COMO SE APLICA EN LA ESTADISTICA, CUAL ES SU TRATAMIENTO EN LA CIENCIA Y COMO SE PUEDE ENSEÑAR SQL EN LA ESTADISTICA?

Paty

28/5/2005
He visto que esta pagina esta muy bien diseña y explicada, pero estaria mejor si es mas grafica, colocando las pantallas que se utilizan paso a paso.

vanina

01/6/2005
me encanta su informacion los amo.............

AUGUSTO CORTEZ

08/6/2005
AGRADECERE ME ENVIEN INFORMACION DE COMO ACCESAR O UTILIZAR COMANDOS SQL DESDE C#

neil

21/2/2006
mmm no entiendo muy bien, que es exactamente lo que indica el número entre parentesis, ejemplo:

CREATE TABLA comercios (
co_id varchar (10) NOT NULL default

Ni

29/9/2006
No se hasta que punto los lectores son conscientes de la importancia del tamaño de los datos almacenados en la base de datos, en cualquier caso quiero subrayar que un byte son 8 bits y por tanto la tabla que explica los tipos de campos es erronea y puede llegar a confusión. Un saludo.

alejandro

11/12/2006
hola, necesito saber si alguien me puede ayudar con mi base de datos, contrate un servidor que me dio MySQl configurado, el problema es que yo cree mi formulario con dreamweaver y no se como hacer la conexion para que pueda funcionar. Por facor ayudenme, es urgente. escriban me a mi correo. MUCHAS GRACIAS !!!

otto

29/1/2007
en el ejemplo anterior la creacion de tabla pedido tiene como clave tres campos donde uno de ellos es una clave foranea la clave articulo como se define la clave foranea para luego poder acceder a pedido desde la tabla articulo :S ?????

Ricardo Soto

16/4/2007
Estimados hace varios meses vengo trabajando en un proyecto con Bases de Datos Visual Fox Pro (DBC), ASP y SQL; tengo 2 tablas que tienen unos 100000 registros cada una (cien mil); y hasta el momento todo ha funcionado bien; con varias consultas; mis usuarios son compañeros de trabajo; y tiene unas 30 a 35 visitas diarias. Me pregunto cada día ¿que pasará si dichas tablas llegan ha contener unos 2 millones o 10 millones de registros?.

yenny

02/10/2008
este articulo esta super buenisimo pues en estos momentos estoy estudiando programacion para ser una gran tcnologa de sistemas de informacion... en fin me han sido de gran ayuda..
chao y un beso enorme
:)



andrea

24/11/2008
deberia especificar mas de lo que se busca dando una pequeña introduccion de el SQL y hablar mas especificamente

juan

14/7/2009
para trabajo
es algo importante

uriel

01/9/2009
necesito que me escriban 1000000

JENRY

02/6/2010
sql
holas, esta bueno el manual de sql me sirvio mucho si tenes algun codificacion en visual porfa asmela llegar....... gracias saludos

JOHNNY

05/6/2010
CREAR TABLA EN EL SQL
COMO EMPIEZO A CREAR MI TABLAS EN EL SQL SERVER

yois

15/9/2011
es un programa muy lindo tiene todo lo que uno busca para ser un terabajo de sql sigan a si son lo vmaximo
que les dire que es un programa muy limdo que encuentro de todo en este programa es el mejor programa que e encontrado poque nesecito aprender mas de sql .................................."@

Andres

17/7/2012
Mas Contenido
Buenas Tardes,
Todo lo que muestra esta pagina esta excelente, pero faltan mas cosas, como cursores,triger, start procediur y como indexar? son cosas que he leido y me parecen que se veria mejor si lo explican en esta pagina tambien

Compartir