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
子句不支持
|