Está usted en Indice > Construcción > Lenguajes > MySQL > Lecciones y Paso a Paso > Creación de Bases de Datos y Tablas en MySQL
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Creación de Bases de Datos y Tablas en MySQL

Para la creación de nuevas bases de datos basta sencillamente usar la orden CREATE DATABASE nombre_db que se limita a habilitar un nuevo directorio para los datos de la nueva base. Se puede completar la orden con la clausula CREATE DATABASE IF NOT EXISTS db_nombre en cuyo caso la nueva base de datos solo se intentará crear si no existe otra con el mismo nombre. Si no usamos IF NOT EXISTS y el nuevo nombre está duplicado, MySQL nos avisará del error y no ejecutará acción ninguna.

La creación de tablas tiene muchas mas opciones, ya que aqui no nos limitamos a reservar un espacio, sino que debemos crear la propia estructura de la tabla

La sintaxis general es:

CREATE TABLE nombre_tbl
(nombre_columna1 TIPO_COLUMNA(nn), 
 nombre columna2 TIPO_COLUMNA(nn), 
 nombre_columna3 TIPO_COLUMNA(nn), 
 ...
 );
    

Es decir, para cada columna debemos especificar su nombre, su tipo (char, varchar, int, etc) y su longitud.

Un buen diseño de la tabla determinará el éxito o fracaso de nuestra base de datos. Existen abundantes estudios acerca de la normalización de las bases de datos, cuya complejidad excede de las posibilidades de esta página. A un nivel mucho mas básico se puede indicar que la sola elección del tipo de tabla adecuado, y del tipo (y longitud) de datos de cada columna tendrá su reflejo en la rapidez y eficacia del sistema.

La tabla se creará en la base de datos que esté en uso en ese momento. También puedes crear específicamente la tabla en otra base de datos del mismo servidor, usando la sintaxis CREATE TABLE bd_nombre.tabla_nombre

Algunas reglas a recordar son las siguientes:

  • longitud: es opcional SALVO para los campos tipo DECIMAL NUMERIC CHAR y VARCHAR.
    Por ejemplo, CREATE TABLE mi_tabla (id_field INT(4));
    Como sabemos, las columnas tipo INT pueden albergar desde -2147463846 a 2147483647 (unsigned). Al fijar el rango en 4, lo limitamos desde -999 a 9999.
    NOTA: MySQL guardará correctamente el dato fuera del rango especificado, siempre que no esté, además, fuera del rango para ese tipo de columna.
    Para datatypes no numéricos, el rango determina el número fijo de carácteres almacenados en cada caso (CHAR) o el número máximo permitido (p.e. VARCHAR).
  • decimal: máximo número de decimales para aquellos datatypes que admiten decimales. Si el número a almacenar tiene mas, será redondeado:
    FLOAT (5,2)
    =>  2.14 se almacena como 2.14
    =>  32.147 se almacena como 32.15 (5 caracteres en total)
    =>  232.14 se almacena como 232.1
    Es decir, un número máximo de 5 caracteres, un número máximo (si caben en el total) de 2 decimales.
  • El atributo BINARY puede usarse con CHAR y VARCHAR, con el único efecto de que en caso de búsqueda distinguirá mayúsculas y minúsculas.
  • El atributo ZEROFILL solo puede emplearse con datos tipo numérico. El atributo UNSIGNED solo puede emplearse con datos del tipo numérico entero.
  • Cada columna (independientemente de su tipo) puede ser NULL o NOT NULL. Si no especificas nada, se asume que la columna es NULL
  • Las columnas (salvo que sean AUTO_INCREMENT) siempre tienen un valor por defecto. Si la columna es tipo NULL el valor por defecto es justamente ese, NULL. Si es NOT NULL, y la columna numérica, el valor por defecto es 0. Si la columna no es tipo numérica el valor por defecto será "" (cadena vacia). Puede establecerse un valor por defecto propio con DEFAULT.
  • Solo puede existir una columna AUTO_INCREMENT por tabla, que debe ser del tipo entero, y además NOT_NULL
  • La columna AUTO_INCREMENT siempre será considerada como índice primario (PRIMARY KEY).


Usuarios que han visto este tema también han visto...

- Los índices en MySQL
- Exportar un tabla MS Access a MySQL
- Compilardo MySQL para Linux
- Guardar y extraer imágenes en MySQL
- Subir BD pesadas (BigDump) en Mysql


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 05-07-2008 a las 07:03:39