一、MySQL数据库 – node使用
1.1、查询数据的问题
1.2将brand转成对象
1.3、多对多转成数组
二、认识mysql2
2.1、使用mysql2
const mysql = require('mysql2')
// 1.创建一个连接(连接上数据库)
const connection = mysql.createConnection({
host: 'localhost',
port: 3306,
user: 'root',
password: 'Wu@123456',
database: 'mysql1'
})
// 2.执行操作语句, 操作数据库
const statement = 'SELECT * FROM `students`;'
// structure query language: DDL/DML/DQL/DCL
connection.query(statement, (err, values, fields) => {
if (err) {
console.log('查询失败:', err)
return
}
// 查看结果
console.log(values)
// console.log(fields)
})
2.2、Prepared Statement(预编译语句)
6.5、Connection Pools(连接池)
const mysql = require('mysql2')
// 1.创建一个连接
const connectionPool = mysql.createPool({
host: 'localhost',
port: 3306,
user:'root',
password: 'Wu@123456',
database: 'mysql1',
connectionLimit: 5
})
// 2.执行一个SQL语句: 预处理语句
const statement = 'SELECT * FROM `products` WHERE price > ? AND score > ?;'
connectionPool.execute(statement, [1000, 8], (err, values) => {
console.log(values)
})
6.6、Promise方式
const mysql = require('mysql2')
// 1.创建一个连接
const connectionPool = mysql.createPool({
host: 'localhost',
port: 3306,
database: 'mysql1',
user: 'root',
password: 'Wu@123456',
connectionLimit: 5
})
// 2.执行一个SQL语句: 预处理语句
const statement = 'SELECT * FROM `products` WHERE price > ? AND score > ?;'
connectionPool.promise().execute(statement, [1000, 9]).then((res) => {
// 数组解构
const [values, fields] = res
console.log('-------------------values------------------')
console.log(values)
console.log('-------------------fields------------------')
console.log(fields)
}).catch(err => {
console.log(err)
})