Base de datos MySQL: uso de nodos

1 objeto de consulta MySQL

2 matriz de consultas MySQL

3 Introducción al uso de la biblioteca mysql2

4 declaraciones preparadas mysql2

5 uso del grupo de conexiones mysql2

6 Promi para mysql2

Aquí solo explicamos cómo usar el servidor para conectarse a la base de datos y realizar operaciones.

Una declaración preparada es una declaración que puede ingresar variables (expresadas en forma de símbolo:?). Necesita usar .execute para ejecutar;

 

Es necesario ejecutar declaraciones normales (declaraciones que no agregan variables). Solo usa la consulta.

Las declaraciones preparadas tienen muchos beneficios, como buen rendimiento y seguridad (inyección SQL).

 Si hay muchos usuarios conectados, crear y destruir conexiones de bases de datos cada vez tendrá un impacto, por lo que podemos usar grupos de conexiones para optimizar al crear conexiones de bases de datos.

Método de conexión sin utilizar el grupo de conexiones:

 Se utiliza el método del grupo de conexiones:

 

 

Debe descargar la biblioteca de terceros correspondiente para permitir que el nodo controle la base de datos:

npm install mysql2

Prepare datos: inserte datos del archivo json en la base de datos

Obtenga los datos en formato json del archivo phpne.json y escríbalos en la base de datos.

const mysql = require('mysql2');
 
const connection = mysql.createConnection({
  host: 'localhost',
  port: 3306,
  user: 'root',
  password: 'Coderwhy123.',
  database: 'music_db'
});

const statement = `INSERT INTO products SET ?;`
const phoneJson = require('./phone.json');

for (let phone of phoneJson) {
  connection.query(statement, phone);
}

Contenido de phone.jsond:

[
  {
    "brand": "华为",
    "title": "华为nova 3(全网通) ",
    "price": 2699,
    "score": 6.7,
    "voteCnt": 65,
    "url": "http://detail.zol.com.cn/cell_phone/index1185512.shtml",
    "pid": "1185512"
  },
  {
    "brand": "华为",
    "title": "华为P20 Pro(6GB RAM/全网通) ",
    "price": 4488,
    "score": 8.3,
    "voteCnt": 103,
    "url": "http://detail.zol.com.cn/cell_phone/index1207038.shtml",
    "pid": "1207038"
  },
  {
    "brand": "华为",
    "title": "华为P20(全网通) ",
    "price": 3388,
    "score": 8.4,
    "voteCnt": 127,
    "url": "http://detail.zol.com.cn/cell_phone/index1175779.shtml",
    "pid": "1175779"
  },
  {
    "brand": "华为",
    "title": "华为nova 3i(4GB RAM/全网通) ",
    "price": 1999,
    "score": 7,
    "voteCnt": 9,
    "url": "http://detail.zol.com.cn/cell_phone/index1222100.shtml",
    "pid": "1222100"
  }
]

uso básico de mysql2

const mysql = require('mysql2')

// 1.创建一个连接(连接上数据库)
const connection = mysql.createConnection({
  host: 'localhost',
  port: 3306,
  database: 'music_db',
  user: 'root',
  password: 'Coderwhy123.'
})


// 2.执行操作语句, 操作数据库
const statement = 'SELECT * FROM `students`;'
// structure query language: DDL/DML/DQL/DCL
// query可以执行DDL/DML/DQL/DCL的语句的代码。返回的值在回调函数里面。
connection.query(statement, (err, values, fields) => {
  if (err) {
    console.log('查询失败:', err)
    return
  }

  // 查看结果
  console.log(values)
  // console.log(fields)
})

declaraciones preparadas en mysql2

const mysql = require('mysql2')

// 1.创建一个连接
const connection = mysql.createConnection({
  host: 'localhost',
  port: 3306,
  database: 'music_db',
  user: 'root',
  password: 'Coderwhy123.'
})

// 2.执行一个SQL语句: 预处理语句
const statement = 'SELECT * FROM `products` WHERE price > ? AND score > ?;'
connection.execute(statement, [1000, 8], (err, values) => {
  console.log(values)
})

// connection.destroy()

uso del grupo de conexiones mysql2

const mysql = require('mysql2')

// 1.创建一个连接
const connectionPool = mysql.createPool({
  host: 'localhost',
  port: 3306,
  database: 'music_db',
  user: 'root',
  password: 'Coderwhy123.',
 // connectionLimit用来限制连接数量的
  connectionLimit: 5
})

// 2.执行一个SQL语句: 预处理语句
const statement = 'SELECT * FROM `products` WHERE price > ? AND score > ?;'
connectionPool.execute(statement, [1000, 8], (err, values) => {
  console.log(values)
})

método de escritura mysql2-Promise

const mysql = require('mysql2')

// 1.创建一个连接
const connectionPool = mysql.createPool({
  host: 'localhost',
  port: 3306,
  database: 'music_db',
  user: 'root',
  password: 'Coderwhy123.',
  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)
})

Supongo que te gusta

Origin blog.csdn.net/weixin_56663198/article/details/131095781
Recomendado
Clasificación