16.
SQLライクにデータベースを操作可能
スキーマ定義(DDL)
CREATE TABLE Item (
id AS INTEGER,
description AS INTEGER,
deadline as DATE_TIME,
done as BOOLEAN,
PRIMARY KEY ON ('id')
);
CREATE INDEX idxDeadLine ON
Item.deadline DESC;
schemaBuilder.createTable('Item').
addColumn('id', lf.Type.INTEGER).
addColumn('description', lf.Type.STRING).
addColumn('deadline', lf.Type.DATE_TIME).
addColumn('done', lf.Type.BOOLEAN).
addPrimaryKey(['id']).
addIndex('idxDeadline', ['deadline'],
false, lf.Order.DESC);
17.
SQLライクにデータベースを操作可能
データ操作(DML)
//INSERT OR REPLACE
INSERT OR REPLACE INTO Item
VALUES row;
!
//SELECT
SELECT * FROM Item WHERE
Item.done = false;
!
//DELETE
DELETE FROM infoCard WHERE
lang = 'es';
//INSERT OR REPLACE
db.insertOrReplace().into(item).values([row]).
exec();
!
!
//SELECT
db.select().from(item).where(item.done.eq(fals
e)).exec();
!
//DELETE
db.delete().from(infoCard).where(infoCard.lang
.eq('es')).exec();
18.
Lovefieldのその他の機能
テーブル結合/グループ化
INNER JOIN innerJoin()
LEFT OUTRER JOIN leftOuterJoin()
GROUP BY groupBy()
検索索条件
= eq
<> neq
< lt
<= lte
> gt
>= gte
SIMILAR match(regex)
BETWEEN between
IN in
IS NULL isNull
IS NOT NULL isNotNull
AND lf.op.and
OR lf.op.or
NOT lf.op.not
フィルタ/ソート
LIMIT limit()
SKIP skip()
ORDER BY orderBy()
集合関数
AVG lf.fn.avg
COUNT lf.fn.count
DISTINCT lf.fn.distinct
MAX lf.fn.max
MIN lf.fn.min
STDDEV lf.fn.stddev
SUM lf.fn.sum
制約(実装中)
FOREIGN KEY addForeignKey()
Be the first to comment