返回首页

gbase数据、南大通用产品文档:GBase8caudit_enabled

更新日期:2024年09月11日

参数说明:控制审计进程的开启和关闭。
审计进程开启后,
将从管道读取后台进程写入
的审计信息,并写入审计文件。
该参数属于SIGHUP 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:布尔型

on 表示启动审计功能。

off 表示关闭审计功能。
默认值:on

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1373

GBase UP 通过CREATE TABLE 语句可以创建8a 引擎的表格,
CREATE TABLE 以
用户给定的名字在当前数据库创建一个表。用户必须有创建表的权限。
语法格式
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] [database_name.]table_name
(column_definition [,column_definition], ... [, key_options])
[table_options]
[NOCOPIES];
column_definition:
column_name data_type [NOT NULL
| NULL] [DEFAULT default_value] [COMMENT
comment_value] [URI]
key_options:
KEY key_name ('column_name') [key_dc_size = dc_value USING HASH GLOBAL]
table_options:
[REPLICATED | DISTRIBUTED BY ('column_name') ]
[COMMENT 'comment_value']
参数说明

TEMPORARY:该参数为可选参数,创建临时表需要使用此关键字。临时表的
创建请参见“5.4.7.2.1.3 CREATE TEMPORARY TABLE”的内容。

IF NOT EXISTS:该参数为可选参数,
用户可以使用关键字IF NOT EXISTS 创
建表,如果表已经存在,系统将报告WARNING 信息。

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 606

database_name:该参数为可选参数,指定数据库后,在此数据库下创建表。如
果没有显示指定database_name 参数,创建的表隶属于USE database_name 后
的数据中的表。

table_name:表命名规则请参见
“5.8.1.1 数据库、
表、
列和别名”

默认情况下,
在当前数据库中创建表。如果没有指定当前数据库或表已经存在,则报告错误
信息。

column_name:指定表中的数据列。

data_type:指定数据列的数据类型。数据类型参见“错误!未找到引用源。 数
据类型”中的内容。

NOT NULL | NULL:指定数据列的值,是否允许为NULL。如果既没有指定
NULL 也没有指定NOT NULL,列被视为指定了NULL。

default_value:指定数据列的默认值。默认值必须是一个常数,而不能是一个
函数或者一个表达式。举例来说,用户不能将一个数据列的默认值设置为
NOW()或者CURRENT_DATE()之类的函数。对于给定的一个表,可以使用
SHOW CREATE TABLE 语句来查看哪些列有显式DEFAULT 子句。

comment_value:指定数据列的备注说明。例如:stu_no id COMMENT '学号'。


key_options:指定表中的hash 列。同时可以使用key_dc_size 参数指定创建分段
Hash INDEX。
表 5-1 dc_value 值
最小值
最大值
备注
0
2147483646
默认为0(即在整列上创建HASH)

table_options:默认为随机分布表。

REPLICATED:指定是否是复制表。

在创建一个表时,
用户可以使用关键词REPLICATED 来指定是否创建复制表。
如果指定了关键词REPLICATED,那么创建的复制表在GBase UP 的各个节点
上存放的是完整数据。
注意:复制表表名尾部不允许是_n{number}编号,例如,mytable_n1,
mytable_n12 是不允许使用的。

DISTRIBUTED BY column_name:
指定创建表中的物理列column_name 是哈希
列,这样创建的表,称为哈希分布表。哈希列必须是INT 或者VARCHAR 类
型。

key_dc_size = dc_value USING HASH GLOBAL:
配合DISTRIBUTED BY 使用,
指定分段HASH 列,同时创建多个分段HASH 列。

COMMENT:指定表的备注说明。可以用SHOW CREATE TABLE table_name
和SHOW FULL COLUMNS FROM table_name 语句来显示备注信息。

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 607
示例
示例1:创建一张随机分布表。
gbase> CREATE TABLE t1(a int, b int) ;
Query OK, 1 row affected
示例2:创建一张复制表。
gbase> CREATE TABLE t2(a int, b int) REPLICATED;
Query OK, 1 row affected
gbase> SHOW CREATE TABLE t2;
+-------+-----------------------------------------------------------------+
| Table | Create Table |
+-------+-----------------------------------------------------------------+
| t2 | CREATE TABLE "t2" (
"a" int(11) DEFAULT NULL,
"b" int(11) DEFAULT NULL
) ENGINE=EXPRESS REPLICATED DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace'|
+-------+-----------------------------------------------------------------+
1 row in set
gbase> DESC t2;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| a | int(11) | YES | | NULL | |
| b | int(11) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
2 rows in set
示例3:创建带有列注释信息的表。

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 608
gbase> CREATE TABLE t1 (f_username varchar(10) comment 'name' ) ;
Query OK, 0 rows affected
gbase> DESC t1;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| f_username | varchar(10) | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
1 row in set
gbase> SHOW CREATE TABLE t1;
+-------+--------------------------------------------------------+
| Table | Create Table |
+-------+--------------------------------------------------------+
| t1 | CREATE TABLE "t1" (
"f_username" varchar(10) DEFAULT NULL COMMENT 'name'
) ENGINE=EXPRESS DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace'|
+-------+--------------------------------------------------------+
1 row in set

UPDATE 语句的任一形式都可以确定修改那些行的 WHERE 子句结尾。如果您省略
WHERE 子句,
则修改所有行。
要选择在 WHERE 子句中需要更改的精确行集可能非常复
杂。对 WHERE 子句的唯一限制是,不可在子查询的 FROM 子句中命名您更新的表。
UPDATE 语句的第一种形式是,使用一系列赋值子句来指定新的列值,如下例所示:

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 171 -

UPDATE customer
SET fname = 'Barnaby', lname = 'Dorfler'
WHERE customer_num = 103;
WHERE 子句选择您想要更新的行。在演示数据库中,customer.customer_num 列是那个表
的主键,因此,此语句最多可更新一行。
您还可在 WHERE 子句中使用子查询。
假设 Anza 公司对他们的网球发出安全召回。
结果
是,包括来自制造商 ANZ 的库存编号 6 的任何未装运的订单都必须设定为延期交货,如
下例所示:
UPDATE orders
SET backlog = 'y'
WHERE ship_date IS NULL
AND order_num IN
(SELECT DISTINCT items.order_num FROM items
WHERE items.stock_num = 6
AND items.manu_code = 'ANZ');
此子查询返回一订单编号(零个或多个)的列。然后,该 UPDATE 操作针对该列表测
试 orders 的每一行,如果那一行相匹配,则执行更新。