Utilice el módulo Sequelize para operar la adición, eliminación, modificación y consulta de la base de datos.

Ya hemos aprendido sobre la creación de modelos en Sequelize. Ahora aprendamos sobre agregar, eliminar, modificar y verificar operaciones en la base de datos a través de Sequelize. Al operar la base de datos, las operaciones de agregar, eliminar y modificar son relativamente simples. Nos centraremos en explicando la base de datos de consultas.

Declaración INSERT simple
La declaración Add se realiza a través de Model.create(), el parámetro es un objeto, el atributo del objeto es el campo de la tabla y el valor del atributo son los datos que se agregarán. Vea los siguientes ejemplos:

const admin = sequelize.define('admin', {     nombre de usuario: {         tipo: DataTypes.STRING,         allowNull: false     },     contraseña de usuario: {         type: DataTypes.STRING,         allowNull: false     } }); const ins = await admin.create( {     nombre de usuario: "Zhang San",     contraseña de usuario: "123456", }); Una vez completada la ejecución, se devolverá un objeto y los atributos del objeto son los campos de la tabla.














Se pueden agregar varios datos a la vez a través de bulkCreate. El parámetro en bulkCreate es una matriz y los datos contienen los objetos de datos que deben agregarse. Ejemplos específicos:

const ins = await admin.bulkCreate([{     nombre de usuario: "Zhang San",     contraseña de usuario: "123456", },{     nombre de usuario: "Wang Wu",     contraseña de usuario: "549745", }]); De forma predeterminada, se utiliza bulkCreate. los datos insertados no serán validados.Podemos agregar validar: verdadero al modelo al crear el modelo para que bulkCreate también pueda validarlo (consulte el siguiente artículo para obtener detalles sobre la validación).






Sentencia UPDATE simple
La sentencia de modificación se implementa a través de Model.update(), y el parámetro es un objeto. Vea los siguientes ejemplos:

//Creación del modelo ver
esperar admin.update({ nombre de usuario: "Li Si" }, {   donde: {     nombre de usuario: "Zhang San"   } }); pase la condición de modificación a través del segundo parámetro, el segundo parámetro debe existir de lo contrario, la modificación fue fracasado. Puede modificar todos los datos asignando nulo a lastName y no agregando atributos a where.




await admin.update({ nombre de usuario: "Lisi" }, {   donde: {    nombre de usuario: nulo     }   //o   //donde: {    //} }); la declaración de modificación de declaración DELETE simple se implementa a través de Model.destroy() , la el parámetro es un objeto. Vea los siguientes ejemplos:








await admin.destroy({   donde: {     nombre de usuario: "Zhang San"   } }); Si desea eliminar todos los datos de la tabla, puede usar truncar




await admin.destroy({   truncate: true }); instrucción SELECT Consulta simple El método findAll() se usa para consultar la base de datos




admin.findAll();
//traducido a una instrucción SQL: SELECT * FROM
campos específicos de la consulta del administrador
Para seleccionar algunos campos específicos, puede usar el parámetro de atributos:

//La creación del modelo de administración ve el contenido anterior
admin.findAll({   attributs: ['username'] }); //Traducción a la instrucción SQL: SELECT nombre de usuario DE cambio de nombre del campo de administración //La creación del modelo de administración ve el encima del contenido admin.findAll ({   atributos: [['username','name']] }); //Traducido a la instrucción SQL: SELECCIONE el nombre de usuario COMO el nombre DE la función agregada del administrador Use sequelize.fn para ejecutar funciones agregadas:











//La creación del modelo de administración ve el contenido anterior
admin.findAll({   attributs: [                 ['username','name'],                 [sequelize.fn('COUNT', sequelize.col('username')), ' n_hats']               ] }); //Traducido a la instrucción SQL: SELECCIONE nombre de usuario AS name,COUNT(username ) AS n_hats FROM admin Todos los campos y campos excluidos se pueden agregar a través del atributo de inclusión, y el último valor de atributo indica la agregación adicional a agregarse, no es una matriz vacía.







//Para la creación del modelo de administración, consulte el contenido anterior
admin.findAll(attributes: {     include: []   } }); Algunos campos se pueden excluir a través del atributo de exclusión, y los siguientes valores de atributos son campos que es necesario excluir.



//La creación del modelo de administración ve el contenido anterior
admin.findAll(atributos: {     excluir: ['username']   } }) usando la cláusula where Sequelize proporciona muchos operadores para que completemos la cláusula where compleja.




Operator object
const { Op } = require("sequelize");
1
La siguiente es una lista parcial de operadores, solo enumeramos los operadores y el uso específico no se incluye aquí.

[Op.y]: [{ a: 5 }, { b: 6 }], // (a = 5) Y (b = 6) [Op.o]: [{
a: 5 }, { b: 6 }], // (a = 5) O (b = 6)
[Op.eq]: 3, // = 3
[Op.ne]: 20, // != 20
[Op.is]: null, / / ES NULO
[Op.not]: verdadero, // NO ES VERDADERO
[Op.or]: [5, 6], // (algúnAtributo = 5) O (algúnAtributo = 6)

// comparar números
[Op.gt]: 6, // > 6
[Op.gte]: 6, // >= 6
[Op.lt]: 10, // < 10
[Op.lte]: 10, / / <= 10
[Op.entre]: [6, 10], // ENTRE 6 Y 10
[Op.notBetween]: [11, 15], // NO ENTRE 11 Y 15

// otros operadores

      [Op.all]: sequelize.literal('SELECCIONAR 1'), // > TODO (SELECCIONAR 1)

      [Op.in]: [1, 2], // EN [1, 2]
      [Op.notIn]: [1, 2], // NO EN [1, 2]

[Op.like]: '%sombrero', // ME GUSTA '%sombrero'
[Op.notLike]: '%sombrero', // NO ME GUSTA '%sombrero'
[Op.startsWith]: 'sombrero', // ME GUSTA 'hat%'
[Op.endsWith]: 'hat', // LIKE '%hat'
[Op.substring]: 'hat', // LIKE '%hat%'
usando la cláusula where
cuando se usa la cláusula where, entonces el contenido debe colocarse en un objeto, que pertenece al segundo parámetro del método findAll, y el primer parámetro se utiliza para operar el campo de consulta. Hay un atributo llamado where en este objeto, que se utiliza para almacenar condiciones de consulta. Para un uso específico, consulte:

admin.findAll({   donde: {     nombre de usuario: "Zhang San"   } }); // SELECT * FROM admin WHERE nombre de usuario = 'Zhang San' clasificación y agrupación Anteriormente aprendimos cómo usar la cláusula where que se coloca en la primera línea de findAll Entre los dos objetos, no solo hay un atributo where, sino también un atributo order y un atributo group en este objeto






La
opción de orden de clasificación se utiliza para ordenar los datos de los resultados de la consulta. Al ordenar, se debe pasar una tupla/matriz que contenga la dirección de ordenación del atributo para garantizar un escape correcto:

admin.findAll({    order:[['username','DESC'],['userpass','ASC']] } ) ; La opción de grupo de agrupación se usa para agrupar los resultados de la consulta. Al agrupar, las condiciones de agrupación necesitan para ser transferido. Específicamente Ver ejemplos de uso:



admin.findAll({ nombre de usuario: 'nombre' });
1
Limitación y paginación
Use los parámetros limit y offset para limitar/paginar:

// Obtener 10 instancias/filas
Project.findAll({ limit: 10 });

// Saltar 8 instancias/filas
Project.findAll({ offset: 8 });

// Omita 5 instancias y luego obtenga 5 instancias
Project.findAll({ offset: 5, limit: 5 });

Enlace original: https://blog.csdn.net/qq_45040919/article/details/110318085

Supongo que te gusta

Origin blog.csdn.net/txl910514/article/details/131511643
Recomendado
Clasificación