在 Linux 上用 JavaScript(Node.js)连接数据库,通常分三步:装 Node.js → 装数据库驱动 → 写代码连接。下面按常见数据库给你示例。
# 检查 node
node -v
npm -v
# 没有就装(以 Ubuntu 为例)
sudo apt update
sudo apt install nodejs npm
npm init -y
npm install mysql2
const mysql = require('mysql2');
const conn = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '123456',
database: 'test'
});
conn.connect(err => {
if (err) throw err;
console.log('MySQL 连接成功');
});
conn.query('SELECT 1 + 1 AS result', (err, rows) => {
console.log(rows);
conn.end();
});
npm install pg
const { Client } = require('pg');
const client = new Client({
host: 'localhost',
user: 'postgres',
password: '123456',
database: 'test',
port: 5432
});
client.connect()
.then(() => client.query('SELECT 1'))
.then(res => {
console.log(res.rows);
return client.end();
})
.catch(err => console.error(err));
npm install mongodb
const { MongoClient } = require('mongodb');
const url = 'mongodb://localhost:27017';
const client = new MongoClient(url);
async function run() {
await client.connect();
const db = client.db('test');
const col = db.collection('users');
const data = await col.find({}).toArray();
console.log(data);
await client.close();
}
run();
npm install sqlite3
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('./test.db');
db.serialize(() => {
db.run('CREATE TABLE IF NOT EXISTS user (id INT)');
db.all('SELECT * FROM user', (err, rows) => {
console.log(rows);
});
});
db.close();
bind-address)127.0.0.1 而不是 localhost(有时有 socket 问题)sequelize / prismamongoosetypeorm / prisma如果你告诉我:
我可以直接给你一套完整可运行的代码。