H2 CREATE
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-关闭或打开数据库时删除临时表。基本上,临时表有两种类型-
GLOBAL 类型-所有连接均可访问。
LOCAL 类型-当前连接可访问。
临时表的默认类型是全局类型。临时表的索引保存在主内存中,除非临时表是使用 CREATE CACHED TABLE 创建的。
ENGINE-只有在使用自定义表实现时才需要 ENGINE 选项。
NOT PERSISTENT-将完整的表数据保存在内存中并且在数据库关闭时所有行都丢失的修饰符。
TRANSACTIONAL-这是一个提交打开事务的关键字,该命令仅支持临时表。
示例
在本例中,让我们使用以下给定数据创建一个名为 tutorials_tbl 的表。
Sr.No |
列名 |
数据类型 |
1 |
身份证 |
内部 |
2 |
标题 |
Varchar(50) |
3 |
作者 |
Varchar(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
);
上述查询产生以下输出。
创建架构
Create Schema 是用于在特定授权下(在当前注册用户下)创建依赖于用户的架构的命令。
语法
以下是创建架构命令的通用语法。
CREATE SCHEMA [ if NOT EXISTS ] name [ AUTHORIZATION ownerUserName ]
在上述通用语法中,AUTHORIZATION 是用于提供相应用户名的关键字。此命令是可选的,这意味着如果我们不提供用户名,则它将考虑当前用户。执行命令的用户必须具有管理员权限,以及所有者。
此命令在此连接中提交一个打开的事务。
示例
在本例中,让我们使用以下命令在 SA 用户下创建一个名为
test_schema 的架构。
CREATE SCHEMA test_schema AUTHORIZATION sa;
以上命令产生以下输出。
创建序列
序列是一个概念,用于通过遵循 id 或任何随机列值的序列来生成数字。
语法
以下是创建序列命令的通用语法。
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 的序列。
上述查询产生以下输出。