Node.js MySQL Waar


Selecteer met een filter

Wanneer u records uit een tabel selecteert, kunt u de selectie filteren met behulp van het "WHERE"-statement:

Voorbeeld

Selecteer record(s) met het adres "Park Lane 38":

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  con.query("SELECT * FROM customers WHERE address = 'Park Lane 38'", function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

Sla de bovenstaande code op in een bestand met de naam "demo_db_where.js" en voer het bestand uit:

Voer "demo_db_where.js" uit

C:\Users\Your Name>node demo_db_where.js

Wat je dit resultaat geeft:

[
  { id: 11, name: 'Ben', address: 'Park Lane 38'}
]


Jokertekens

U kunt ook de records selecteren die beginnen, bevatten of eindigen met een bepaalde letter of zin.

Gebruik het jokerteken '%' om nul, één of meerdere tekens weer te geven:

Voorbeeld

Selecteer records waarvan het adres begint met de letter 'S':

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  con.query("SELECT * FROM customers WHERE address LIKE 'S%'", function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

Sla de bovenstaande code op in een bestand met de naam "demo_db_where_s.js" en voer het bestand uit:

Voer "demo_db_where_s.js" uit

C:\Users\Your Name>node demo_db_where_s.js

Wat je dit resultaat geeft:

[
  { id: 8, name: 'Richard', address: 'Sky st 331'},
  { id: 14, name: 'Viola', address: 'Sideway 1633'}
]

Querywaarden laten ontsnappen

Als querywaarden variabelen zijn die door de gebruiker worden geleverd, moet u de waarden escapen.

Dit is om SQL-injecties te voorkomen, een veelgebruikte hacktechniek om uw database te vernietigen of te misbruiken.

De MySQL-module heeft methoden om aan querywaarden te ontsnappen:

Voorbeeld

Escape-querywaarden met behulp van de mysql.escape() methode:

var adr = 'Mountain 21';
var sql = 'SELECT * FROM customers WHERE address = ' + mysql.escape(adr);
con.query(sql, function (err, result) {
  if (err) throw err;
  console.log(result);
});

U kunt a ook gebruiken ?als tijdelijke aanduiding voor de waarden die u wilt laten ontsnappen.

In dit geval wordt de variabele verzonden als de tweede parameter in de methode query():

Voorbeeld

Escape-querywaarden met behulp van de tijdelijke aanduiding- ? methode:

var adr = 'Mountain 21';
var sql = 'SELECT * FROM customers WHERE address = ?';
con.query(sql, [adr], function (err, result) {
  if (err) throw err;
  console.log(result);
});

Als u meerdere tijdelijke aanduidingen heeft, bevat de array meerdere waarden, in die volgorde:

Voorbeeld

Meerdere tijdelijke aanduidingen:

var name = 'Amy';
var adr = 'Mountain 21';
var sql = 'SELECT * FROM customers WHERE name = ? OR address = ?';
con.query(sql, [name, adr], function (err, result) {
  if (err) throw err;
  console.log(result);
});