Base de datos H2 - Crear

CREAR es un comando SQL genérico que se utiliza para crear tablas, esquemas, secuencias, vistas y usuarios en el servidor de base de datos H2.

Crear mesa

Crear tabla es un comando que se utiliza para crear una tabla definida por el usuario en la base de datos actual.

Sintaxis

A continuación se muestra la sintaxis genérica del comando Crear tabla.

CREATE [ CACHED | MEMORY ] [ TEMP | [ GLOBAL | LOCAL ] TEMPORARY ] 
TABLE [ IF NOT EXISTS ] name 
[ ( { columnDefinition | constraint } [,...] ) ] 
[ ENGINE tableEngineName [ WITH tableEngineParamName [,...] ] ] 
[ NOT PERSISTENT ] [ TRANSACTIONAL ] 
[ AS select ]

Al usar la sintaxis genérica del comando Crear tabla, podemos crear diferentes tipos de tablas, como tablas en caché, tablas de memoria y tablas temporales. A continuación se muestra la lista para describir diferentes cláusulas de la sintaxis dada.

  • CACHED- Las tablas en caché son el tipo predeterminado para tablas regulares. Esto significa que el número de filas no está limitado por la memoria principal.

  • MEMORY- Las tablas de memoria son el tipo predeterminado para tablas temporales. Esto significa que las tablas de memoria no deben ser demasiado grandes y los datos del índice se guardan en la memoria principal.

  • TEMPORARY- Las tablas temporales se eliminan al cerrar o abrir una base de datos. Básicamente, las tablas temporales son de dos tipos:

    • Tipo GLOBAL - Accesible por todas las conexiones.

    • Tipo LOCAL: accesible mediante la conexión actual.

    El tipo predeterminado para tablas temporales es el tipo global. Los índices de tablas temporales se guardan en la memoria principal, a menos que la tabla temporal se cree usando CREATE CACHED TABLE.

  • ENGINE - La opción ENGINE solo es necesaria cuando se utilizan implementaciones de tablas personalizadas.

  • NOT PERSISTENT - Es un modificador para mantener los datos completos de la tabla en la memoria y todas las filas se pierden cuando se cierra la base de datos.

  • TRANSACTIONAL - Es una palabra clave que confirma una transacción abierta y este comando solo admite tablas temporales.

Ejemplo

En este ejemplo, creemos una tabla llamada tutorials_tbl usando los siguientes datos dados.

No Señor Nombre de columna Tipo de datos
1 CARNÉ DE IDENTIDAD En t
2 Título Varchar (50)
3 Autor Varchar (20)
4 Día de entrega Fecha

La siguiente consulta se usa para crear una tabla tutorials_tbl junto con los datos de columna dados.

CREATE TABLE tutorials_tbl ( 
   id INT NOT NULL, 
   title VARCHAR(50) NOT NULL, 
   author VARCHAR(20) NOT NULL, 
   submission_date DATE 
);

La consulta anterior produce el siguiente resultado.

(0) rows effected

Crear esquema

Crear esquema es un comando que se utiliza para crear un esquema dependiente del usuario bajo una autorización particular (bajo el usuario registrado actualmente).

Sintaxis

A continuación se muestra la sintaxis genérica del comando Crear esquema.

CREATE SCHEMA [ IF NOT EXISTS ] name [ AUTHORIZATION ownerUserName ]

En la sintaxis genérica anterior, AUTORIZACIÓN es una palabra clave utilizada para proporcionar el nombre de usuario respectivo. Este comando es opcional, lo que significa que si no proporcionamos el nombre de usuario, considerará al usuario actual. El usuario que ejecuta el comando debe tener derechos de administrador, así como el propietario.

Este comando confirma una transacción abierta en esta conexión.

Ejemplo

En este ejemplo, creemos un esquema llamado test_schema bajo el usuario SA, utilizando el siguiente comando.

CREATE SCHEMA test_schema AUTHORIZATION sa;

El comando anterior produce la siguiente salida.

(0) rows effected

Crear secuencia

La secuencia es un concepto que se utiliza para generar un número siguiendo una secuencia para id o cualquier valor de columna aleatorio.

Sintaxis

A continuación se muestra la sintaxis genérica del comando de creación de secuencia.

CREATE SEQUENCE [ IF NOT EXISTS ] newSequenceName [ START WITH long ] 
[ INCREMENT BY long ] 
[ MINVALUE long | NOMINVALUE | NO MINVALUE ] 
[ MAXVALUE long | NOMAXVALUE | NO MAXVALUE ] 
[ CYCLE long | NOCYCLE | NO CYCLE ] 
[ CACHE long | NOCACHE | NO CACHE ]

Esta sintaxis genérica se utiliza para crear una secuencia. El tipo de datos de una secuencia esBIGINT. En esta secuencia, los valores nunca se reutilizan, incluso cuando la transacción se recupera.

Ejemplo

En este ejemplo, creemos una secuencia llamada SEQ_ID, utilizando la siguiente consulta.

CREATE SEQUENCE SEQ_ID;

La consulta anterior produce el siguiente resultado.

(0) rows effected