Node.js MySQL Kde


Vyberte možnost S filtrem

Při výběru záznamů z tabulky můžete výběr filtrovat pomocí příkazu „WHERE“:

Příklad

Vyberte záznam(y) s adresou "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);
  });
});

Uložte výše uvedený kód do souboru s názvem „demo_db_where.js“ a spusťte soubor:

Spusťte "demo_db_where.js"

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

Což vám dá tento výsledek:

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


Zástupné znaky

Můžete také vybrat záznamy, které začínají, obsahují nebo končí daným písmenem nebo frází.

Použijte zástupný znak '%' k vyjádření nuly, jednoho nebo více znaků:

Příklad

Vyberte záznamy, kde adresa začíná písmenem „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);
  });
});

Uložte výše uvedený kód do souboru s názvem „demo_db_where_s.js“ a spusťte soubor:

Spusťte "demo_db_where_s.js"

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

Což vám dá tento výsledek:

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

Únikové hodnoty dotazu

Pokud jsou hodnoty dotazu proměnné poskytnuté uživatelem, měli byste tyto hodnoty escapovat.

Je to proto, aby se zabránilo injekcím SQL, což je běžná technika hackování webu za účelem zničení nebo zneužití vaší databáze.

Modul MySQL má metody pro únik hodnot dotazu:

Příklad

Opusťte hodnoty dotazu pomocí mysql.escape() metody:

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);
});

Můžete také použít a ?jako zástupný symbol pro hodnoty, které chcete uniknout.

V tomto případě je proměnná odeslána jako druhý parametr v metodě query():

Příklad

Escape hodnoty dotazu pomocí zástupné ? metody:

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);
});

Pokud máte více zástupných symbolů, pole obsahuje více hodnot v tomto pořadí:

Příklad

Více zástupných symbolů:

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);
});