База данных H2 - Создать
CREATE - это общая команда SQL, используемая для создания таблиц, схем, последовательностей, представлений и пользователей на сервере базы данных H2.
Создать таблицу
Создать таблицу - это команда, используемая для создания определяемой пользователем таблицы в текущей базе данных.
Синтаксис
Ниже приведен общий синтаксис команды «Создать таблицу».
CREATE [ CACHED | MEMORY ] [ TEMP | [ GLOBAL | LOCAL ] TEMPORARY ]
TABLE [ IF NOT EXISTS ] name
[ ( { columnDefinition | constraint } [,...] ) ]
[ ENGINE tableEngineName [ WITH tableEngineParamName [,...] ] ]
[ NOT PERSISTENT ] [ TRANSACTIONAL ]
[ AS select ]
Используя общий синтаксис команды Create Table, мы можем создавать различные типы таблиц, такие как кэшированные таблицы, таблицы памяти и временные таблицы. Ниже приведен список для описания различных пунктов данного синтаксиса.
CACHED- Кэшированные таблицы являются типом по умолчанию для обычных таблиц. Это означает, что количество строк не ограничено основной памятью.
MEMORY- Таблицы памяти являются типом по умолчанию для временных таблиц. Это означает, что таблицы памяти не должны становиться слишком большими, а данные индекса хранятся в основной памяти.
TEMPORARY- Временные таблицы удаляются при закрытии или открытии базы данных. В основном временные таблицы бывают двух типов -
ГЛОБАЛЬНЫЙ тип - Доступен для всех подключений.
ЛОКАЛЬНЫЙ тип - Доступен текущему соединению.
Тип по умолчанию для временных таблиц - глобальный тип. Индексы временных таблиц хранятся в основной памяти, если временная таблица не создана с помощью CREATE CACHED TABLE.
ENGINE - Параметр ENGINE требуется только при использовании реализаций настраиваемых таблиц.
NOT PERSISTENT - Это модификатор, сохраняющий полные данные таблицы в памяти, и все строки теряются при закрытии базы данных.
TRANSACTIONAL - Это ключевое слово, которое фиксирует открытую транзакцию, и эта команда поддерживает только временные таблицы.
пример
В этом примере давайте создадим таблицу с именем tutorials_tbl, используя следующие данные.
Старший Нет | Название столбца | Тип данных |
---|---|---|
1 | Я БЫ | Int |
2 | заглавие | Варчар (50) |
3 | Автор | Варчар (20) |
4 | Дата подачи | Свидание |
Следующий запрос используется для создания таблицы tutorials_tbl вместе с данными данного столбца.
CREATE TABLE tutorials_tbl (
id INT NOT NULL,
title VARCHAR(50) NOT NULL,
author VARCHAR(20) NOT NULL,
submission_date DATE
);
Вышеупомянутый запрос дает следующий результат.
(0) rows effected
Создать схему
Создать схему - это команда, используемая для создания зависимой от пользователя схемы с определенной авторизацией (под текущим зарегистрированным пользователем).
Синтаксис
Ниже приводится общий синтаксис команды «Создать схему».
CREATE SCHEMA [ IF NOT EXISTS ] name [ AUTHORIZATION ownerUserName ]
В приведенном выше обобщенном синтаксисе AUTHORIZATION - это ключевое слово, используемое для предоставления соответствующего имени пользователя. Эта команда является необязательной, что означает, что если мы не указываем имя пользователя, она будет учитывать текущего пользователя. Пользователь, выполняющий команду, должен иметь права администратора, а также владелец.
Эта команда фиксирует открытую транзакцию в этом соединении.
пример
В этом примере давайте создадим схему с именем test_schema под пользователем SA, используя следующую команду.
CREATE SCHEMA test_schema AUTHORIZATION sa;
Приведенная выше команда дает следующий результат.
(0) rows effected
Создать последовательность
Последовательность - это концепция, которая используется для генерации числа путем следования последовательности для идентификатора или любых случайных значений столбца.
Синтаксис
Ниже приводится общий синтаксис команды создания последовательности.
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 ]
Этот общий синтаксис используется для создания последовательности. Тип данных последовательностиBIGINT. В этой последовательности значения никогда не используются повторно, даже если транзакция откатывается.
пример
В этом примере давайте создадим последовательность с именем SEQ_ID, используя следующий запрос.
CREATE SEQUENCE SEQ_ID;
Вышеупомянутый запрос дает следующий результат.
(0) rows effected