[[oktatas:web:nodejs|< Node.js]]
====== Mariadb ======
* **Szerző:** Sallai András
* Copyright (c) 2019, Sallai András
* Szerkesztve: 2019, 2021, 2025
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== Kapcsolódás Mariadb szerverhez =====
Legyen egy adatbázis:
create database iroda;
use iroda;
create table utazok(
az int not null primary key auto_increment,
nev varchar(50),
telepules varchar(50)
);
grant all privileges
on iroda.*
to iroda@localhost
identified by 'titok';
Az utazok nevű tábla:
desc utazok;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| az | int(11) | NO | PRI | NULL | auto_increment |
| nev | varchar(50) | YES | | NULL | |
| telepules | varchar(50) | YES | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
Ha szeretnénk felvenni egy utazót:
insert into utazok
(nev, telepules)
values
('Páros Irén', 'Szeged');
Feladatunk: elérni az adatbázist, lekérdezni és beszúrni adatokat.
==== Lekérdezés ====
const mariadb = require('mariadb/callback');
const conn = mariadb.createConnection({
host: 'localhost',
database: 'iroda',
user: 'iroda',
password: 'titok'
});
conn.query("select * from utazok", (err, rows) => {
console.log(rows);
conn.end();
});
==== Beszúrás ====
const mariadb = require('mariadb/callback');
const conn = mariadb.createConnection({
host: 'localhost',
database: 'iroda',
user: 'iroda',
password: 'titok'
});
conn.query("insert into utazok (nev, telepules) values (?, ?)",
["Pataki Sándor", "Szolnok"],
(err, res) => {
console.log(res);
conn.end();
});
==== Pool használata ====
Ha pool-t használunk egy kapcsolatkészletünk lesz, mielőtt megszakad a
kapcsolat. Ebben a példában 5 darab kapcsolatot állítunk be.
Nagyobb projekteknél ajánlott a használata.
const mariadb = require('mariadb')
const pool = mariadb.createPool({
host: 'localhost',
user: 'iroda',
password: 'titok',
database: 'iroda',
connectionLimit: 5
})
pool.getConnection()
.then(conn => {
conn.query('SELECT * FROM utazok')
.then(rows => {
console.log(rows)
conn.end()
})
.catch(err => {
console.log(err)
conn.end()
})
})
.catch(err => {
console.log(err)
})