
j-sql
generate sql from js
api
- select
- update
- insert
- del
- set
- where
- or
- order
- group
- limit
- done
examples
install
var SQL = require('j-sql')
sql select
var sql = SQL.select('user_table', '*').done()
var sql = SQL.select('user_table', ['name', 'age', 'point', 'create_time']).done()
var sql = SQL.select('user_table', {
name: 'name',
age: 'age',
point: 'point',
create_time: 'createTime'
}).done()
var sql = SQL.select('user_table', ['name', 'age', 'point', 'create_time']).limit('0,30').done()
var sql = SQL.select('user_table', ['name', 'age', 'point', 'create_time']).group('name').done()
supported where options
=
<>
means between
<
<=
>
>=
like
var sql = SQL.select('user_table', ['name', 'age', 'point', 'create_time']).where({
'name': ['=', 'hao'],
'age': ['<>', 12, 23],
'point': ['>', 1200]
}).done()
var sql = SQL.select('user_table', ['name', 'age', 'point', 'create_time']).where({
'name': ['like', '%hao%']
}).done()
var sql = SQL.select('user_table', ['name', 'age', 'point', 'create_time']).order({
age: 'asc',
point: 'desc'
}).done()
- support multi table query, but when you use
==
in where options
or or options
, the string
will not be translate to "string"
var sql = SQL.select('user_table, member_table', {
'user_table.name': 'name',
'user_table.age': 'age',
'user_table.point': 'point',
'user_table.create_time': 'createTime',
'member_table.id': 'memberId',
'member_table.nickname': 'nickname'
}).where({
'user_table.name': ['=', 'hao'],
'user_table.age': ['<>', 12, 23],
'user_table.point': ['>', 1200],
'member_table.user_id': ['==', 'user_table._id'],
'member_table.nickname': ['=', 'hello']
}).order({
'user_table.age': 'asc',
'user_table.point': 'desc'
}).limit('0,30').done()
var sql = SQL.select('user_table u, member_table m', {
'u.name': 'name',
'u.age': 'age',
'u.point': 'point',
'u.create_time': 'createTime',
'm.id': 'memberId',
'm.nickname': 'nickname'
}).where({
'u.name': ['=', 'hao'],
'u.age': ['<>', 12, 23],
'u.point': ['>', 1200],
'm.user_id': ['==', 'u._id'],
'm.nickname': ['=', 'hello']
}).order({
'u.age': 'asc',
'u.point': 'desc'
}).limit('0,30').done()
sql update
var sql = SQL.update('user_table').set({
name: 'hao',
age: 22,
point: 1200,
create_time: '2013-8-26'
}).done()
var sql = SQL.update('user_table').set({
name: 'xin',
age: 23,
point: 1300,
create_time: '2013-8-27'
}).where({
'name': ['=', 'hao'],
'age': ['<>', 12, 23],
'point': ['>', 1200]
}).done()
sql insert
var sql = SQL.insert('user_table').set({
name: 'hao',
age: 12,
point: 3333,
create_time: '2013-09-14'
}).done()
var sql = SQL.insert('user_table').values({
name: 'hao',
age: 12,
point: 3333,
create_time: '2013-09-14'
}).done()
sql delete
var sql = SQL.del('user_table').where({
'name': ['=', 'hao'],
'age': ['<>', 12, 23],
'point': ['>', 1200]
}).done()
var sql = SQL.del('user_table').where({
'name': ['=', 'hao'],
'age': ['<>', 12, 23],
'point': ['>', 1200]
}).or({
'nickname': ['=', 'hx'],
'money': ['<>', 2345, 3456],
'phone': ['>', 2345678]
}).done()