Node.js + Mysql 交互

2017-11-29  本文已影响0人  sylvia_yue

此处使用的 Mysql 是本地 Mysql,则先要配置本地 Mysql 环境https://dev.mysql.com/downloads/installer/

官网下载 Mysq 安装好即可。后面主要介绍 Node + Mysql 的交互。

1.安装 Mysql

首先在项目里 npm init ,创建 package.json 文件,执行 npm install mysql,安装好 mysql;

2.创建 test.js,进行测试

var mysql = require('mysql');
//下面为数据库连接参数,根据数据库情况进行修改

var connection = mysql.createConnection({
    host : 'localhost',    //主机地址
    user : 'me',    //用户名
    password : 'secret',    //密码
    database : 'my_db'    //数据库名
});

connection.connect();

connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});

connection.end();

执行 node test.js,若连接成功则返回



注:
以上, connection 上调用的每个方法都按顺序执行;
使用 .ende()方法来关闭 connection,他会确保所有查询都在发送最后一个退出指令前被执行。

3.建立连接

1).connect()

var mysql = require('mysql');
var connection = mysql.createConnection({
    host : 'example.org',
    user : 'bob',
    password : 'secret'
});

connection.connect(function(err) {
if (err) {
    console.error('error connecting: ' + err.stack);
    return;
}

console.log('connected as id ' + connection.threadId);
});

2).query()

var mysql = require('mysql');
var connection = mysql.createConnection(...);

connection.query('SELECT 1', function (error, results, fields) {
    if (error) throw error;
    // connected!
});

以上两种方式取决于你倾向于哪种方式来处理 error 。

4.常用Connection options

host:要连接的数据库主机名(默认:localhost)
port:端口(默认:3306)
user:Mysql 用户名
password:Mysql 用户的密码
database:连接的数据库名
charset:连接的字符集。(默认:'UTF8_GENERAL_CI')
multipleStatements:是否允许一个 query 中有多个 Mysql 语句(默认:false)

5.终止连接

1).end()
他会确保所有查询都在发送最后一个退出指令前被执行。
2).destroy()
会立即终止数据发送。

6.切换用户、改变连接状态

connection.changeUser({user : 'john'}, function(err) {
    if (err) throw err;
});

可改变:user、password、charset、database

7.请求方法.query()

connection.query('SELECT * FROM `books` WHERE `author` = "David"', function (error, results, fields) {
// error will be an Error if one occurred during the query
// results will contain the results of the query
// fields will contain information about the returned results fields (if any)
});

8.SQL常用增删改查语句(SQL 语句对大小写不敏感)

* SELECT - 从数据库表中获取数据
* UPDATE - 更新数据库表中的数据
* DELETE - 从数据库表中删除数据
* INSERT INTO - 向数据库表中插入数据
eg:SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'
    SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'
上一篇 下一篇

猜你喜欢

热点阅读