mm_mysql 2.0.1 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +266 -234
- package/db.js +516 -286
- package/index.js +981 -394
- package/package.json +13 -13
- package/sql.js +904 -396
- package/config.json +0 -8
- package/link_model.js +0 -132
- package/sql.json +0 -56
- package/test.js +0 -846
- package/upgrade.sql +0 -34
package/test.js
DELETED
|
@@ -1,846 +0,0 @@
|
|
|
1
|
-
const Mysql = require('./index.js').Mysql;
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* 测试导入sql文件
|
|
5
|
-
*/
|
|
6
|
-
async function test() {
|
|
7
|
-
var sql = new Mysql();
|
|
8
|
-
sql.setConfig({
|
|
9
|
-
database: 'test',
|
|
10
|
-
// 连接用户名
|
|
11
|
-
user: "root",
|
|
12
|
-
// 连接密码
|
|
13
|
-
password: "Asd159357",
|
|
14
|
-
multipleStatements: true
|
|
15
|
-
});
|
|
16
|
-
// await sql.open();
|
|
17
|
-
|
|
18
|
-
await sql.load("./upgrade.sql");
|
|
19
|
-
|
|
20
|
-
// db = sql.db();
|
|
21
|
-
// db.table = 'user_account';
|
|
22
|
-
// db.key = "user_id";
|
|
23
|
-
// var obj = await db.getObj({
|
|
24
|
-
// "user_id": "1"
|
|
25
|
-
// });
|
|
26
|
-
// console.log("查询对象", obj);
|
|
27
|
-
|
|
28
|
-
// var i = 0;
|
|
29
|
-
// var timer = setInterval(async () => {
|
|
30
|
-
// var now = new Date();
|
|
31
|
-
// var start = now.getTime();
|
|
32
|
-
// console.log(start);
|
|
33
|
-
// var bl = await db.set({
|
|
34
|
-
// "user_id": "1"
|
|
35
|
-
// }, {
|
|
36
|
-
// "nickname": "hao" + (i++)
|
|
37
|
-
// });
|
|
38
|
-
// now = new Date();
|
|
39
|
-
// var end = now.getTime();
|
|
40
|
-
// console.log(end);
|
|
41
|
-
// console.log(end - start);
|
|
42
|
-
// console.log("测试", bl);
|
|
43
|
-
// }, 3000);
|
|
44
|
-
|
|
45
|
-
// obj.nickname = "hao";
|
|
46
|
-
// console.log("查询对象", obj, db.error, db.sql);
|
|
47
|
-
|
|
48
|
-
// // 导入
|
|
49
|
-
// var ret = await sql.load("./data.sql".fullname(__dirname), function(progress, index, error, sql_str) {
|
|
50
|
-
// console.log("导入", progress, index, error, sql_str);
|
|
51
|
-
// });
|
|
52
|
-
// console.log("导入结果", ret);
|
|
53
|
-
|
|
54
|
-
// 导出指定表'user_account', 'user_info'
|
|
55
|
-
// var ret2 = await sql.save("./bat.sql".fullname(__dirname), function(progress, index, error, sql_str) {
|
|
56
|
-
// console.log("导出", progress, index, error, sql_str);
|
|
57
|
-
// }, ['user_account', 'user_info']);
|
|
58
|
-
// console.log("导出结果", ret2);
|
|
59
|
-
|
|
60
|
-
// // 导出
|
|
61
|
-
// var ret2 = await sql.save("./bat.sql".fullname(__dirname), function(progress, index, error, sql_str) {
|
|
62
|
-
// // console.log("导出", progress, index, error, sql_str);
|
|
63
|
-
// });
|
|
64
|
-
// console.log("导出结果", ret2);
|
|
65
|
-
|
|
66
|
-
// // 导入
|
|
67
|
-
// var ret = await sql.load("./bat.sql".fullname(__dirname), function(progress, index, error, sql_str) {
|
|
68
|
-
// // console.log("导入", progress, index, error, sql_str);
|
|
69
|
-
// });
|
|
70
|
-
// console.log("导入结果", ret);
|
|
71
|
-
|
|
72
|
-
sql.close();
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
test();
|
|
76
|
-
|
|
77
|
-
// function test() {
|
|
78
|
-
// var setSql = "`nickname`='hao,1,2,3',`gm`=5,`mc`=2,`group`='2,3'";
|
|
79
|
-
// var mh = setSql.match(/'.*'/);
|
|
80
|
-
// console.log(mh);
|
|
81
|
-
// }
|
|
82
|
-
// test();
|
|
83
|
-
// return
|
|
84
|
-
// var sql = new Mysql();
|
|
85
|
-
// sql.setConfig({
|
|
86
|
-
// multipleStatements: true
|
|
87
|
-
// });
|
|
88
|
-
// sql.open();
|
|
89
|
-
|
|
90
|
-
// var tpl = {
|
|
91
|
-
// "query": {
|
|
92
|
-
// "state_min": "`state` >= '{0}'",
|
|
93
|
-
// "state_max": "`state` <= '{0}'",
|
|
94
|
-
// "vip_min": "`vip` >= '{0}'",
|
|
95
|
-
// "vip_max": "`vip` <= '{0}'",
|
|
96
|
-
// "gm_min": "`gm` >= '{0}'",
|
|
97
|
-
// "gm_max": "`gm` <= '{0}'",
|
|
98
|
-
// "mc_min": "`mc` >= '{0}'",
|
|
99
|
-
// "mc_max": "`mc` <= '{0}'",
|
|
100
|
-
// "create_time_min": "`create_time` >= '{0}'",
|
|
101
|
-
// "create_time_max": "`create_time` <= '{0}'",
|
|
102
|
-
// "login_time_min": "`login_time` >= '{0}'",
|
|
103
|
-
// "login_time_max": "`login_time` <= '{0}'",
|
|
104
|
-
// "salt": "`salt` like '%{0}%'",
|
|
105
|
-
// "invite_code": "`invite_code` like '%{0}%'",
|
|
106
|
-
// "phone": "`phone` like '%{0}%'",
|
|
107
|
-
// "username": "`username` like '%{0}%'",
|
|
108
|
-
// "nickname": "`nickname` like '%{0}%'",
|
|
109
|
-
// "password": "`password` like '%{0}%'",
|
|
110
|
-
// "email": "`email` like '%{0}%'",
|
|
111
|
-
// "user_group": "`user_group` like '%{0}%'",
|
|
112
|
-
// "user_admin": "`user_admin` like '%{0}%'",
|
|
113
|
-
// "login_ip": "`login_ip` like '%{0}%'",
|
|
114
|
-
// "signature": "`signature` like '%{0}%'",
|
|
115
|
-
// "avatar": "`avatar` like '%{0}%'",
|
|
116
|
-
// "friends": "`friends` like '%{0}%'",
|
|
117
|
-
// "admin_group": "`admin_group` like '%{0}%'"
|
|
118
|
-
// },
|
|
119
|
-
// "update": {
|
|
120
|
-
// "state_add": "`state` = `state` + '{0}'",
|
|
121
|
-
// "vip_add": "`vip` = `vip` + '{0}'",
|
|
122
|
-
// "gm_add": "`gm` = `gm` + '{0}'",
|
|
123
|
-
// "mc_add": "`mc` = `mc` + '{0}'"
|
|
124
|
-
// }
|
|
125
|
-
// };
|
|
126
|
-
|
|
127
|
-
// // 测试模板修改
|
|
128
|
-
// async function test_tpl_set() {
|
|
129
|
-
// var sql = new Mysql();
|
|
130
|
-
// sql.open();
|
|
131
|
-
// db = sql.db();
|
|
132
|
-
// db.table = 'user_account';
|
|
133
|
-
// // 修改
|
|
134
|
-
// var query = {
|
|
135
|
-
// gm: '5|4',
|
|
136
|
-
// username: 'ad%m|in'
|
|
137
|
-
// };
|
|
138
|
-
// var body = {
|
|
139
|
-
// mc: 5,
|
|
140
|
-
// vip: 5,
|
|
141
|
-
// phone: '15817188815'
|
|
142
|
-
// }
|
|
143
|
-
// var query_str = db.tpl_query(query, tpl.query);
|
|
144
|
-
// var set_str = db.tpl_body(body, tpl.update);
|
|
145
|
-
|
|
146
|
-
// ret = await db.setSql(query_str, set_str);
|
|
147
|
-
// console.log('修改结果', ret);
|
|
148
|
-
// console.log('SQL语句', db.sql);
|
|
149
|
-
// }
|
|
150
|
-
// test_tpl_set();
|
|
151
|
-
|
|
152
|
-
// async function test() {
|
|
153
|
-
// console.log('测试开始')
|
|
154
|
-
// var sql = new Mysql();
|
|
155
|
-
// var db = sql.db();
|
|
156
|
-
// // 是否输出语法
|
|
157
|
-
// // sql.config.log = false;
|
|
158
|
-
// // 忽视那些错误的输出,例如[1062],忽视主键重复插入
|
|
159
|
-
// // sql.config.log_ignore = [];
|
|
160
|
-
|
|
161
|
-
// sql.setConfig({
|
|
162
|
-
// "user": "root",
|
|
163
|
-
// "password": "Asd159357"
|
|
164
|
-
// });
|
|
165
|
-
// sql.open();
|
|
166
|
-
// // sql.close();
|
|
167
|
-
// // sql.open();
|
|
168
|
-
|
|
169
|
-
// // --- 测试事件 ---
|
|
170
|
-
// $.eventer.on("mysql_add_before:user_account", function(json) {
|
|
171
|
-
// console.log("添加前", json);
|
|
172
|
-
// });
|
|
173
|
-
// $.eventer.on("mysql_add_after:user_account", function(json) {
|
|
174
|
-
// console.log("添加后", json);
|
|
175
|
-
// });
|
|
176
|
-
// $.eventer.on("mysql_del_before:user_account", function(json) {
|
|
177
|
-
// console.log("删除前", json);
|
|
178
|
-
// });
|
|
179
|
-
// $.eventer.on("mysql_del_after:user_account", function(json) {
|
|
180
|
-
// console.log("删除后", json);
|
|
181
|
-
// });
|
|
182
|
-
// $.eventer.on("mysql_set_before:user_account", function(json) {
|
|
183
|
-
// console.log("修改前", json);
|
|
184
|
-
// });
|
|
185
|
-
// $.eventer.on("mysql_set_after:user_account", function(json) {
|
|
186
|
-
// console.log("修改后", json);
|
|
187
|
-
// });
|
|
188
|
-
// $.eventer.on("mysql_addOrSet_before:user_account", function(json) {
|
|
189
|
-
// console.log("添加或修改前", json);
|
|
190
|
-
// });
|
|
191
|
-
// $.eventer.on("mysql_addOrSet_after:user_account", function(json) {
|
|
192
|
-
// console.log("添加或修改后", json);
|
|
193
|
-
// });
|
|
194
|
-
// $.eventer.on("mysql_get_before:user_account", function(json) {
|
|
195
|
-
// console.log("查询列表前", json);
|
|
196
|
-
// });
|
|
197
|
-
// $.eventer.on("mysql_get_after:user_account", function(json) {
|
|
198
|
-
// console.log("查询列表后", json);
|
|
199
|
-
// });
|
|
200
|
-
// $.eventer.on("mysql_getObj_before:user_account", function(json) {
|
|
201
|
-
// console.log("查询对象前", json);
|
|
202
|
-
// });
|
|
203
|
-
// $.eventer.on("mysql_getObj_after:user_account", function(json) {
|
|
204
|
-
// console.log("查询对象后", json);
|
|
205
|
-
// });
|
|
206
|
-
|
|
207
|
-
// db.table = "user_account";
|
|
208
|
-
// db.key = "user_id,username";
|
|
209
|
-
// var obj = await db.getObj({
|
|
210
|
-
// user_id_has: "1"
|
|
211
|
-
// });
|
|
212
|
-
// obj.vip += 1;
|
|
213
|
-
|
|
214
|
-
// await db.add(obj);
|
|
215
|
-
// console.log("尝试重复插入", db.error);
|
|
216
|
-
|
|
217
|
-
// // obj.vip -= 1;
|
|
218
|
-
// console.log("语法", db.sql, obj);
|
|
219
|
-
|
|
220
|
-
// obj.nickname = '管理员';
|
|
221
|
-
// // obj.vip -= 1;
|
|
222
|
-
// console.log("语法2", db.sql, obj);
|
|
223
|
-
|
|
224
|
-
// var list = await db.get({
|
|
225
|
-
// user_id_has: "1,2,a-3,4,5"
|
|
226
|
-
// });
|
|
227
|
-
// console.log("语法", db.sql, list.length);
|
|
228
|
-
|
|
229
|
-
// var list = await db.get({
|
|
230
|
-
// user_id: "1"
|
|
231
|
-
// });
|
|
232
|
-
// console.log("查询语法", db.sql, list.length);
|
|
233
|
-
|
|
234
|
-
// var list = await db.get({
|
|
235
|
-
// user_id: "1"
|
|
236
|
-
// }, null, null, true);
|
|
237
|
-
// console.log("模糊查询语法", db.sql, list.length);
|
|
238
|
-
|
|
239
|
-
// var obj = await db.getObj({
|
|
240
|
-
// user_id_has: "1,2,a-3,4,5"
|
|
241
|
-
// });
|
|
242
|
-
// console.log("语法", db.sql, obj);
|
|
243
|
-
|
|
244
|
-
// var bl = await db.addOrSet({
|
|
245
|
-
// user_id: obj.user_id
|
|
246
|
-
// }, obj);
|
|
247
|
-
// console.log("语法", db.sql, bl);
|
|
248
|
-
|
|
249
|
-
// var obj = await db.getObj({}, "user_id desc");
|
|
250
|
-
// var obj_new = Object.assign({}, obj);
|
|
251
|
-
// obj_new.user_id += 1;
|
|
252
|
-
// var bl = await db.addOrSet({
|
|
253
|
-
// user_id: obj_new.user_id
|
|
254
|
-
// }, obj_new);
|
|
255
|
-
// console.log("语法", db.sql, bl);
|
|
256
|
-
// }
|
|
257
|
-
// test();
|
|
258
|
-
// setInterval(() => {
|
|
259
|
-
// test();
|
|
260
|
-
// }, 3000)
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
// 测试模板查询
|
|
264
|
-
// async function test_tpl_get() {
|
|
265
|
-
// var sql = new Mysql();
|
|
266
|
-
// sql.setConfig({
|
|
267
|
-
// "user": "root",
|
|
268
|
-
// "password": "Asd159357"
|
|
269
|
-
// });
|
|
270
|
-
// sql.open();
|
|
271
|
-
// db = sql.db();
|
|
272
|
-
// var num = 0;
|
|
273
|
-
// db.table = 'user_account';
|
|
274
|
-
// var query = {
|
|
275
|
-
// gm_min: 2,
|
|
276
|
-
// username: 'ad%m|882'
|
|
277
|
-
// };
|
|
278
|
-
// db.page = 1;
|
|
279
|
-
// db.size = 5;
|
|
280
|
-
// var query_str = db.tpl_query(query, tpl.query);
|
|
281
|
-
// ret = await db.getCountSql(query_str, "`user_id` desc", "*");
|
|
282
|
-
|
|
283
|
-
// console.log('查询结果', ret);
|
|
284
|
-
// console.log('SQL语句', db.sql);
|
|
285
|
-
|
|
286
|
-
// var o = ret.list[0];
|
|
287
|
-
// // console.log("查询结果", o);
|
|
288
|
-
// o.user_id = await db.count() + 1;
|
|
289
|
-
// o.nickname = o.nickname + ",6,7";
|
|
290
|
-
// o.gm = "'5";
|
|
291
|
-
// // // await db.add(o);
|
|
292
|
-
// // await db.set({
|
|
293
|
-
// // user_id: o.user_id
|
|
294
|
-
// // }, o);
|
|
295
|
-
// await db.addOrSet({
|
|
296
|
-
// user_id: o.user_id
|
|
297
|
-
// }, o);
|
|
298
|
-
// // console.log(db.sql);
|
|
299
|
-
|
|
300
|
-
// ret = await db.groupSumSql(query_str, "mc", "gm");
|
|
301
|
-
// console.log('求和查询结果', ret);
|
|
302
|
-
// }
|
|
303
|
-
// test_tpl_get();
|
|
304
|
-
|
|
305
|
-
// async function addField() {
|
|
306
|
-
// var sql = new Mysql();
|
|
307
|
-
// sql.open();
|
|
308
|
-
// db = sql.db();
|
|
309
|
-
// var num = 0;
|
|
310
|
-
// db.table = 'test';
|
|
311
|
-
// // num = await db.field_del('set6');
|
|
312
|
-
// // num = await db.field_add('set6', 'str');
|
|
313
|
-
// var bl = await db.addTable('test', 'uid', 'int', true, '测试表');
|
|
314
|
-
// console.log("创建表:" + num);
|
|
315
|
-
// if (bl < 0) {
|
|
316
|
-
// console.log("SQL:" + db.sql);
|
|
317
|
-
// }
|
|
318
|
-
// // num = await db.field_add("uid", 'int', 0, true, true, true);
|
|
319
|
-
// // console.log("uid结果:" + num);
|
|
320
|
-
// // if (num < 0) {
|
|
321
|
-
// // console.log("SQL:" + db.sql);
|
|
322
|
-
// // }
|
|
323
|
-
|
|
324
|
-
// num = await db.field_add("name", 'varchar(18)', '', true);
|
|
325
|
-
// console.log("name结果:" + num);
|
|
326
|
-
// if (num < 0) {
|
|
327
|
-
// console.log("SQL:" + db.sql);
|
|
328
|
-
// }
|
|
329
|
-
|
|
330
|
-
// num = await db.field_add("username", 'varchar(18)', '', true);
|
|
331
|
-
// console.log("username结果:" + num);
|
|
332
|
-
// if (num < 0) {
|
|
333
|
-
// console.log("SQL:" + db.sql);
|
|
334
|
-
// }
|
|
335
|
-
|
|
336
|
-
// num = await db.field_add("password", 'string', '', true);
|
|
337
|
-
// console.log("password结果:" + num);
|
|
338
|
-
// if (num < 0) {
|
|
339
|
-
// console.log("SQL:" + db.sql);
|
|
340
|
-
// }
|
|
341
|
-
|
|
342
|
-
// num = await db.field_add("email", 'varchar', null);
|
|
343
|
-
// console.log("email结果:" + num);
|
|
344
|
-
// if (num < 0) {
|
|
345
|
-
// console.log("SQL:" + db.sql);
|
|
346
|
-
// }
|
|
347
|
-
|
|
348
|
-
// num = await db.field_add("age", 'smallint', 0);
|
|
349
|
-
// console.log("age结果:" + num);
|
|
350
|
-
// if (num < 0) {
|
|
351
|
-
// console.log("SQL:" + db.sql);
|
|
352
|
-
// }
|
|
353
|
-
|
|
354
|
-
// num = await db.field_add("sex", 'tinyint', 0);
|
|
355
|
-
// console.log("sex结果:" + num);
|
|
356
|
-
// if (num < 0) {
|
|
357
|
-
// console.log("SQL:" + db.sql);
|
|
358
|
-
// }
|
|
359
|
-
|
|
360
|
-
// num = await db.field_add("create_time", 'timestamp', null, true, true);
|
|
361
|
-
// console.log("create_time结果:" + num);
|
|
362
|
-
// if (num < 0) {
|
|
363
|
-
// console.log("SQL:" + db.sql);
|
|
364
|
-
// }
|
|
365
|
-
|
|
366
|
-
// num = await db.field_add("update_time", 'timestamp', null, true, true);
|
|
367
|
-
// console.log("update_time结果:" + num);
|
|
368
|
-
// if (num < 0) {
|
|
369
|
-
// console.log("SQL:" + db.sql);
|
|
370
|
-
// }
|
|
371
|
-
|
|
372
|
-
// num = await db.field_add("last_time", 'timestamp');
|
|
373
|
-
// console.log("last_time结果:" + num);
|
|
374
|
-
// if (num < 0) {
|
|
375
|
-
// console.log("SQL:" + db.sql);
|
|
376
|
-
// }
|
|
377
|
-
|
|
378
|
-
// num = await db.field_add("birthday", 'date', '2020-06-28', true);
|
|
379
|
-
// console.log("birthday结果:" + num);
|
|
380
|
-
// if (num < 0) {
|
|
381
|
-
// console.log("SQL:" + db.sql);
|
|
382
|
-
// }
|
|
383
|
-
|
|
384
|
-
// num = await db.field_add("note", 'text', '123123', false);
|
|
385
|
-
// console.log("note结果:" + num);
|
|
386
|
-
// if (num < 0) {
|
|
387
|
-
// console.log("SQL:" + db.sql);
|
|
388
|
-
// }
|
|
389
|
-
|
|
390
|
-
// num = await db.field_add("content", 'longtext', '123123', false);
|
|
391
|
-
// console.log("content结果:" + num);
|
|
392
|
-
// if (num < 0) {
|
|
393
|
-
// console.log("SQL:" + db.sql);
|
|
394
|
-
// }
|
|
395
|
-
|
|
396
|
-
// num = await db.field_add("cycle", 'time', null, true);
|
|
397
|
-
// console.log("cycle结果:" + num);
|
|
398
|
-
// if (num < 0) {
|
|
399
|
-
// console.log("SQL:" + db.sql);
|
|
400
|
-
// }
|
|
401
|
-
|
|
402
|
-
// num = await db.field_add("money", 'double', 0);
|
|
403
|
-
// console.log("money结果:" + num);
|
|
404
|
-
// if (num < 0) {
|
|
405
|
-
// console.log("SQL:" + db.sql);
|
|
406
|
-
// }
|
|
407
|
-
|
|
408
|
-
// num = await db.field_add("like", 'string', '篮球 足球 乒乓球');
|
|
409
|
-
// console.log("like结果:" + num);
|
|
410
|
-
// if (num < 0) {
|
|
411
|
-
// console.log("SQL:" + db.sql);
|
|
412
|
-
// }
|
|
413
|
-
// }
|
|
414
|
-
|
|
415
|
-
// addField();
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
// async function test() {
|
|
419
|
-
// db = sql.db();
|
|
420
|
-
// db.table = "user_account"
|
|
421
|
-
// var ret = await db.get({ username: 'admin' }, null, null, false);
|
|
422
|
-
// console.log(ret);
|
|
423
|
-
// console.log(db.error);
|
|
424
|
-
// }
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
// 分组统计
|
|
428
|
-
// async function test() {
|
|
429
|
-
// var db = sql.db();
|
|
430
|
-
// db.table = "user_account"
|
|
431
|
-
// var ret = await db.groupSum({}, "admin_id", "vip,gm", "sum_vip desc");
|
|
432
|
-
// console.log(ret);
|
|
433
|
-
// console.log(db.sql);
|
|
434
|
-
// console.log(db.error);
|
|
435
|
-
|
|
436
|
-
// ret = await db.groupCount({}, "admin_id", "vip,gm", "count_vip asc");
|
|
437
|
-
// console.log(ret);
|
|
438
|
-
// console.log(db.sql);
|
|
439
|
-
// console.log(db.error);
|
|
440
|
-
|
|
441
|
-
// // 通用式 最后一个参数传 count、sum、avg、min
|
|
442
|
-
// ret = await db.groupMath({}, "nickname", "vip", "min_vip asc", "min");
|
|
443
|
-
// console.log(ret);
|
|
444
|
-
// console.log(db.sql);
|
|
445
|
-
// console.log(db.error);
|
|
446
|
-
// }
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
// 合并操作
|
|
450
|
-
// async function test() {
|
|
451
|
-
// sql.config.log = true;
|
|
452
|
-
// var db = sql.db();
|
|
453
|
-
// // 取回上级对象,实际运用时看情况
|
|
454
|
-
// var sql2 = db.parent();
|
|
455
|
-
// // 取用户相关模型
|
|
456
|
-
// var dbs = await sql2.dbs("user_id", 1, true, "user_account", "user_info", "service_member");
|
|
457
|
-
|
|
458
|
-
// var user = dbs.model;
|
|
459
|
-
// // console.log(user);
|
|
460
|
-
|
|
461
|
-
// user.member.name = "美白";
|
|
462
|
-
// // 合并属性
|
|
463
|
-
// var u = dbs.merge();
|
|
464
|
-
// // console.log(u);
|
|
465
|
-
// u.age = 18;
|
|
466
|
-
// u.name = "芬芬";
|
|
467
|
-
|
|
468
|
-
// // console.log(user);
|
|
469
|
-
// }
|
|
470
|
-
|
|
471
|
-
// 测试获取字段
|
|
472
|
-
// async function test3(){
|
|
473
|
-
// sql.config.log = true;
|
|
474
|
-
// var db = sql.db();
|
|
475
|
-
// var fields = await db.fields("cloud_user_flow");
|
|
476
|
-
// console.log(fields);
|
|
477
|
-
// }
|
|
478
|
-
// test3();
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
// 测试实例新对象获取
|
|
482
|
-
// async function test3(){
|
|
483
|
-
// sql.config.log = true;
|
|
484
|
-
// var db = sql.db();
|
|
485
|
-
// var db2 = db.new("cloud_user_flow");
|
|
486
|
-
// var list = await db2.get();
|
|
487
|
-
// console.log(list);
|
|
488
|
-
// }
|
|
489
|
-
// test3();
|
|
490
|
-
|
|
491
|
-
// 事务
|
|
492
|
-
// async function test() {
|
|
493
|
-
// sql.config.log = true;
|
|
494
|
-
// var db = sql.db();
|
|
495
|
-
// // var db2 = sql.db();
|
|
496
|
-
// // await db.start();
|
|
497
|
-
// // console.log(db.task);
|
|
498
|
-
// db.table = "cloud_user_flow";
|
|
499
|
-
// // var te = await db.add({
|
|
500
|
-
// // user_id: 1
|
|
501
|
-
// // });
|
|
502
|
-
// // var user = await db.getObj({
|
|
503
|
-
// // user_id: 1
|
|
504
|
-
// // });
|
|
505
|
-
// // var te1 = await db.add({
|
|
506
|
-
// // user_id1: 3
|
|
507
|
-
// // });
|
|
508
|
-
|
|
509
|
-
// var bl = await db.set({
|
|
510
|
-
// user_id_not: "1"
|
|
511
|
-
// }, {
|
|
512
|
-
// amount_del: 5,
|
|
513
|
-
// balance_add: 1000,
|
|
514
|
-
// state: 2
|
|
515
|
-
// });
|
|
516
|
-
|
|
517
|
-
// // db.table = "user_account";
|
|
518
|
-
// // db.size = 0;
|
|
519
|
-
// // var list_user = await db.get({
|
|
520
|
-
// // user_id_has: "1,45,46,47,48"
|
|
521
|
-
// // });
|
|
522
|
-
// // console.log(list_user);
|
|
523
|
-
|
|
524
|
-
// // db2.table = "cloud_user_flow";
|
|
525
|
-
// // db2.add({
|
|
526
|
-
// // user_id: 1,
|
|
527
|
-
// // note: "哈哈"
|
|
528
|
-
// // });
|
|
529
|
-
// // console.log(user);
|
|
530
|
-
// // await db.commit();
|
|
531
|
-
// console.log(db.sql);
|
|
532
|
-
// // await db.back();
|
|
533
|
-
// }
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
// // 算法排序
|
|
537
|
-
// async function test() {
|
|
538
|
-
// var db = sql.db();
|
|
539
|
-
// // db.table = "user_account"
|
|
540
|
-
// // var ret = await db.get({}, "score desc", "username,vip+gm*3 score");
|
|
541
|
-
|
|
542
|
-
// db.table = "service_order";
|
|
543
|
-
// db.page = 1;
|
|
544
|
-
// db.size = 10;
|
|
545
|
-
// db.like = false;
|
|
546
|
-
// var ret = await db.groupAvg({
|
|
547
|
-
// state: 6,
|
|
548
|
-
// time_create_min: "2021-07-26 00:00:00",
|
|
549
|
-
// time_create_max: "2021-07-27 00:00:00",
|
|
550
|
-
// }, "user_id", "score");
|
|
551
|
-
|
|
552
|
-
// console.log(ret);
|
|
553
|
-
// console.log(db.sql);
|
|
554
|
-
// console.log(db.error);
|
|
555
|
-
// }
|
|
556
|
-
// async function test() {
|
|
557
|
-
|
|
558
|
-
// db = sql.db();
|
|
559
|
-
// db.table = "test";
|
|
560
|
-
// await db.clearTable(false);
|
|
561
|
-
// var addArr = [];
|
|
562
|
-
// for (var i = 1; i <= 9; i++) {
|
|
563
|
-
// var add = {
|
|
564
|
-
// name: "test" + i,
|
|
565
|
-
// username: "t" + i,
|
|
566
|
-
// password: "a" + i
|
|
567
|
-
// };
|
|
568
|
-
// addArr.push(add);
|
|
569
|
-
// }
|
|
570
|
-
// var ret = await db.addList(addArr);
|
|
571
|
-
// console.log("添加:" + JSON.stringify(ret), db.error);
|
|
572
|
-
// // var setArr = [];
|
|
573
|
-
// // for (var i = 1; i <= addArr.length; i++) {
|
|
574
|
-
// // setArr.push({
|
|
575
|
-
// // query: {
|
|
576
|
-
// // name: "test" + i
|
|
577
|
-
// // },
|
|
578
|
-
// // item: {
|
|
579
|
-
// // username: "username" + i,
|
|
580
|
-
// // password: "password" + i
|
|
581
|
-
// // }
|
|
582
|
-
// // });
|
|
583
|
-
// // }
|
|
584
|
-
// // ret = await db.setList(setArr);
|
|
585
|
-
// // console.log("修改:" + JSON.stringify(ret), db.error);
|
|
586
|
-
|
|
587
|
-
// // var delArr = [];
|
|
588
|
-
// // for (var i = 1; i <= addArr.length; i++) {
|
|
589
|
-
// // if (i % 2 == 0) {
|
|
590
|
-
// // delArr.push({
|
|
591
|
-
// // query: {
|
|
592
|
-
// // username: "username" + i
|
|
593
|
-
// // }
|
|
594
|
-
// // });
|
|
595
|
-
// // }
|
|
596
|
-
// // }
|
|
597
|
-
// // // ret = await db.delList(delArr);
|
|
598
|
-
// // ret = await db.del({
|
|
599
|
-
// // username: "username"
|
|
600
|
-
// // });
|
|
601
|
-
// // console.log("删除:" + JSON.stringify(ret), db.error);
|
|
602
|
-
// }
|
|
603
|
-
|
|
604
|
-
// test();
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
// async function setField() {
|
|
609
|
-
// var sql = new Mysql();
|
|
610
|
-
// sql.open();
|
|
611
|
-
// db = sql.db();
|
|
612
|
-
// var num = 0;
|
|
613
|
-
// db.table = 'test';
|
|
614
|
-
// num = await db.field_set("uid", 'int', 0, true, true, true);
|
|
615
|
-
// console.log("uid结果:" + num);
|
|
616
|
-
// if (num < 0) {
|
|
617
|
-
// console.log("SQL:" + db.sql);
|
|
618
|
-
// }
|
|
619
|
-
|
|
620
|
-
// num = await db.field_set("username", 'varchar(18)', '', true);
|
|
621
|
-
// console.log("username结果:" + num);
|
|
622
|
-
// if (num < 0) {
|
|
623
|
-
// console.log("SQL:" + db.sql);
|
|
624
|
-
// }
|
|
625
|
-
|
|
626
|
-
// num = await db.field_set("password", 'string', null, true);
|
|
627
|
-
// console.log("password结果:" + num);
|
|
628
|
-
// if (num < 0) {
|
|
629
|
-
// console.log("SQL:" + db.sql);
|
|
630
|
-
// }
|
|
631
|
-
|
|
632
|
-
// num = await db.field_set("email", 'varchar', null);
|
|
633
|
-
// console.log("email结果:" + num);
|
|
634
|
-
// if (num < 0) {
|
|
635
|
-
// console.log("SQL:" + db.sql);
|
|
636
|
-
// }
|
|
637
|
-
|
|
638
|
-
// num = await db.field_set("age", 'bigint', 0);
|
|
639
|
-
// console.log("age结果:" + num);
|
|
640
|
-
// if (num < 0) {
|
|
641
|
-
// console.log("SQL:" + db.sql);
|
|
642
|
-
// }
|
|
643
|
-
|
|
644
|
-
// num = await db.field_set("sex", 'int', 0);
|
|
645
|
-
// console.log("sex结果:" + num);
|
|
646
|
-
// if (num < 0) {
|
|
647
|
-
// console.log("SQL:" + db.sql);
|
|
648
|
-
// }
|
|
649
|
-
|
|
650
|
-
// num = await db.field_set("create_time", 'timestamp', null, true, true);
|
|
651
|
-
// console.log("create_time结果:" + num);
|
|
652
|
-
// if (num < 0) {
|
|
653
|
-
// console.log("SQL:" + db.sql);
|
|
654
|
-
// }
|
|
655
|
-
|
|
656
|
-
// num = await db.field_set("last_time", 'timestamp', null, true, true);
|
|
657
|
-
// console.log("last_time结果:" + num);
|
|
658
|
-
// if (num < 0) {
|
|
659
|
-
// console.log("SQL:" + db.sql);
|
|
660
|
-
// }
|
|
661
|
-
|
|
662
|
-
// num = await db.field_set("birthday", 'datetime');
|
|
663
|
-
// console.log("birthday结果:" + num);
|
|
664
|
-
// if (num < 0) {
|
|
665
|
-
// console.log("SQL:" + db.sql);
|
|
666
|
-
// }
|
|
667
|
-
|
|
668
|
-
// num = await db.field_set("note", 'text', null);
|
|
669
|
-
// console.log("note结果:" + num);
|
|
670
|
-
// if (num < 0) {
|
|
671
|
-
// console.log("SQL:" + db.sql);
|
|
672
|
-
// }
|
|
673
|
-
|
|
674
|
-
// num = await db.field_set("cycle", 'date', null, true, false);
|
|
675
|
-
// console.log("cycle结果:" + num);
|
|
676
|
-
// if (num < 0) {
|
|
677
|
-
// console.log("SQL:" + db.sql);
|
|
678
|
-
// }
|
|
679
|
-
|
|
680
|
-
// num = await db.field_set("money", 'float', 0);
|
|
681
|
-
// console.log("money结果:" + num);
|
|
682
|
-
// if (num < 0) {
|
|
683
|
-
// console.log("SQL:" + db.sql);
|
|
684
|
-
// }
|
|
685
|
-
// }
|
|
686
|
-
|
|
687
|
-
// setField();
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
//
|
|
691
|
-
// async function delField() {
|
|
692
|
-
// var sql = new Mysql();
|
|
693
|
-
// sql.open();
|
|
694
|
-
// db = sql.db();
|
|
695
|
-
// var num = 0;
|
|
696
|
-
// db.table = 'test';
|
|
697
|
-
// num = await db.field_del("uid");
|
|
698
|
-
// console.log("uid结果:" + num);
|
|
699
|
-
// if (num < 0) {
|
|
700
|
-
// console.log("SQL:" + db.sql);
|
|
701
|
-
// }
|
|
702
|
-
//
|
|
703
|
-
// num = await db.field_del("username");
|
|
704
|
-
// console.log("username结果:" + num);
|
|
705
|
-
// if (num < 0) {
|
|
706
|
-
// console.log("SQL:" + db.sql);
|
|
707
|
-
// }
|
|
708
|
-
//
|
|
709
|
-
// num = await db.field_del("password");
|
|
710
|
-
// console.log("password结果:" + num);
|
|
711
|
-
// if (num < 0) {
|
|
712
|
-
// console.log("SQL:" + db.sql);
|
|
713
|
-
// }
|
|
714
|
-
//
|
|
715
|
-
// num = await db.field_del("email");
|
|
716
|
-
// console.log("email结果:" + num);
|
|
717
|
-
// if (num < 0) {
|
|
718
|
-
// console.log("SQL:" + db.sql);
|
|
719
|
-
// }
|
|
720
|
-
//
|
|
721
|
-
// num = await db.field_del("age");
|
|
722
|
-
// console.log("age结果:" + num);
|
|
723
|
-
// if (num < 0) {
|
|
724
|
-
// console.log("SQL:" + db.sql);
|
|
725
|
-
// }
|
|
726
|
-
//
|
|
727
|
-
// num = await db.field_del("sex");
|
|
728
|
-
// console.log("sex结果:" + num);
|
|
729
|
-
// if (num < 0) {
|
|
730
|
-
// console.log("SQL:" + db.sql);
|
|
731
|
-
// }
|
|
732
|
-
//
|
|
733
|
-
// num = await db.field_del("create_time");
|
|
734
|
-
// console.log("create_time结果:" + num);
|
|
735
|
-
// if (num < 0) {
|
|
736
|
-
// console.log("SQL:" + db.sql);
|
|
737
|
-
// }
|
|
738
|
-
//
|
|
739
|
-
// num = await db.field_del("last_time");
|
|
740
|
-
// console.log("last_time结果:" + num);
|
|
741
|
-
// if (num < 0) {
|
|
742
|
-
// console.log("SQL:" + db.sql);
|
|
743
|
-
// }
|
|
744
|
-
//
|
|
745
|
-
// num = await db.field_del("birthday");
|
|
746
|
-
// console.log("birthday结果:" + num);
|
|
747
|
-
// if (num < 0) {
|
|
748
|
-
// console.log("SQL:" + db.sql);
|
|
749
|
-
// }
|
|
750
|
-
//
|
|
751
|
-
// num = await db.field_del("note");
|
|
752
|
-
// console.log("note结果:" + num);
|
|
753
|
-
// if (num < 0) {
|
|
754
|
-
// console.log("SQL:" + db.sql);
|
|
755
|
-
// }
|
|
756
|
-
//
|
|
757
|
-
// num = await db.field_del("cycle");
|
|
758
|
-
// console.log("cycle结果:" + num);
|
|
759
|
-
// if (num < 0) {
|
|
760
|
-
// console.log("SQL:" + db.sql);
|
|
761
|
-
// }
|
|
762
|
-
//
|
|
763
|
-
// num = await db.field_del("money");
|
|
764
|
-
// console.log("money结果:" + num);
|
|
765
|
-
// if (num < 0) {
|
|
766
|
-
// console.log("SQL:" + db.sql);
|
|
767
|
-
// }
|
|
768
|
-
// }
|
|
769
|
-
//
|
|
770
|
-
// delField();
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
// async function newName() {
|
|
774
|
-
// var sql = new Mysql();
|
|
775
|
-
// sql.open();
|
|
776
|
-
// db = sql.db();
|
|
777
|
-
// var num = 0;
|
|
778
|
-
// db.table = 'test';
|
|
779
|
-
// num = await db.field_name("last_time", 'last_time');
|
|
780
|
-
// console.log("name结果:" + num);
|
|
781
|
-
// if (num < 0) {
|
|
782
|
-
// console.log("SQL:" + db.sql);
|
|
783
|
-
// }
|
|
784
|
-
// }
|
|
785
|
-
// newName();
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
// 测试实体模型
|
|
789
|
-
// async function test_model() {
|
|
790
|
-
// // 实例化一个mysql操作类
|
|
791
|
-
// var sql = new Mysql();
|
|
792
|
-
// // 设置 数据库连接配置
|
|
793
|
-
// var config = {
|
|
794
|
-
// "host": "localhost",
|
|
795
|
-
// "port": 3306,
|
|
796
|
-
// "user": "root",
|
|
797
|
-
// "password": "asd123",
|
|
798
|
-
// "database": "mm"
|
|
799
|
-
// };
|
|
800
|
-
// sql.setConfig(config);
|
|
801
|
-
// // 开启数据库连接
|
|
802
|
-
// sql.open();
|
|
803
|
-
// // 实例化一个数据库操作类
|
|
804
|
-
// db = sql.db();
|
|
805
|
-
|
|
806
|
-
// // 选择要查询的表
|
|
807
|
-
// db.table = "user_account";
|
|
808
|
-
|
|
809
|
-
// // 设置主键(可以不用设置, 设置之后查询的数据可以赋值同步)
|
|
810
|
-
// db.key = "user_id";
|
|
811
|
-
|
|
812
|
-
// // 通过对象查询数据, 第一个参数是对象(查询条件), 第二个是排序方式,第三个是查询的字段
|
|
813
|
-
// var obj = await db.getObj({ username: "admin" }, null, 'username,vip,user_id');
|
|
814
|
-
|
|
815
|
-
// // 调试输出生成的sql语句
|
|
816
|
-
// console.log(db.sql);
|
|
817
|
-
// // 调试输出查询结果
|
|
818
|
-
// console.log(obj);
|
|
819
|
-
// // 修改数据库中该条数据的vip字段值, 注意到数据库管理器查看数据库的变化
|
|
820
|
-
// obj.vip = 5;
|
|
821
|
-
// // 修改数据库中该条数据的gm字段值
|
|
822
|
-
// obj.gm = 5;
|
|
823
|
-
// // 修改数据库中该条数据的phone字段值
|
|
824
|
-
// obj.phone = 333;
|
|
825
|
-
// // 输出一下, 查看查询结果对象的变化, 对照数据库变化, 值是否一致
|
|
826
|
-
// console.log(obj);
|
|
827
|
-
// // obj.gm += 6;
|
|
828
|
-
|
|
829
|
-
// // 查询列表
|
|
830
|
-
// var list = await db.get({ username: "admin" });
|
|
831
|
-
// // 判断查询结果是否有数据
|
|
832
|
-
// if(list.length > 0)
|
|
833
|
-
// {
|
|
834
|
-
// // 取第一条数据
|
|
835
|
-
// obj = list[0];
|
|
836
|
-
// // 将数据对象转为实体模型, 实现和数据库同步
|
|
837
|
-
// var o = db.model(obj);
|
|
838
|
-
// // 修改该条数据的phone字段为15817188815
|
|
839
|
-
// o.phone = '15817188815';
|
|
840
|
-
// // 调试输出, 对比对象变化和数据库值是否一致
|
|
841
|
-
// console.log(o);
|
|
842
|
-
// }
|
|
843
|
-
// console.log(db.sql);
|
|
844
|
-
// }
|
|
845
|
-
|
|
846
|
-
// test_model();
|