开发手册 欢迎您!
软件开发者资料库

H2数据库 - 创建

H2数据库创建 - 从简单和简单的步骤学习H2数据库从基本到高级概念,包括简介,安装,数据操作选择,插入,更新,删除,备份,调用,解释,合并,显示,数据定义创建,更改,删除,截断,提交,授予,保存点,回滚,JDBC连接。

CREATE是一个通用SQL命令,用于在H2数据库服务器中创建表,模式,序列,视图和用户.

创建表

Create Table是一个用于在当前数据库中创建用户定义表的命令.

语法

以下是Create的通用语法表命令.

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创建临时表.

    • GLOBAL type : 所有连接均可访问.

    • LOCAL type : 可通过当前连接访问.

  • ENGINE : 只有在使用自定义表实现时才需要ENGINE选项.

  • NOT PERSISTENT : 它是一个修饰符,用于将完整的表数据保存在内存中,并且在数据库关闭时所有行都会丢失.

  • TRANSACTIONAL  : 去;它是一个提交打开事务的关键字,该命令仅支持临时表.

示例

在这个例子中,让我们使用以下给定数据创建一个名为tutorials_tbl的表.

Sr.No列名数据类型
1IDInt
2TitleVarchar(50)
3AuthorVarchar(20)
4Submission_date日期

以下查询用于创建表 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命令的通用语法.

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

在上面的通用语法中,AUTHORIZATION是用于提供相应用户名的关键字.此命令是可选的,这意味着如果我们不提供用户名,那么它将考虑当前用户.执行命令的用户必须具有管理员权限以及所有者.

此命令在此连接中提交打开的事务.

示例

在此示例中,让我们使用以下命令在SA用户下创建名为 test_schema 的模式.

CREATE SCHEMA test_schema AUTHORIZATION sa;

上述命令产生以下输出.

(0) rows effected

创建序列

序列是用于通过跟随id或序列生成数字的概念任何随机列值.

语法

以下是create sequence命令的通用语法.

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