Comandos SQL: CREATE, DROP, ALTER y Tipos de Datos
Clasificado en Informática
Escrito el en
español con un tamaño de 5,54 KB
Este documento describe los comandos básicos de SQL para la manipulación de bases de datos y la definición de datos, junto con los tipos de datos más comunes.
Comandos DDL (Data Definition Language)
CREATE
CREATE tipo_objeto Nombre Definición. Crea un objeto de un determinado tipo (DATABASE, TABLE, INDEX, etc.) con un nombre (por ejemplo, Actores o Personajes) y una definición (CodigoPersonaje, Nombre, etc.).
DROP
DROP tipo_objeto Nombre. Elimina un tipo de objeto especificado mediante un nombre. Por ejemplo, la sentencia DROP TABLE Actores, borraría de la base de datos la tabla Actores junto con todos sus datos.
ALTER
ALTER tipo_objeto Nombre Modificación. Modifica la definición de un objeto. Por ejemplo, la sentencia ALTER TABLE Actores DROP COLUMN Fecha, eliminaría la columna Fecha de la tabla Actores.
Ejemplos de Comandos SQL
- Crear base de datos:
CREATE DATABASE Startrek CHARACTER SET Latin1 COLLATE latin1_spanish_ci; - Usar base de datos: Por ejemplo, para empezar a manipular la base de datos Startrek, habrá que ejecutar el comando
USE Startrek; - Ver bases de datos:
SHOW DATABASES;
El comando ALTER DATABASE permite cambiar las características de funcionamiento de una base de datos.
Ejemplo: ALTER DATABASE Startrek COLLATE latin1_spanish_ci;
- Cambia el tamaño del fichero de datos del sistema:
SQL> ALTER DATABASE DATAFILE '/var/oracle/datos/jardineria/systemOl.dbf' SIZE 1G; - Cambia el modo de acceso a la base de datos a solo lectura:
SQL> ALTER DATABASE open read only; - Desactiva la opción de recuperación rápida:
ALTER DATABASE flashback off; - Borrar base de datos:
drop database Proveedores;
Tipos de Datos y Atributos
NUMERIC(5,0)de MySQL, puesto que los códigos postales tienen 5 dígitos enteros y 0 decimales.NOT NULLyNULLespecifican si la columna admite o no admite valores nulos, es decir, si un campo puede quedar sin valor, o con valor desconocido.DEFAULTindica el valor por defecto que toma el campo si no es especificado de forma explícita.
Restricciones de Clave Foránea
- Si se usa
NO ACTIONy se intenta un borrado o actualización sobre la tabla padre, la operación se impide, rechazando el borrado o la actualización. - Si se especifica
CASCADE, la operación se propaga en cascada a la tabla hija, es decir, si se actualiza la tabla padre, se actualizan los registros relacionados de la tabla hija, y si se borra un registro de la tabla padre, se borran aquellos registros de la tabla hija que estén referenciando al registro borrado. - Si se indica
SET NULL, se establece aNULLla clave foránea afectada por un borrado o modificación de la tabla padre.
Claves Primarias y Foráneas
PRIMARY KEYsirve para especificar la creación de una clave primaria a nivel de tabla:dni int(5) primary key- Clave foránea:
foreign key (cliente) references clientes(dni).
Tipos de Datos Numéricos
TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT,INTEGER: Enteros.DOUBLEReal Aproximado,FLOATReal Aproximado.DECIMAL,NUMERIC,NUMBER(longitud[,decimales])Real Exacto Variable
Tipos de Datos de Fecha y Hora
DATEFecha 'aaaa-mm-dd'TIMEHora 'hh:mm:ss'TIMESTAMPFecha y Hora 'aaaa-mm-dd hh:mm:ss'DATETIMEFecha y hora 'aaaa-mm-dd hh:mm:ss'
Tipos de Datos de Cadena
CHAR: Longitud fijaVARCHARLongitud variableVARCHAR2(longitud)caracteres Longitud Variable
Tipos de Datos BLOB, TEXT y CLOB
BLOBObjetos binarios Longitud VariableTEXTCampos Memo Longitud VariableCLOBCampos Memo Longitud Variable
Tipos de Datos ENUM y SET
ENUM(valor1,valor2,valor3...)Enumeraciones Lista de valoresSET(valorl, valor2, valorS...)Conjuntos Conjuntos de valores.
Atributo AUTO_INCREMENT
AUTO_INCREMENT indica que ese campo es autoincrementado después de cada inserción. Un campo definido como AUTO_INCREMENT debe ser numérico. Auto_increment=valor
Atributos de Tabla
CHARACTER SETEspecifica el conjunto de caracteres para la tabla yCOLLATEdefine la colación por defecto de la tabla.COMMENTes un comentario para la tabla, hasta 60 caracteres.Checksum: suma de verificación para todos los registros.ENGINE= nombre_motorse indica el motor de almacenamiento para la tabla.MAX_ROWSes el máximo número de registros que se quiere almacenar en la tabla.MIN_ROWSes el mínimo número de registros que se planea almacenar en la tabla.IF NOT EXISTS, se cree la tabla si no está creada previamente.