- Adaugare date in tabel
- Adaugare mai multe randuri

Creare tabel

Pentru a crea un tabel in MySQL, se utilizeaza instructiunea "CREATE TABLE".
Cand creezi conexiunea adauga proprietatea "database" in metoda mysql.createConnection() cu numele bazei de date.
- In acest exemplu vom crea un tabel "friends" in baza de date mysql "nodedb:
const mysql = require('mysql');

const con = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'pass',
  database: 'nodedb',
  charset: 'utf8' //encoding charset
});

let sql ='CREATE TABLE IF NOT EXISTS friends (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, address VARCHAR(255))';
  
con.query(sql, (err, res)=>{
  if(err) throw err;
  console.log('Table created.', res);

  con.end(err=>{
    if(err) throw err;
    console.log('Connection is terminated.');
  });
});
Salveaza codul de mai sus intr-un fisier numit "mysql_create_table.js" si ruleaza fisierul:
node test/mysql_create_table.js

Adaugare date in tabel

Pentru a introduce date in tabelul MySQL, se foloseste interogare SQL "INSERT INTO".
Pentru a evita "SQL injection", ar trebui sa filtrati datele furnizate de utilizator inainte de a le utiliza in interiorul unei interogari SQL. Pentru aceasta se foloseste metoda mysql.escape().
Alternativ, puteti utiliza caracterele ? ca substituenti pentru valorile care le doriti filtrate, si adaugati valorile intr-un array ca al doilea argument al metodei query() (in aceeasi ordine ca si substituentii '?' din interogarea sql).
- Exemplu cu escape(), introduce un rand cu valori pentru campurile name si address.
const mysql = require('mysql');

const con = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'pass',
  database: 'nodedb',
  charset: 'utf8' //encoding charset
});

var name ='Olpram';
var adr ='Heaven, Peace 0';
let sql ='INSERT INTO friends (name, address) VALUES ('+ mysql.escape(name) +', '+ mysql.escape(adr) +')';

con.query(sql, (err, res)=>{
  if(err) throw err;
  console.log(res);

  con.end(err=>{
    if(err) throw err;
    console.log('Connection is terminated');
  });
});
- Sau, aceeasi instructiune INSERT, cu substituenti '?':
const mysql = require('mysql');

const con = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'pass',
  database: 'nodedb',
  charset: 'utf8' //encoding charset
});

var name ='Olpram';
var adr ='Heaven, Peace 0';
let sql ='INSERT INTO friends (name, address) VALUES (?, ?)';

con.query(sql, [name, adr], (err, res)=>{
  if(err) throw err;
  console.log(res);

  con.end(err=>{
    if(err) throw err;
    console.log('Connection is terminated');
  });
});
Salveaza codul de mai sus intr-un fisier numit "mysql_insert.js" si ruleaza fisierul:
node test/mysql_insert.js
Va da acest rezultat, un obiect cu informatii despre interogarea efectatuata:
{
  fieldCount: 0,
  affectedRows: 1,
  insertId: 1,
  serverStatus: 2,
  warningCount: 0,
  message: '',
  protocol41: true,
  changedRows: 0
}
Connection is terminated.
- Pentru tabele cu camp "id" AUTO_INCREMENT, poti obtine id-ul randului adaugat apeland proprietatea "insertId" a obiectului rezultat.
console.log('1 record inserted, ID: '+ res.insertId);

Adaugare mai multe randuri

Pentru a introduce mai multe randuri cu aceeasi instructiune SQL, creaza un array cu valorile ce trebuie adaugate si pune caracterul '?' in sql, care va fi inlocuit cu acel array:
let sql ='INSERT INTO friends (name, address) VALUES ?';
let values =[
  ['a', 'b'],
  ['a2', 'b2'],
  //...
];
Adauga array-ul cu valori intr-un alt array ca al doilea argument in functia con.query():
con.query(sql, [values], (err, res)=>{});

- Cand sunt introduse mai multe randuri, valoarea res.insertId contine id-ul AUTO_INCREMENT al primului rand introdus.
In acest caz, pentru a obtine id-ul AUTO_INCREMENT al ultimului rand introdus, foloseste:
var last_id = res.insertId + res.affectedRows -1;
- Proprietatea res.affectedRows contine numarul de randuri introduse.
Exemplu:
const mysql = require('mysql');

const con = mysql.createConnection({
  host: '127.0.0.1',
  user: 'root',
  password: 'pass',
  database: 'nodedb',
  charset: 'utf8' //encoding charset
});

let sql ='INSERT INTO friends (name, address) VALUES ?';
let values = [
  ['Xela', 'Good 71'],
  ['Rotciv', 'Helpful 4'],
  ['Noi', 'Loving st 652'],
  ['Anilehgna', 'Blessing 21']
];

con.query(sql, [values], (err, res)=>{
  if(err) throw err;
  var last_id = res.insertId + res.affectedRows -1;
  console.log('Number of records inserted: '+ res.affectedRows +'\n Id of first  inserted row: '+ res.insertId +'\n Id of last inserted row: '+ last_id);

  con.end(err=>{
    if(err) throw err;
    console.log('Connection is terminated.');
  });
});
Salveaza codul de mai sus intr-un fisier numit "mysql_insert2.js" si ruleaza fisierul:
node test/mysql_insert2.js
Iti va da un rezultat ca acesta:
Number of records inserted: 4
Id of first inserted row: 2
Id of last inserted row: 5
Connection is terminated.

Daca e adaugat sirul "localhost" in proprietatea "host", si rezulta aceasta eroare:
Error: getaddrinfo ENONET localhost:3306
- Incearca sa folosesti: "127.0.0.1"

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag se foloseste in <table> pentru a crea celula de tip "header"?
<thead> <th> <td>
<table><tr>
  <th>Title 1</th>
  <th>Title 2</th>
</tr></table>
Ce proprietate CSS seteaza distanta dintre randuri?
line-height word-spacing margin
.some_class {
  line-height: 150%;
}
Care functie deschide o noua fereastra.
alert() confirm() open()
document.getElementById("id_button").onclick = function(){
  window.open("http://coursesweb.net/");
}
Indicati functia PHP care returneaza un array cu numele fisierelor si directoarelor dintr-un director.
mkdir() scandir() readdir()
$ar_dir = scandir("dir_name");
var_export($ar_dir);
Care din urmatoarele forme a verbului "sleep" (a dormi) se foloseste pentru viitor?
sleeping slept will sleep
He will sleep there.
- El va dormi acolo.
Care din urmatoarele forme a verbului "dormir" (a dormi) se foloseste pentru viitor?
dormido dormirá durmiendo
Él dormirá allí.
- El va dormi acolo.
Creare tabel in baza de date MySQL si Adaugare date

Last accessed pages

  1. Instructiuni repetitive for() (19)
  2. Coduri pt culori (10913)
  3. Instructiuni conditionale if() else, switch (687)
  4. Cursuri si Tutoriale: Spaniola, Engleza, HTML, CSS, Php-Mysql, JavaScript, Ajax (20778)
  5. Verbe frazale din limba Engleza (5769)

Popular pages this month

  1. Gramatica limbii engleze - Prezentare Generala (2333)
  2. Cursuri si Tutoriale: Spaniola, Engleza, HTML, CSS, Php-Mysql, JavaScript, Ajax (969)
  3. Gramatica limbii spaniole. Indrumator si prezentare generala (785)
  4. Alphabet and Pronunciation - Alfabetul si pronuntia in limba engleza (783)
  5. Substantivul din limba engleza - The Noun (638)