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 NULL y NULL especifican si la columna admite o no admite valores nulos, es decir, si un campo puede quedar sin valor, o con valor desconocido.
  • DEFAULT indica 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 ACTION y 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 a NULL la clave foránea afectada por un borrado o modificación de la tabla padre.

Claves Primarias y Foráneas

  • PRIMARY KEY sirve 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.
  • DOUBLE Real Aproximado, FLOAT Real Aproximado.
  • DECIMAL, NUMERIC, NUMBER(longitud[,decimales]) Real Exacto Variable

Tipos de Datos de Fecha y Hora

  • DATE Fecha 'aaaa-mm-dd'
  • TIME Hora 'hh:mm:ss'
  • TIMESTAMP Fecha y Hora 'aaaa-mm-dd hh:mm:ss'
  • DATETIME Fecha y hora 'aaaa-mm-dd hh:mm:ss'

Tipos de Datos de Cadena

  • CHAR: Longitud fija
  • VARCHAR Longitud variable
  • VARCHAR2(longitud) caracteres Longitud Variable

Tipos de Datos BLOB, TEXT y CLOB

  • BLOB Objetos binarios Longitud Variable
  • TEXT Campos Memo Longitud Variable
  • CLOB Campos Memo Longitud Variable

Tipos de Datos ENUM y SET

  • ENUM(valor1,valor2,valor3...) Enumeraciones Lista de valores
  • SET(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 SET Especifica el conjunto de caracteres para la tabla y COLLATE define la colación por defecto de la tabla.
  • COMMENT es un comentario para la tabla, hasta 60 caracteres.
  • Checksum: suma de verificación para todos los registros.
  • ENGINE= nombre_motor se indica el motor de almacenamiento para la tabla.
  • MAX_ROWS es el máximo número de registros que se quiere almacenar en la tabla.
  • MIN_ROWS es 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.

Entradas relacionadas: