Banco de dados H2 - Criar
CREATE é um comando SQL genérico usado para criar tabelas, esquemas, sequências, visualizações e usuários no servidor de banco de dados H2.
Criar a tabela
Criar Tabela é um comando usado para criar uma tabela definida pelo usuário no banco de dados atual.
Sintaxe
A seguir está a sintaxe genérica para o comando Criar Tabela.
CREATE [ CACHED | MEMORY ] [ TEMP | [ GLOBAL | LOCAL ] TEMPORARY ]
TABLE [ IF NOT EXISTS ] name
[ ( { columnDefinition | constraint } [,...] ) ]
[ ENGINE tableEngineName [ WITH tableEngineParamName [,...] ] ]
[ NOT PERSISTENT ] [ TRANSACTIONAL ]
[ AS select ]
Usando a sintaxe genérica do comando Criar Tabela, podemos criar diferentes tipos de tabelas, como tabelas em cache, tabelas de memória e tabelas temporárias. A seguir está a lista para descrever as diferentes cláusulas da sintaxe fornecida.
CACHED- As tabelas em cache são o tipo padrão para tabelas regulares. Isso significa que o número de linhas não é limitado pela memória principal.
MEMORY- As tabelas de memória são o tipo padrão para tabelas temporárias. Isso significa que as tabelas de memória não devem ficar muito grandes e os dados do índice são mantidos na memória principal.
TEMPORARY- As tabelas temporárias são excluídas ao fechar ou abrir um banco de dados. Basicamente, as tabelas temporárias são de dois tipos -
Tipo GLOBAL - Acessível por todas as conexões.
Tipo LOCAL - Acessível pela conexão atual.
O tipo padrão para tabelas temporárias é o tipo global. Índices de tabelas temporárias são mantidos na memória principal, a menos que a tabela temporária seja criada usando CREATE CACHED TABLE.
ENGINE - A opção ENGINE só é necessária quando implementações de tabelas personalizadas são usadas.
NOT PERSISTENT - É um modificador para manter os dados completos da tabela na memória e todas as linhas são perdidas quando o banco de dados é fechado.
TRANSACTIONAL - É uma palavra-chave que confirma uma transação aberta e este comando suporta apenas tabelas temporárias.
Exemplo
Neste exemplo, vamos criar uma tabela chamada tutorials_tbl usando os seguintes dados fornecidos.
Sr. Não | Nome da coluna | Tipo de dados |
---|---|---|
1 | EU IRIA | Int |
2 | Título | Varchar (50) |
3 | Autor | Varchar (20) |
4 | Data de submissão | Encontro |
A seguinte consulta é usada para criar uma tabela tutorials_tbl junto com os dados da coluna fornecidos.
CREATE TABLE tutorials_tbl (
id INT NOT NULL,
title VARCHAR(50) NOT NULL,
author VARCHAR(20) NOT NULL,
submission_date DATE
);
A consulta acima produz a seguinte saída.
(0) rows effected
Criar Esquema
Criar esquema é um comando usado para criar um esquema dependente do usuário sob uma autorização específica (sob o usuário atualmente registrado).
Sintaxe
A seguir está a sintaxe genérica do comando Criar Esquema.
CREATE SCHEMA [ IF NOT EXISTS ] name [ AUTHORIZATION ownerUserName ]
Na sintaxe genérica acima, AUTHORIZATION é uma palavra-chave usada para fornecer o respectivo nome de usuário. Este comando é opcional, o que significa que se não fornecermos o nome do usuário, ele considerará o usuário atual. O usuário que executa o comando deve ter direitos de administrador, assim como o proprietário.
Este comando confirma uma transação aberta nesta conexão.
Exemplo
Neste exemplo, vamos criar um esquema chamado test_schema sob o usuário SA, usando o seguinte comando.
CREATE SCHEMA test_schema AUTHORIZATION sa;
O comando acima produz a seguinte saída.
(0) rows effected
Criar sequência
Sequência é o conceito usado para gerar um número seguindo uma sequência para id ou quaisquer valores de coluna aleatórios.
Sintaxe
A seguir está a sintaxe genérica do comando de criação de sequência.
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 ]
Essa sintaxe genérica é usada para criar uma sequência. O tipo de dados de uma sequência éBIGINT. Nesta sequência, os valores nunca são reutilizados, mesmo quando a transação é revertida.
Exemplo
Neste exemplo, vamos criar uma sequência chamada SEQ_ID, usando a seguinte consulta.
CREATE SEQUENCE SEQ_ID;
A consulta acima produz a seguinte saída.
(0) rows effected