LDBC
支持的語法
(
1
)
Insert
語句
插入單行數(shù)據(jù):
INSERT INTO tableName [ (columnName [,...] ) ] VALUES ( value [,...] )
比如:
INSERT INTO HELLO_WORLD VALUES(1)
使用結(jié)果集插入數(shù)據(jù):
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
為可取的數(shù)據(jù)類型,目前支持下面的數(shù)據(jù)類型:
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
支持的函數(shù):
函數(shù)
|
函數(shù)描述
|
舉例
|
CAST(value AS type)
|
類型轉(zhuǎn)換
|
CAST('5' AS INT) = 5
|
LENGTH(text)
|
取得字符串長(zhǎng)度
|
LENGTH('Hello') = 5
|
MOD(value,dividend)
|
取余運(yùn)算
|
MOD(10, 3) = 1
|
CONCAT(s1,s2)
|
字符串連接
|
CONCAT('A', 'B') = 'AB'
|
LOWER(s)
|
字符串轉(zhuǎn)化為小寫
|
LOWER('Hello') = 'hello'
|
UPPER(s)
|
字符串轉(zhuǎn)化為大寫
|
UPPER('Hello') = 'HELLO'
|
NOW()
|
得到當(dāng)前時(shí)間戳
|
NOW() = '2002-08-16'
|
LDBC
支持的聚集函數(shù):
Count
、
Min
、
Max
、
Sum
、
Avg
。
?
LDBC
支持的數(shù)據(jù)庫
數(shù)據(jù)庫
|
狀態(tài)
|
說明
|
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
|
未測(cè)試
|
?
|
Firebird
|
未測(cè)試
|
?
|
PointBase
|
可用
|
?
|
HSQLDB
|
可用
|
事務(wù)不隔離,
HAVING
子句不支持
|
?
?