Saya baru saja mulai masuk ke Node.js. Saya berasal dari latar belakang PHP, jadi saya cukup terbiasa menggunakan MySQL untuk semua kebutuhan basis data saya.
Bagaimana saya bisa menggunakan MySQL dengan Node.js?
apa yang akhirnya terjadi denganmu? ada beberapa informasi yang baik di bawah ini, saya akan tertarik untuk mendengarkan apa pengalaman Anda
Landon
7
@ Landon, sebenarnya pergi dengan node-mysql karena beberapa alasan, terutama karena itu dalam pengembangan yang cukup aktif, dan tampaknya menjadi yang paling banyak digunakan. Saya juga sangat suka multipleStatementsfungsinya.
crawf
@crawf Apa yang Anda sukai, PHP atau Node.js? Saya melompat ke PHP / MySQL, tetapi saya berpikir untuk beralih ke node karena itu akan terasa jauh lebih alami mengingat sintaksnya adalah sintaks JS
oldboy
1
@Anthony Preferensi pribadi Saya kira, itu tergantung pada ekosistem yang Anda kembangkan, jika Anda berada dalam tim, dll. Posting asli ini kuno, dan banyak yang telah berubah di lanskap Node di mana jauh lebih umum untuk depan dan back end bekerja. Saya akan mengatakan jika Anda punya waktu untuk mencoba Node, dan sangat cocok dengan hal-hal seperti socket.io untuk soket web waktu nyata.
var mysql =require('mysql');var connection = mysql.createConnection({
host :'example.org',
user :'bob',
password :'secret',});
connection.connect(function(err){// connected! (unless `err` is set)});
Pertanyaan:
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 untuk node-mysql juga. Apa yang bisa lebih baik daripada hanya requireperpustakaan javascript
Alex K
4
@KevinLaity Saya mendapat kesan bahwa node-mysql belum menyiapkan pernyataan yang diimplementasikan. Sintaksnya terlihat mirip . Sebaliknya, tampaknya, untuk saat ini, karakter khusus sedang melarikan diri.
funseiki
4
Plus Anda bisa mendapatkan nama database Anda menambahkan 'database' ke objek koneksi
felipekm
29
node-mysql mungkin salah satu modul terbaik di luar sana yang digunakan untuk bekerja dengan database MySQL yang secara aktif dipelihara dan didokumentasikan dengan baik.
Karena ini adalah utas lama yang hanya menambahkan pembaruan:
Untuk menginstal driver MySQL node.js:
Jika Anda menjalankan hanya npm install mysql, Anda harus berada di direktori yang sama dengan yang Anda jalankan server Anda. Saya akan menyarankan untuk melakukannya seperti dalam salah satu contoh berikut:
Untuk instalasi global:
npm install -g mysql
Untuk pemasangan lokal:
1- Tambahkan ke package.jsondalam dependensi Anda:
"dependencies":{"mysql":"~2.3.2",...
2- lari npm install
Perhatikan bahwa agar koneksi terjadi, Anda juga harus menjalankan server mysql (yang merupakan simpul independen)
Untuk menginstal server MySQL:
Ada banyak tutorial di luar sana yang menjelaskan hal ini, dan itu sedikit tergantung pada sistem operasi. Cukup buka google dan cari how to install mysql server [Ubuntu|MacOSX|Windows]. Tetapi dalam sebuah kalimat: Anda harus pergi ke http://www.mysql.com/downloads/ dan menginstalnya.
Kode ini tampaknya kacau .. banyak kesalahan termasukCannot read property 'release' of undefined
Pacerier
4
Imo, Anda harus mencoba MySQL Connector / Node.js yang merupakan driver Node.js resmi untuk MySQL. Lihat ref-1 dan ref-2 untuk penjelasan terperinci. Saya telah mencoba mysqljs / mysql yang tersedia di sini , tetapi saya tidak menemukan dokumentasi terperinci tentang kelas, metode, properti perpustakaan ini.
Jadi saya beralih ke standar MySQL Connector/Node.jsdengan X DevAPI, karena itu adalah berbasis Janji asynchronous klien perpustakaan dan menyediakan dokumentasi yang baik. Lihatlah potongan kode berikut:
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);});
Anda juga dapat mencoba upaya yang lebih baru yang dikenal sebagai Node.js DB yang bertujuan untuk menyediakan kerangka kerja umum untuk beberapa mesin basis data. Itu dibangun dengan C ++ sehingga kinerja dijamin.
Sejauh yang saya tahu rilis alpha tidak pernah perlu khawatir sebagai 'stabil'. Koreksi saya jika saya salah. Alpha memiliki kemungkinan untuk secara dramatis mengubah API sebelum pergi ke final yang sangat tidak diinginkan dalam kode produksi (dan bahkan pengembangan). Yaitu, jika penomoran versi mengikuti pedoman semver.org .
Robin van Baalen
1
Kutipan "pintar" ('') ternyata tidak terlalu pintar dalam file js.
mesin terbang
Saya suka komentar ini karena ini menunjukkan di mana harus meletakkan nama basis data
Boris Ivanov
0
Anda dapat melewati ORM, pembangun, dll. Dan menyederhanakan manajemen DB / SQL Anda menggunakan sqlerdan 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
fungsinya.Jawaban:
Periksa daftar modul node.js
node-mysql terlihat cukup sederhana:
Pertanyaan:
sumber
require
perpustakaan javascriptnode-mysql mungkin salah satu modul terbaik di luar sana yang digunakan untuk bekerja dengan database MySQL yang secara aktif dipelihara dan didokumentasikan dengan baik.
sumber
Karena ini adalah utas lama yang hanya menambahkan pembaruan:
Untuk menginstal driver MySQL node.js:
Jika Anda menjalankan hanya
npm install mysql
, Anda harus berada di direktori yang sama dengan yang Anda jalankan server Anda. Saya akan menyarankan untuk melakukannya seperti dalam salah satu contoh berikut:Untuk instalasi global:
Untuk pemasangan lokal:
1- Tambahkan ke
package.json
dalam dependensi Anda:2- lari
npm install
Perhatikan bahwa agar koneksi terjadi, Anda juga harus menjalankan server mysql (yang merupakan simpul independen)
Untuk menginstal server MySQL:
Ada banyak tutorial di luar sana yang menjelaskan hal ini, dan itu sedikit tergantung pada sistem operasi. Cukup buka google dan cari
how to install mysql server [Ubuntu|MacOSX|Windows]
. Tetapi dalam sebuah kalimat: Anda harus pergi ke http://www.mysql.com/downloads/ dan menginstalnya.sumber
npm install --save mysql
akan menginstalnya dan menambahkannya ke perangkat Andapackage.json
secara otomatisBerikut adalah kode produksi yang dapat membantu Anda.
Package.json
Ini adalah file Server.
Referensi: https://codeforgeek.com/2015/01/nodejs-mysql-tutorial/
sumber
Cannot read property 'release' of undefined
Imo, Anda harus mencoba MySQL Connector / Node.js yang merupakan driver Node.js resmi untuk MySQL. Lihat ref-1 dan ref-2 untuk penjelasan terperinci. Saya telah mencoba mysqljs / mysql yang tersedia di sini , tetapi saya tidak menemukan dokumentasi terperinci tentang kelas, metode, properti perpustakaan ini.
Jadi saya beralih ke standar
MySQL Connector/Node.js
denganX DevAPI
, karena itu adalah berbasis Janji asynchronous klien perpustakaan dan menyediakan dokumentasi yang baik. Lihatlah potongan kode berikut:sumber
KnexJs dapat digunakan sebagai pembangun kueri SQL di Node.JS dan browser. Saya merasa mudah digunakan. Mari kita coba - Knex.js
Anda bisa menggunakannya seperti ini
atau
sumber
Anda juga dapat mencoba upaya yang lebih baru yang dikenal sebagai Node.js DB yang bertujuan untuk menyediakan kerangka kerja umum untuk beberapa mesin basis data. Itu dibangun dengan C ++ sehingga kinerja dijamin.
Khususnya Anda bisa menggunakan driver db-mysql untuk dukungan Node.js MySQL .
sumber
sambungkan database mysql dengan menginstal perpustakaan. di sini, pilih modul node-mysql yang stabil dan mudah digunakan.
Untuk NodeJS mysql menghubungkan dan meminta contoh
sumber
Anda dapat melewati ORM, pembangun, dll. Dan menyederhanakan manajemen DB / SQL Anda menggunakan
sqler
dansqler-mdb
.sumber