LDBC 支持的语法
1 Insert 语句
插入单行数据: INSERT INTO tableName [ (columnName [,...] ) ] VALUES ( value [,...] )
比如: INSERT INTO HELLO_WORLD VALUES(1)
使用结果集插入数据: INSERT INTO tableName [ (columnName [,...] ) ] SELECT ...
比如: INSERT INTO HELLO_WORLD(ID, NAME) SELECT ID, NAME FROM OLD_TABLE
2 UPDATE 语句
UPDATE tableName
SET columnName=expression [,...]
[ WHERE condition ]
比如: UPDATE HELLO_WORLD SET ID=ID+1
3 DELETE 语句
DELETE FROM tableName
[ WHERE condition ]
比如: DELETE FROM HELLO_WORLD
4 SELECT 语句
SELECT [DISTINCT] { * | selectList }
FROM tableList
[ WHERE condition ]
[ GROUP BY columnName [,...] ]
[ HAVING condition ]
[ ORDER BY columnName [{ASC|DESC}] [,...] ]
比如: SELECT ID, COUNT(*) FROM TEST GROUP BY ID HAVING COUNT(*)>1
5 CREATE TABLE 语句
CREATE TABLE [IF NOT EXISTS] tableName (
columnDefinition [,...]
[,PRIMARY KEY(column [,...])]
[,FOREIGN KEY(column [,...]) REFERENCES tableName ( column [,...])]
)
其中列定义 columnDefinition 的语法为: columnName dataType [[NOT] NULL] [PRIMARY KEY] [DEFAULT value]
dataType 为可取的数据类型,目前支持下面的数据类型: INT INT AUTOINCREMENT VARCHAR(size) DECIMAL(precision,scale) DATETIME BLOB CLOB
比如: CREATE TABLE ORDERLINE(ORDER_ID INT,LINE INT,TEXT VARCHAR(255),AMOUNT DECIMAL(10,2),PRIMARY KEY(ORDER_ID,LINE)) 
6 CREATE INDEX 语句
CREATE INDEX indexName ON tableName ( columnName [,...] )
比如: CREATE INDEX IDXID ON HELLO_WORLD (ID)
7 DROP TABLE 语句
DROP TABLE [IF EXISTS] tableName
比如: DROP TABLE HELLO_WORLD
8 DROP INDEX 语句
DROP INDEX indexName ON tableName
比如: DROP INDEX IDXID ON HELLO_WORLD
9 ALTER TABLE 语句
ALTER TABLE tableName DROP CONSTRAINT constraintName
比如: ALTER TABLE CHILD DROP CONSTRAINT FK_1
ALTER TABLE tableName RENAME TO newTableName
比如: ALTER TABLE TEST RENAME TO TESTING
ALTER TABLE tableName ADD COLUMN columnName dataType [[NOT] NULL] [DEFAULT value]
比如: ALTER TABLE TEST ADD COLUMN Y INT NOT NULL
10 COMMIT ROLLBACK SET AUTOCOMMIT [ TRUE | FALSE ]
 
LDBC 支持的函数:
函数
函数描述
举例
CAST(value AS type)
类型转换
CAST('5' AS INT) = 5
LENGTH(text)
取得字符串长度
LENGTH('Hello') = 5
MOD(value,dividend)
取余运算
MOD(10, 3) = 1
CONCAT(s1,s2)
字符串连接
CONCAT('A', 'B') = 'AB'
LOWER(s)
字符串转化为小写
LOWER('Hello') = 'hello'
UPPER(s)
字符串转化为大写
UPPER('Hello') = 'HELLO'
NOW()
得到当前时间戳
NOW() = '2002-08-16'
LDBC 支持的聚集函数: Count Min Max Sum Avg
 
LDBC 支持的数据库
数据库
状态
说明
Oracle 9.2.0
可用
Varchar null 支持有问题
Oracle 8.1.7
可用
不支持 outer join Blob 类型有限制
Microsoft SQL Server 2000
可用
 
MySQL
可用
Varchar 支持有问题, FOREIGN KEY 支持有问题
INSERT INTO .. SELECT ..
语句支持有问题
IBM DB2
可用
 
PostgreSQL
可用
Blob 类型有限制
InterBase
未测试
 
Firebird
未测试
 
PointBase
可用
 
HSQLDB
可用
事务不隔离, HAVING 子句不支持