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