Crear una tabla.
Nota: El motor de base de datos de Microsoft Access no admite el uso de CREATE TABLE, ni de ninguna de las instrucciones DDL, con bases de datos que no son del motor de base de datos de Microsoft Access. En su lugar, use los métodos Create de DAO.
Sintaxis
CREATE [TEMPORARY] TABLE tabla (tipo campo1 [(tamaño)] [NOT NULL] [WITH COMPRESSION | WITH COMP] [índice1] [, campo2tipo [(tamaño)] [NOT NULL] [índice2] [, ...]] [, CONSTRAINT índice_de_varios_campos [, ...]])
La instrucción CREATE TABLE consta de las siguientes partes:
Parte |
Descripción |
tabla |
El nombre de la tabla que se va a crear. |
campo1, campo2 |
El nombre del campo o campos que se van a crear en la nueva tabla. Debe crear al menos un campo. |
tipo |
El tipo de datos de campo en la nueva tabla. |
tamaño |
El tamaño del campo en caracteres (solo para campos Texto y Binario). |
índice1, índice2 |
Una cláusula CONSTRAINT que define un índice de un solo campo. |
índice_de_varios_campos |
Una cláusula CONSTRAINT que define un índice de varios campos. |
Observaciones
Use la instrucción CREATE TABLE para definir una nueva tabla y sus campos y restricciones de campo. Si especifica NOT NULL para un campo, es obligatorio que los registros nuevos tengan datos válidos en ese campo.
Una cláusula CONSTRAINT establece varias restricciones en un campo y puede usarse para establecer la clave principal. También puede usar la instrucción CREATE INDEX para crear una clave principal o índices adicionales en las tablas existentes.
Puede usar NOT NULL en un solo campo o en una cláusula CONSTRAINT con nombre que se aplica a un solo campo o a una cláusula CONSTRAINT con nombre de varios campos. Pero solo puede aplicar la restricción NOT NULL una vez a un campo. Intentar aplicar esta restricción más de una vez produce un error en tiempo de ejecución.
Cuando se crea una tabla TEMPORARY, solo es visible en la sesión en la que se ha creado. Se elimina de manera automática cuando finaliza la sesión. Más de un usuario puede tener acceso a las tablas temporales.
Solo se puede usar el atributo WITH COMPRESSION con los tipos de datos CHARACTER y MEMO (también conocido como TEXT) y sus sinónimos.
El atributo WITH COMPRESSION se agregó para las columnas CHARACTER debido al cambio en el formato de representación de caracteres Unicode. Los caracteres Unicode requieren de manera uniforme dos bytes para cada carácter. Para las bases de datos de Microsoft Access existentes que contienen predominantemente datos de caracteres, esto podría significar que el archivo de base de datos podría duplicar su tamaño al convertirlo al formato de Microsoft Access. Pero la representación Unicode de muchos juegos de caracteres, los denominados anteriormente Juegos de caracteres de byte único (SBCS), se puede comprimir en un único byte con facilidad. Si define una columna CHARACTER con este atributo, los datos se comprimirán automáticamente cuando se almacenan y se descomprimen cuando se recuperan de la columna.
También se pueden definir columnas MEMO para almacenar los datos en un formato comprimido. Pero hay una limitación. Solo se comprimirán las instancias de las columnas MEMO que, cuando se comprimen, encajan en 4096 bytes o menos. Todas las demás instancias de las columnas MEMO permanecerán sin comprimir. Esto significa que dentro de una tabla determinada, de una columna MEMO determinada, puede haber datos comprimidos y datos sin comprimir.