Saltar la navegación

6.2. CREATE: Definición de columnas

Las columnas de la tabla recién creada se definen en el cuerpo de la sentencia CREATE TABLE. Las columnas aparecen en una lista separada por comas e insertada entre paréntesis. El orden de las definiciones de las columnas determina el orden de izquierda a derecha de las columnas en la tabla. Cada definición especifica:

  • El nombre de la columna, que se utiliza para referirse a la columna en las sentencias SQL. Cada columna de la tabla debe tener un nombre único, pero los nombres pueden ser iguales a los de las columnas de otras tablas.
  • El tipo de datos de la columna, que identifica la clase de datos que la columna almacena.
  • Si la columna no puede contener datos nulos, la cláusula NOT NULL impide que aparezcan valores NULL en la columna, en caso contrario se permiten los valores nulos en la columna.
  • Un valor por omisión es opcional para la columna. Se utiliza este valor cuando una sentencia INSERT aplicada a la tabla no especifica un valor para la columna.

Ejemplo

CREATE TABLE oficinas (

oficina INTEGER NOT NULL,

ciudad VARCHAR(15) NOT NULL,

region VARCHAR(10) NOT NULL DEFAULT 'Este',

objetivo INTEGER DEFAULT NULL,

ventas INTEGER NOT NULL DEFAULT 0

);

Tipos de datos

Tipo de dato Sinónimos Tamaño Descripción
BINARY VARBINARY
BINARY VARYING
BIT VARYING
1 byte por carácter Se puede almacenar cualquier tipo de datos en un campo de este tipo. Los datos no se traducen (por ejemplo, a texto). La forma en que se introducen los datos en un campo binario indica cómo aparecerán al mostrarlos.
BIT BOOLEAN
LOGICAL
LOGICAL1
YESNO

1 byte Valores Sí y No, y campos que contienen solamente uno de dos valores.
TINYINT INTEGER1
BYTE

1 byte Un número entero entre 0 y 255.
COUNTER AUTOINCREMENT

Se utiliza para campos contadores cuyo valor se incrementa automáticamente al crear un nuevo registro.
MONEY CURRENCY 8 bytes Un número entero comprendido entre
– 922.337.203.685.477,5808 y 922.337.203.685.477,5807.
DATETIME DATE
TIME

8 bytes Una valor de fecha u hora entre los años 100 y 9999
UNIQUEIDENTIFIER GUID 128 bits Un número de identificación único utilizado con llamadas a procedimientos remotos.
DECIMAL NUMERIC
DEC
17 bytes Un tipo de datos numérico exacto con valores comprendidos entre 1028 - 1 y - 1028 - 1. Puede definir la precisión (1 - 28) y la escala (0 - precisión definida). La precisión y la escala predeterminadas son 18 y 0, respectivamente.
REAL SINGLE
FLOAT4
IEEESINGLE
4 bytes Un valor de coma flotante de precisión simple con un intervalo comprendido entre – 3,402823E38 y – 1,401298E-45 para valores negativos, y desde 1,401298E-45 a 3,402823E38 para valores positivos, y 0.

FLOAT

DOUBLE
FLOAT8
IEEEDOUBLE
NUMBER

8 bytes Un valor de coma flotante de precisión doble con un intervalo comprendido entre – 1,79769313486232E308 y – 4,94065645841247E-324 para valores negativos, y desde 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos, y 0.
SMALLINT SHORT
INTEGER2

2 bytes Un entero corto entre – 32.768 y 32.767.
INTEGER LONG
INT
INTEGER4

4 bytes Un entero largo entre – 2.147.483.648 y 2.147.483.647.
IMAGE LONGBINARY
GENERAL
OLEOBJECT

Lo que se requiera Desde cero hasta un máximo de 2.14 gigabytes.
Se utiliza para objetos OLE.
TEXT LONGTEXT
LONGCHAR
MEMO
NOTE
NTEXT

2 bytes por carácter. (Consulte las notas). Desde cero hasta un máximo de 2.14 gigabytes.
CHAR TEXT(n)
ALPHANUMERIC
CHARACTER
STRING
VARCHAR
CHARACTER VARYING
NCHAR
NATIONAL CHARACTER
NATIONAL CHAR
NATIONAL CHARACTER VARYING
NATIONAL CHAR VARYING

2 bytes por carácter. (Consulte las notas). Desde cero a 255 caracteres.