![[Node.js] 09 - Connect with Database [Node.js] 09 - Connect with Database](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
简介两个数据库:
Node.js 连接 MySql
导入已有数据库:
unsw@unsw-UX303UB$ mysql -u root -p #登录
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 44
Server version: 5.5.59-0ubuntu0.14.04.1 (Ubuntu) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> source /root/android-workplace/netty-server/db-mysql/localhost-testdb.sql #导入数据库
基本操作:from link
1.显示数据库列表
show databases; 2.选择一个数据库
use mysql 3.显示当前数据库的表单:
show tables;
以上是常规操作,利用nodejs,该如何处理;
1. 安装nodejs环境下的mysql配置
(1)
npm install mysql
(2) from link
Be sure to run npm install if you haven't tried that. If you have, try: npm install mysql --save
2. 数据库位置
mysql> select @@datadir;
+-----------------+
| @@datadir |
+-----------------+
| /var/lib/mysql/ |
+-----------------+
1 row in set (0.00 sec)
root权限看到数据文件。
unsw@unsw-UX303UB$ sudo ls /var/lib/mysql/
[sudo] password for unsw:
debian-5.5.flag ib_logfile0 unsw_mh_test mysql_upgrade_info
ibdata1 ib_logfile1 mysql performance_schema
3. 使用nodejs操作数据库
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456',
port : '3306'
database : 'mysql' // 数据库的名字
}); connection.connect();
3.1 简单的select语句示范
connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});
3.2 查询数据
var sql = 'SELECT * FROM websites';
connection.query(sql,function (err, result) {
if(err){
console.log('[SELECT ERROR] - ',err.message);
return;
} console.log('--------------------------SELECT----------------------------');
console.log(result);
console.log('------------------------------------------------------------\n\n');
}); connection.end();
3.3 插入数据
var addSql = 'INSERT INTO websites(Id,name,url,alexa,country) VALUES(0,?,?,?,?)';
var addSqlParams = ['菜鸟工具', 'https://c.runoob.com','23453', 'CN'];
connection.query(addSql, addSqlParams, function (err, result) {
if(err){
console.log('[INSERT ERROR] - ',err.message);
return;
} console.log('--------------------------INSERT----------------------------');
//console.log('INSERT ID:',result.insertId);
console.log('INSERT ID:',result);
console.log('-----------------------------------------------------------------\n\n');
}); connection.end();
3.4 更新数据
var modSql = 'UPDATE websites SET name = ?,url = ? WHERE Id = ?';
var modSqlParams = ['菜鸟移动站', 'https://m.runoob.com',6]; connection.query(modSql, modSqlParams, function (err, result) {
if(err){
console.log('[UPDATE ERROR] - ',err.message);
return;
}
console.log('--------------------------UPDATE----------------------------');
console.log('UPDATE affectedRows',result.affectedRows);
console.log('-----------------------------------------------------------------\n\n');
}); connection.end();
3.5 删除数据
var delSql = 'DELETE FROM websites where id=6'; connection.query(delSql, function (err, result) {
if(err){
console.log('[DELETE ERROR] - ',err.message);
return;
} console.log('--------------------------DELETE----------------------------');
console.log('DELETE affectedRows',result.affectedRows);
console.log('-----------------------------------------------------------------\n\n');
}); connection.end();
Node.js 连接 MongoDB
MongoDB是一种文档导向数据库管理系统,基于分布式文件存储的数据库,由C++撰写而成。
本章节我们将为大家介绍如何使用 Node.js 来连接 MongoDB,并对数据库进行操作。
如果你还没有 MongoDB 的基本知识,可以参考我们的教程:MongoDB 教程。
安装:
Ref: How to Install and Configure MongoDB on Ubuntu 14.04
Ref: Linux平台安装MongoDB