Sei sulla pagina 1di 30

CREACION DE TABLAS

MYSQL

Creando Tablas
Los requisitos de la clusula CREATE TABLE son:
Nombre de la Tabla Nombre de la Columna Tipo de dato de la Columna

Sintaxis Creacin de Tablas


CREATE TABLE nombreTabla ( nombreColumna1 tipo_dato(tamaodedato) , nombreColumna2 tipo_dato(tamaodedato) , nombreColumnan tipo_dato(tamaodedato)

Reglas de nomenclatura
El nombre debe tener como longitud de 1 a 30 caracteres con el primer carcter alfabtico:
A-Z, a-z, 0-9, _ $ y # tambin son vlidos pero no se sugieren

No debe ser una palabra reservada de MYSQL No debe ser igual al nombre de otro objeto dentro del mismo usuario de MYSQL.

Tipos de Datos Numricos


Tipo TinyInt Bit o Bool Smallint Definicin
Permite almacenar datos enteros con o sin signo. Con signo acepta entre -128 a 127 y sin signo entre 0 a 255. Ocupa 1 byte Permite almacenar solo los nmeros 0 y 1. Se puede utilizar como un campo lgico. Tambin acepta nmeros enteros con o sin signo. Con signo desde -32768 a 32767 y sin signo entre 0 y 65535. Ocupa 2 bytes.

Mediumint Acepta nmeros enteros con o sin signo. Con signo entre -8388608 y 8388607 y sin
signo entre 0 y 16777215. Ocupa 3 bytes.

Integer BigInt Float Double

Acepta nmeros enteros con o sin signo. Con signo acepta valores entre -2147483648 a 2147483647 y sin signo su rango es de 0 a 4.294.967.295. Ocupa 4 Bytes Con signo este tipo de datos acepta valores entre -9.223.372.036.854.775.808 y 9.223.372.036.854.775.8087. Sin Signo acepta valores entre 0 y 18.446.744.073.709.551.615. Ocupa 8 Bytes Se utiliza para almacenar nmeros pequeos en coma flotante de precisin simple. El rango es desde -3.402823466E+38 y -1.175494351E-38, 0 y desde -1.175494351E-38 hasta 3.402823466E+38. Ocupa 4 bytes. Se utiliza para almacenar nmeros en coma flotante de precisin doble. El rango de valores permitidos es de -1.7976931348623157E+308 hasta -2.2250738585072014E308 y desde 2.2250738585072014E-308 a 1.7976931348623157E+308. Ocupa 8 bytes.

Tipos de Datos Fecha


TIPO DEFINICION

Date

Este tipo de dato permite almacenar fechas entre el 01 de enero del 1001 hasta el 31 de diciembre de 9999. El formato de almacenamiento es de aomes-dia. Ocupa 3 bytes Se utiliza para almacenar fechas y horas desde el 01 de enero del 1001 con 0 horas, 0 minutos y 0 segundos hasta el 31 de diciembre de 9999 con 23 horas,59 minutos y 59 segundos. Ocupa 8 bytes. Acepta la combinacin de fecha y hora . El rango es del 1 de enero de 1970 hasta el 2037. Ocupa 4 bytes.
Permite almacenar solo horas con el formato HH:MM:SS. Ocupa 4 Bytes. Permite almacenar slo el ao de una fecha desde 1901 hasta 2155. Ocupa 1 Byte.

DateTime

TimeStamp

Time Year

Tipos de Datos Cadena


Tipo Char Varchar Text o Blob Definicin Este tipo de dato permite almacenar de 0 a 255 caracteres de longitud fija. Permite almacenar de 0 a 255 caracteres de longitud variable. Este tipo de dato permite almacenar hasta 65535

MediumBlob o Medium Text


LongBlob o Long Text

Este tipo de dato permite almacenar hasta 16.777.215 caracteres de longitud


Este tipo de dato permite almacenar hasta 4.294.967.295 caracteres de longitud.

Ejemplo
Crear una tabla llamada DEPARTAMENTO, con las columnas: cod_dpto, nombre, ubicacin CREATE TABLE departamento ( cod_dpto int, nombre varchar(14), ubicacion varchar(13) );

Ejemplo
Crear una tabla llamada EMPLEADO con las columnas: codigo, nombre, trabajo, jefe, fingreso, salario, comision, departamento

Crear una tabla a partir de un Select


Se pueden crear tablas a partir de una sentencia SELECT utilizando la clusula AS. CREATE TABLE nombre_tabla AS sentencia_select;

Restricciones de Columnas
La siguiente tabla muestra los diferentes de restricciones manejados por Oracle. CONSTRAINT PRIMARY KEY UNIQUE USO Identifica de manera nica a cada fila de la tabla. Especifica que una o ms columnas deben tener valores nicos a travs de todas las filas. Crea un ndice nico para asegurar este constraint. Especifica que esta columna puede o no contener un valor nulo. Designa una columna o combinacin de columnas como la clave fornea

[NOT]NULL FOREIGN KEY(nombre_columna)

REFERENCES

Establece y obliga una relacin entre esta columna de la clave primaria de la tabla referenciada.
Especifica una condicin que cada fila en la tabla debe satisfacer

CHECK

Crear una tabla que utilice los diferentes tipos de constraints CREATE TABLE emp1 (codigo int PRIMARY KEY, nombre varchar(10) UNIQUE, trabajo varchar(8) NOT NULL, jefe int null, ingreso timestamp DEFAULT current_timestamp, salario decimal(7,2) DEFAULT 0 CHECK(salario>=0), Comision decimal (7,2) DEFAULT 0 CHECK(comision>=0), Departamento Number(2) );

Renombrar una tabla


SINTAXIS: RENAME TABLE nombre_tabla TO nombre_nuevo;

Renombrar la tabla emp1 por empresa

Borrar una tabla


SINTAXIS: DROP TABLE nombre_tabla;

Modificar Tablas
Clusula ALTER TABLE Se utiliza para alterar la definicin de una tabla:
- Aadiendo o eliminando columnas o restricciones. - Modificando definiciones de columnas(tipos de datos, nombres de columna, etc).

Sintaxis (para agregar columnas)


ALTER TABLE nombre_tabla ADD (nombre_columna tipo_dato );

Agregar la columna celular de tipo varchar tamao 9

Sintaxis (Para modificar estructura)


ALTER TABLE nombre_tabla MODIFY nombre_columna tipo_dato;

Cambie el tipo de dato de la columna trabajo de varchar(8) a varchar(20)

Sintaxis (Eliminar Columnas)


ALTER TABLE nombre_tabla DROP COLUMN nombre_columna

Eliminar la columna Celular

AGREGANDO PK, FK, CK

Para eso trabajaremos con las siguientes tablas:

El precio de un curso no puede ser cero, ni menor que cero.

El importe de un curso no puede ser cero, ni menor que cero.

Agregando PK
La restriccin Primary Key se utiliza para definir la clave primaria de una tabla. Alter Table NombreTabla Add Constraint PK_NombreTabla Primary Key ( Columna1, Columna2, . . . );

Agregando FK
La restriccin Foreign Key se utiliza para definir la relacin entre dos tablas.

Alter Table NombreTabla Add Constraint FK_NombreTabla_TablaReferenciada Foreign Key ( Columna1, Columna2, . . . ) References TablaReferenciada(columna1,columna2);

Agregando CK
Las reglas de validacin son muy importantes por que permiten establecer una condicin a los valores que debe aceptar una columna. Alter Table NombreTabla Add Constraint CK_nombreck Check ( Condicin );

El precio de un curso no puede ser cero, ni menor que cero. El importe de un curso no puede ser cero, ni menor que cero. Alter Table Matricula Add Constraint CK_precio Check ( precio>0);

Alter Table PAGO Add Constraint CK_importe Check ( importe>0);

Restriccin UNIQUE
En muchos casos debemos garantizar que los valores de una columna conjunto de columnas de una tabla acepten solo valores nicos.
Alter table NombreTabla Add Constraint U_NombreTabla_NombreColumna Unique ( Columna1, Columna2, . . . );

No puede haber dos alumnos con nombres iguales.

CREACION DE VISTAS
Una vista es una representacin lgica de una o ms tablas. Una vista no contiene datos. Todos los datos son derivados de una o ms tablas subyacentes. SINTAXIS: CREATE VIEW nombre_vista AS( sentencia select);

Potrebbero piacerti anche