-
Notifications
You must be signed in to change notification settings - Fork 0
/
example.js
103 lines (80 loc) · 2.59 KB
/
example.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
const Wrapsql = require('./wrapsql.js')
const sysConfig = require('./config-test.js')
/* Customer Table
CREATE TABLE `customers` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`firstName` varchar(64) DEFAULT NULL,
`lastName` varchar(64) DEFAULT NULL,
`favoriteAnimal` varchar(64) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
*/
;(async()=>{
const wsql = new Wrapsql({
host: sysConfig.dbHost,
port: sysConfig.dbPort,
user: sysConfig.dbUsername,
password: sysConfig.dbPassword,
database: 'unitTestDb'
},true)
wsql.truncate("customers")
// Equivalent SQL: INSERT INTO customers (firstName, lastName, favoriteAnimal) VALUES ('Bob', 'Smith', 'dog')
let insertResult = await wsql.insert("customers",{firstName:"Bob",lastName:"Smith",favoriteAnimal:"dog"})
// Insert Result: {
// fieldCount: 0,
// affectedRows: 1,
// insertId: 1,
// serverStatus: 2,
// warningCount: 0,
// message: '',
// protocol41: true,
// changedRows: 0
// }
// Results can be returned either using async/await or then/catch promise syntax
let selectResult = {}
// Equivalent SQL: SELECT * FROM customers WHERE firstName = 'Bob' AND lastName = 'Smith'
try {
selectResult = await wsql.select("customers","*",{firstName:"Bob",lastName:"Smith"})
} catch(error) {
console.log(error)
}
console.log(selectResult)
// OR
wsql.select("customers","*",{firstName:"Bob",lastName:"Smith"}).then(
result=>{selectResult=result}
).catch(error=>{
console.log(error)
})
// Select Result: [
// {
// id: 1,
// firstName: 'Bob',
// lastName: 'Smith',
// favoriteAnimal: 'dog'
// }
// ]
// Equivalent SQL: UPDATE customers SET favoriteAnimal = 'cat' WHERE id = 1
let updateResult = await wsql.update("customers",{favoriteAnimal:"cat"},{id:1})
// Update Result: {
// fieldCount: 0,
// affectedRows: 1,
// insertId: 0,
// serverStatus: 2,
// warningCount: 0,
// message: '(Rows matched: 1 Changed: 1 Warnings: 0',
// protocol41: true,
// changedRows: 1
// }
// Equivalent SQL: DELETE FROM customers WHERE id = 1
let deleteResult = await wsql.delete("customers",{id:1})
// Delete Result: {
// fieldCount: 0,
// affectedRows: 1,
// insertId: 0,
// serverStatus: 2,
// warningCount: 0,
// message: '',
// protocol41: true,
// changedRows: 0
// }
})()