Node.js MySQL Sélectionner à partir de
Sélection à partir d'un tableau
Pour sélectionner des données à partir d'une table dans MySQL, utilisez l'instruction "SELECT".
Exemple
Sélectionnez tous les enregistrements de la table "clients" et affichez l'objet résultat :
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", function (err, result, fields) {
if (err) throw err;
console.log(result);
});
});
SELECT * renverra toutes les colonnes
Enregistrez le code ci-dessus dans un fichier appelé "demo_db_select.js" et exécutez le fichier :
Exécutez "demo_db_select.js"
C:\Users\Your Name>node demo_db_select.js
Ce qui vous donnera ce résultat :
[
{ id: 1, name: 'John', address: 'Highway 71'},
{ id:
2, name: 'Peter', address: 'Lowstreet 4'},
{ id: 3, name: 'Amy',
address: 'Apple st 652'},
{ id: 4, name: 'Hannah', address:
'Mountain 21'},
{ id: 5, name: 'Michael', address: 'Valley 345'},
{ id: 6, name: 'Sandy', address: 'Ocean blvd 2'},
{ id: 7,
name: 'Betty', address: 'Green Grass 1'},
{ id: 8, name: 'Richard',
address: 'Sky st 331'},
{ id: 9, name: 'Susan', address: 'One way
98'},
{ id: 10, name: 'Vicky', address: 'Yellow Garden 2'},
{ id: 11, name: 'Ben', address: 'Park Lane 38'},
{ id: 12, name: 'William',
address: 'Central st 954'},
{ id: 13, name: 'Chuck', address:
'Main Road 989'},
{ id: 14, name: 'Viola', address: 'Sideway
1633'}
]
Sélection de colonnes
Pour ne sélectionner que certaines colonnes d'une table, utilisez l'instruction "SELECT" suivie du nom de la colonne.
Exemple
Sélectionnez le nom et l'adresse dans la table "clients", et affichez l'objet de retour :
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 name, address FROM customers", function (err, result, fields) {
if (err) throw err;
console.log(result);
});
});
Enregistrez le code ci-dessus dans un fichier appelé "demo_db_select2.js" et exécutez le fichier :
Exécutez "demo_db_select2.js"
C:\Users\Your Name>node demo_db_select2.js
Ce qui vous donnera ce résultat :
[
{ name: 'John', address: 'Highway 71'},
{ name: 'Peter', address: 'Lowstreet 4'},
{ name: 'Amy',
address: 'Apple st 652'},
{ name: 'Hannah', address:
'Mountain 21'},
{ name: 'Michael', address: 'Valley 345'},
{ name: 'Sandy', address: 'Ocean blvd 2'},
{
name: 'Betty', address: 'Green Grass 1'},
{ name: 'Richard',
address: 'Sky st 331'},
{ name: 'Susan', address: 'One way
98'},
{ name: 'Vicky', address: 'Yellow Garden 2'},
{ name: 'Ben', address: 'Park Lane 38'},
{ name: 'William',
address: 'Central st 954'},
{ name: 'Chuck', address:
'Main Road 989'},
{ name: 'Viola', address: 'Sideway
1633'}
]
L'objet de résultat
Comme vous pouvez le voir dans le résultat de l'exemple ci-dessus, l'objet de résultat est un tableau contenant chaque ligne en tant qu'objet.
Pour renvoyer par exemple l'adresse du troisième enregistrement, il suffit de se référer à la propriété address du troisième objet tableau :
Exemple
Renvoyez l'adresse du troisième enregistrement :
console.log(result[2].address);
Ce qui produira ce résultat :
Apple st 652
L'objet Champs
Le troisième paramètre de la fonction de rappel est un tableau contenant des informations sur chaque champ du résultat.
Exemple
Sélectionnez tous les enregistrements de la table "clients", et affichez l' objet champs :
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 name, address FROM customers", function (err,
result, fields) {
if (err) throw err;
console.log(fields);
});
});
Enregistrez le code ci-dessus dans un fichier appelé "demo_db_select_fields.js" et exécutez le fichier :
Exécutez "demo_db_select_fields.js"
C:\Users\Your Name>node demo_db_select_fields.js
Ce qui vous donnera ce résultat :
[
{
catalog: 'def',
db:
'mydb',
table: 'customers',
orgTable: 'customers',
name: 'name',
orgName: 'name',
charsetNr: 33,
length: 765,
type: 253,
flags: 0,
decimals: 0,
default: undefined,
zeroFill: false,
protocol41: true
},
{
catalog: 'def',
db: 'mydb',
table: 'customers',
orgTable: 'customers',
name: 'address',
orgName: 'address',
charsetNr: 33,
length: 765,
type:
253,
flags: 0,
decimals: 0,
default: undefined,
zeroFill: false,
protocol41: true
}
]
Comme vous pouvez le voir dans le résultat de l'exemple ci-dessus, l'objet fields est un tableau contenant des informations sur chaque champ en tant qu'objet.
Pour renvoyer par exemple le nom du deuxième champ, il suffit de se référer à la propriété name du deuxième élément du tableau :
Exemple
Renvoie le nom du deuxième champ :
console.log(fields[1].name);
Ce qui produira ce résultat :
address