Lamina con numeros.
Creamos una tabla llamada departamentos compuesta por:
Una columna llamada departamento.
Una columna nombre.
Una columna localidad.
Nota: Para ejecutar comandos SQL es necesario estar conectado a la base de datos sobre la que estamos trabajando. En MySQL eso se consigue con el comando CONNECT basededatos;.
CREATE TABLE departamentos (departamento INTEGER,
nombre CHAR,localidad CHAR) TYPE=InnoDB;
Ahora que ya sabemos como introducir SQL en MyCC, vamos a abrir este fichero y a ejecutar el SQL que contiene en MyCC.
Restricciones
En las instrucciones ALTER TABLE (que veremos más adelante) y CREATE TABLE se pueden definir restricciones que se podrán eliminar más tarde, cuando queramos, sin tener que borrar la columna. Como restricciones tenemos la de clave primaria(clave principal), la de índice único (sin duplicados), la de valor no nulo, y la de clave foránea. Podemos poner varias restricciones, tantas como sean necesarias.
La restricción NOT NULL indica que la columna no podrá contener un valor nulo, es decir, que se deberá rellenar obligatoriamente y con un valor válido.
Sintaxis:
campo tipo NOT NULL
La restricción UNIQUE sirve para definir un índiceúnico sobre la columna. Un índice único no permite valores duplicados, de modo que si una columna tiene definida una restricción de este tipo no podrá haber dos filas con el mismo valor en esa columna. Se suele emplear para que el sistema se asegure de que no se añaden valores que ya existen.
Sintaxis:
UNIQUE [nombre] (campo)
Esto se añade en el CREATE TABLE detrás de todas las definiciones decampos. Se le puede poner nombre a la restricción, lo que facilita la tarea de cambiar o eliminar posteriormente la restricción, haciendo referencia a la misma por su nombre. No obstante, si no le especificamos ninguno, MySQL le pondrá como nombre por defecto el nombre del campo. Si una restricción afecta a varios campos, cogerá el nombre del primero.
Claves primarias y extranjeras
La cláusulaPRIMARY KEY se utiliza para definir la columna como clave principal (o primaria) de la tabla. Esto supone que la columna no puede contener valores nulos ni puede haber valores duplicados en esa columna, es decir que dos filas no pueden tener el mismo valor en esa columna. En una tabla no puede haber varias claves principales, por lo que no podemos incluir la cláusula PRIMARY KEY más de una vez.Sintaxis:
PRIMARY KEY (campo)
La cláusula FOREIGN KEY es una columna o conjunto de columnas que contiene un valor que hace referencia a una fila de otra tabla. Genera un índice externo (toma como valor del índice campos contenidos en otras tablas). Normalmente el campo externo al que hace referencia es una clave primaria de otra tabla.
Sintaxis:
FOREIGN KEY (campo1, campo2, …)
REFERENCEStabla_externa (campo_externo1, campo_externo2,…)
Lo normal, no obstante, es que sólo haya un campo externo. Este tipo de restricciones tiene más opciones, que veremos más adelante en el apartado de integridad referencial, y sólo funcionan en tablas InnoDB.
Ejemplo 2:
Creamos una tabla llamada clientes compuesta por:
Una columna llamada codcliente de tipo entero definida como clave principal.
Unacolumna nombre que puede almacenar hasta 20 caracteres alfanuméricos y no puede contener valores nulos.
Una columna apellido de hasta 25 caracteres que no podrá contener valores repetidos.
Una columna edad de tipo entero sin ninguna restricción.
Una columna departamento de tipo entero clave foránea que hace referencia a valores de la clave principal de la tabla departamentos.
CREATE TABLE clientes(codcliente INT NOT NULL,
nombre CHAR(20) NOT NULL,
apellido CHAR(25),
edad INTEGER,
departamento INT,
PRIMARY KEY (codcliente),
UNIQUE (apellido),
INDEX (departamento),
FOREIGN KEY (departamento) REFERENCES departamentos(departamento)
) TYPE=InnoDB;
Ejemplo 3:
Creamos una tabla llamada estudiantes compuesta por:
Una columna llamada id que será de tipo autonumérico y ademas será la...
Regístrate para leer el documento completo.