返回首页

gbase数据、南大通用产品文档:GBase8sSQL 语句的类别

更新日期:2024年09月11日

传统上将 SQL 语句划分为以下逻辑类别:
数据定义语句
这些数据定义语言(DDL)语句可声明、重命名、修改或破坏数据库对象。
数据操纵语句

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 15
这些数据操纵语言(DML)语句可检索、插入、删除或修改数据值。
游标操纵语句
这些语句可声明、打开和关闭游标,游标是用于对多行数据操作的数据结构。
动态管理语句
这些语句支持内存管理并运行用户在运行时指定 DML 操作的详细信息。
数据访问语句
这些语句指定访问特权并支持多个用户对数据库的同时访问。
数据完整性语句
这些语句执行事务日志记录并支持数据库的参照完整性。
优化语句
这些语句可用于提高数据库操作的性能。
例程定义语句
这些语句可声明、定义、修改、执行或破坏数据库存储的用户定义的例程。
客户机/服务器连接语句
这些语句可打开或关闭数据库和客户机应用程序之间的连接。
辅助语句
这些语句可提供关于数据库的信息。(这也是一个剩余类别,用于不与其他语句
紧密相关的语句。)
数据定义语言语句
SQL 数据定义语言(DDL)创建、修改、重命名或销毁数据库对象并对数据库中
系统目录表中的行进行相应的修改。

ALTER ACCESS_METHOD

ALTER FRAGMENT

ALTER FUNCTION

ALTER INDEX

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 16

ALTER PROCEDURE

ALTER ROUTINE

ALTER SEQUENCE

ALTER SECURITY LABEL COMPONENT

ALTER TABLE

ALTER TRUSTED CONTEXT

ALTER USER

CLOSE DATABASE

CREATE ACCESS_METHOD

CREATE AGGREGATE

CREATE CAST

CREATE DATABASE

CREATE DEFAULT USER

CREATE DISTINCT TYPE

CREATE EXTERNAL TABLE

CREATE FUNCTION

CREATE FUNCTION FROM

CREATE INDEX

CREATE OPAQUE TYPE

CREATE OPCLASS

CREATE PROCEDURE

CREATE PROCEDURE FROM

CREATE ROLE

CREATE ROUTINE FROM

CREATE ROW TYPE

CREATE SCHEMA

CREATE SECURITY LABEL

CREATE SECURITY LABEL COMPONENT

CREATE SECURITY POLICY

CREATE SEQUENCE

CREATE SYNONYM

CREATE TABLE

CREATE TEMP TABLE

CREATE TRIGGER

CREATE TRUSTED CONTEXT

CREATE USER

CREATE VIEW

CREATE XADATASOURCE

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 17

CREATE XADATASOURCE TYPE

DROP ACCESS_METHOD

DROP AGGREGATE

DROP CAST

DROP DATABASE

DROP FUNCTION

DROP INDEX

DROP OPCLASS

DROP PROCEDURE

DROP ROLE

DROP ROUTINE

DROP ROW TYPE

DROP SECURITY

DROP SEQUENCE

DROP TRUSTED CONTEXT

DROP SYNONYM

DROP TABLE

DROP TRIGGER

DROP TYPE

DROP USER

DROP VIEW

DROP XADATASOURCE

DROP XADATASOURCE TYPE

RENAME COLUMN

RENAME DATABASE

RENAME INDEX

RENAME SECURITY

RENAME SEQUENCE

RENAME TABLE

RENAME TRUSTED CONTEXT

RENAME USER

TRUNCATE

UPDATE STATISTICS
数据操纵语言语句

DELETE

INSERT

LOAD

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 18

MERGE

SELECT

UNLOAD

UPDATE
注: SQL 的 ANSI/ISO 标准中的 DML 语句包括 DELETE 、INSERT 、
MERGE 、SELECT 和 UPDATE 语句。MERGE 可模拟 INSERT 和 DELETE
或 UPDATE 。尽管 LOAD 和 UNLOAD 在功能上类似于 DML ,但这些 DB-
Access 宏不在本手册中对“DML 语句”的大多数引用范围内。
数据完整性语句

BEGIN WORK

COMMIT WORK

SAVEPOINT

RELEASE SAVEPOINT

ROLLBACK WORK

SET Database Object Mode

SET LOG

SET Transaction Mode

START VIOLATIONS TABLE

STOP VIOLATIONS TABLE
游标操纵语句

CLOSE

DECLARE

FETCH

FLUSH

FREE

OPEN

OPEN FOR

PUT

SET AUTOFREE
动态管理语句

ALLOCATE COLLECTION

ALLOCATE DESCRIPTOR

ALLOCATE ROW

DEALLOCATE COLLECTION

DEALLOCATE DESCRIPTOR

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 19

DEALLOCATE ROW

DESCRIBE

DESCRIBE INPUT

EXECUTE

EXECUTE IMMEDIATE

FREE

GET DESCRIPTOR

INFO

PREPARE

SET DEFERRED_PREPARE

SET DESCRIPTOR
数据访问语句

GRANT

GRANT FRAGMENT

LOCK TABLE

REVOKE

REVOKE FRAGMENT

SET ISOLATION

SET LOCK MODE

SET ROLE

SET SESSION AUTHORIZATION

SET TRANSACTION

SET Transaction Mode

UNLOCK TABLE
优化语句

SAVE EXTERNAL DIRECTIVES

SET ENVIRONMENT

SET EXPLAIN

SET OPTIMIZATION

SET PDQPRIORITY

SET STATEMENT CACHE
例程定义语句

ALTER FUNCTION

ALTER PROCEDURE

ALTER ROUTINE

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 20

CREATE FUNCTION

CREATE FUNCTION FROM

CREATE PROCEDURE

CREATE PROCEDURE FROM

CREATE ROUTINE FROM

DROP FUNCTION

DROP PROCEDURE

DROP ROUTINE

EXECUTE FUNCTION

EXECUTE PROCEDURE

SET DEBUG FILE TO
辅助语句

GET DIAGNOSTICS

INFO

OUTPUT

SET COLLATION

SET DATASKIP

SET ENCRYPTION PASSWORD

SET USER PASSWORD

WHENEVER
客户机/服务器连接语句

CONNECT

DATABASE

DISCONNECT

SET CONNECTION

查询load_result 导致io 负载高
问题现象
定时下发select * from information_shema.load_result order by taskid limit
1 这种查询,当load_result 表记录比较多时,如有几GB 时,查询在/tmp/目录
下写#sql.MYI 和#sql.MYD 的文件,
生成文件很大,
磁盘io 负载很高,
同时该sql
查询也很慢,得需要四五百秒以上才能执行完。
解决方法:
1. 创建express 引擎表,将数据insert select 到express 表
2. 监控和清理load_result.log,如每天生成一个新的日志文件,每个日志文件
大小控制在100M 以下的方式。

ALTER TABLE...ADD FULLTEXT INDEX 语句建立全文索引
语法格式
建表后通过修改表定义的方法指明哪一列需要建立全文索引。
ALTER TABLE table_name ADD FULLTEXT [INDEX]
index_name(column_name) [INDEX_DATA_PATH='path']
表5- 36 参数说明
参数名称


index_name
索引名(索引名表级唯一,索引名将不区分大小写)。
table_name
表名。
column_name
索引列列名,支持CHAR、VARCHAR 或TEXT 类型。
INDEX_DATA_PATH
可选项,设置索引数据路径标志。如不填写,则索引数据保
存在默认路径上。
path
索引数据存放路径,此路径应为实际已存在的路径。
注意
执行用户需要对path 指定的存放索引数据的目录具有读写权限。
示例
示例1:修改表定义在MB_Text 列建立全文索引。
gbase>
DROP TABLE IF EXISTS sms;
Query OK, 0 rows affected
gbase> CREATE TABLE sms (MB_No char(11),MB_Text varchar(1000) DEFAULT
NULL);
Query OK, 0 rows affected
gbase> ALTER TABLE sms add fulltext index idx_t (MB_Text)
INDEX_DATA_PATH='/home/fti/';
Query OK, 0 rows affected
Records: 0
Duplicates: 0
Warnings: 0