Właśnie zacząłem dostawać się do Node.js. Pochodzę z środowiska PHP, więc jestem przyzwyczajony do używania MySQL do wszystkich potrzeb związanych z bazą danych.
z czym skończyłeś? poniżej jest kilka dobrych informacji, chciałbym usłyszeć, jakie były twoje doświadczenia
Landon
7
@Landon, tak naprawdę poszedł z node-mysql z kilku powodów, głównie dlatego, że jest w dość aktywnym rozwoju i wydaje się być najczęściej używany. Bardzo podoba mi się również ta multipleStatementsfunkcja.
crawf
@crawf Co wolisz, PHP lub Node.js? Wskoczyłem do PHP / MySQL, ale myślę o przejściu na węzeł, ponieważ byłoby to znacznie bardziej naturalne, biorąc pod uwagę składnię JS
oldboy
1
@Anthony Osobiste preferencje Przypuszczam, że zależy to od ekosystemu, w którym się rozwijasz, jeśli jesteś w zespole itp. Ten oryginalny post jest starożytny i wiele się zmieniło w krajobrazie Węzłów, gdzie jest znacznie bardziej powszechny i praca zaplecza. Powiedziałbym, że jeśli masz czas, aby wypróbować Node, a jest on świetny w połączeniu z takimi rzeczami, jak socket.io dla gniazd internetowych w czasie rzeczywistym.
var mysql =require('mysql');var connection = mysql.createConnection({
host :'example.org',
user :'bob',
password :'secret',});
connection.connect(function(err){// connected! (unless `err` is set)});
Zapytania:
var post ={id:1, title:'Hello MySQL'};var query = connection.query('INSERT INTO posts SET ?', post,function(err, result){// Neat!});
console.log(query.sql);// INSERT INTO posts SET `id` = 1, `title` = 'Hello MySQL'
+1 również dla węzła-mysql. Co może być lepszego niż po prostu requirebiblioteka javascript
Alex K
4
@KevinLaity Miałem wrażenie, że node-mysql nie przygotował jeszcze zaimplementowanych instrukcji. Składnia wygląda podobnie . Zamiast tego wydaje się, że na razie uciekają znaki specjalne.
funseiki,
4
Dodatkowo możesz uzyskać nazwę swojej bazy danych, dodając „bazę danych” do obiektu połączenia
felipekm
28
node-mysql jest prawdopodobnie jednym z najlepszych dostępnych modułów do pracy z bazą danych MySQL, która jest aktywnie utrzymywana i dobrze udokumentowana.
Ponieważ jest to stary wątek, po prostu dodaje aktualizację:
Aby zainstalować sterownik MySQL node.js:
Jeśli uruchamiasz tylko npm install mysql, musisz znajdować się w tym samym katalogu, w którym działa serwer. Radziłbym to zrobić jak w jednym z następujących przykładów:
W przypadku instalacji globalnej:
npm install -g mysql
Do instalacji lokalnej:
1- Dodaj go do swoich package.jsonzależności:
"dependencies":{"mysql":"~2.3.2",...
2-biegowy npm install
Pamiętaj, że aby nawiązać połączenia, musisz także uruchomić serwer mysql (niezależny od węzłów)
Aby zainstalować serwer MySQL:
Istnieje wiele samouczków, które to wyjaśniają, i jest to trochę zależne od systemu operacyjnego. Po prostu przejdź do Google i wyszukaj how to install mysql server [Ubuntu|MacOSX|Windows]. Ale w jednym zdaniu: musisz przejść do strony http://www.mysql.com/downloads/ i zainstalować ją.
Imo, powinieneś wypróbować MySQL Connector / Node.js, który jest oficjalnym sterownikiem Node.js dla MySQL. Zobacz ref-1 i Ref-2 do szczegółowego wyjaśnienia. Próbowałem mysqljs / mysql, który jest dostępny tutaj , ale nie znalazłem szczegółowej dokumentacji na temat klas, metod i właściwości tej biblioteki.
Więc przełączyłem się na standard MySQL Connector/Node.jsz X DevAPI, ponieważ jest to asynchroniczna biblioteka klienta oparta na obietnicy i zapewnia dobrą dokumentację. Spójrz na następujący fragment kodu:
const mysqlx =require('@mysql/xdevapi');const rows =[];
mysqlx.getSession('mysqlx://localhost:33060').then(session =>{const table = session.getSchema('testSchema').getTable('testTable');// The criteria is defined through the expression.return table.update().where('name = "bar"').set('age',50).execute().then(()=>{return table.select().orderBy('name ASC').execute(row => rows.push(row));});}).then(()=>{
console.log(rows);});
Możesz także wypróbować nowszą metodę znaną jako Node.js DB, która ma na celu zapewnienie wspólnej struktury dla wielu silników baz danych. Jest zbudowany w C ++, więc wydajność jest gwarantowana.
O ile wiem, wydania alfa nigdy nie powinny być traktowane jako „stabilne”. Popraw mnie, jeśli się mylę. Alpha ma możliwość radykalnej zmiany API przed przejściem do finału, co jest wysoce niepożądane w kodzie produkcyjnym (a nawet programistycznym). To znaczy, jeśli numeracja wersji jest zgodna z wytycznymi semver.org .
Robin van Baalen,
1
„inteligentne” cytaty („”) okazują się nie być tak inteligentne w plikach js.
glif
Podoba mi się ten komentarz, ponieważ pokazuje, gdzie umieścić nazwę bazy danych
Borys Iwanow
0
Możesz pominąć ORM, konstruktory itp. I uprościć zarządzanie DB / SQL za pomocą sqleri sqler-mdb.
-- create this file at: db/mdb/setup/create.database.sqlCREATEDATABASEIFNOTEXISTS sqlermysql
const conf ={"univ":{"db":{"mdb":{"host":"localhost","username":"admin","password":"mysqlpassword"}}},"db":{"dialects":{"mdb":"sqler-mdb"},"connections":[{"id":"mdb","name":"mdb","dir":"db/mdb","service":"MySQL","dialect":"mdb","pool":{},"driverOptions":{"connection":{"multipleStatements":true}}}]}};// create/initialize managerconst manager =newManager(conf);await manager.init();// .sql file path is path to db functionconst result =await manager.db.mdb.setup.create.database();
console.log('Result:', result);// after we're done using the manager we should close it
process.on('SIGINT',asyncfunction sigintDB(){await manager.close();
console.log('Manager has been closed');});
multipleStatements
funkcja.Odpowiedzi:
Sprawdź listę modułów node.js
node-mysql wygląda dość prosto:
Zapytania:
źródło
require
biblioteka javascriptnode-mysql jest prawdopodobnie jednym z najlepszych dostępnych modułów do pracy z bazą danych MySQL, która jest aktywnie utrzymywana i dobrze udokumentowana.
źródło
Ponieważ jest to stary wątek, po prostu dodaje aktualizację:
Aby zainstalować sterownik MySQL node.js:
Jeśli uruchamiasz tylko
npm install mysql
, musisz znajdować się w tym samym katalogu, w którym działa serwer. Radziłbym to zrobić jak w jednym z następujących przykładów:W przypadku instalacji globalnej:
Do instalacji lokalnej:
1- Dodaj go do swoich
package.json
zależności:2-biegowy
npm install
Pamiętaj, że aby nawiązać połączenia, musisz także uruchomić serwer mysql (niezależny od węzłów)
Aby zainstalować serwer MySQL:
Istnieje wiele samouczków, które to wyjaśniają, i jest to trochę zależne od systemu operacyjnego. Po prostu przejdź do Google i wyszukaj
how to install mysql server [Ubuntu|MacOSX|Windows]
. Ale w jednym zdaniu: musisz przejść do strony http://www.mysql.com/downloads/ i zainstalować ją.źródło
npm install --save mysql
zainstaluje go, doda gopackage.json
automatycznieOto kod produkcyjny, który może ci pomóc.
Package.json
Oto plik serwera.
Odniesienie: https://codeforgeek.com/2015/01/nodejs-mysql-tutorial/
źródło
Cannot read property 'release' of undefined
KnexJs może być używany jako narzędzie do tworzenia zapytań SQL w Node.JS i przeglądarce. Uważam, że jest łatwy w użyciu. Spróbujmy - Knex.js
Możesz użyć tego w ten sposób
lub
źródło
Imo, powinieneś wypróbować MySQL Connector / Node.js, który jest oficjalnym sterownikiem Node.js dla MySQL. Zobacz ref-1 i Ref-2 do szczegółowego wyjaśnienia. Próbowałem mysqljs / mysql, który jest dostępny tutaj , ale nie znalazłem szczegółowej dokumentacji na temat klas, metod i właściwości tej biblioteki.
Więc przełączyłem się na standard
MySQL Connector/Node.js
zX DevAPI
, ponieważ jest to asynchroniczna biblioteka klienta oparta na obietnicy i zapewnia dobrą dokumentację. Spójrz na następujący fragment kodu:źródło
Możesz także wypróbować nowszą metodę znaną jako Node.js DB, która ma na celu zapewnienie wspólnej struktury dla wielu silników baz danych. Jest zbudowany w C ++, więc wydajność jest gwarantowana.
W szczególności można użyć jej sterownik db-mysql dla wsparcia node.js MySQL .
źródło
połącz bazę danych mysql, instalując bibliotekę. tutaj wybrałem stabilny i łatwy w użyciu moduł node-mysql.
Przykład połączenia i kwerendy dla mysql NodeJS
źródło
Możesz pominąć ORM, konstruktory itp. I uprościć zarządzanie DB / SQL za pomocą
sqler
isqler-mdb
.źródło