//win7环境下node要先安装MySQL的相关组件(非安装MySQL数据库),在cmd命令行进入node项目目录后执行以下语句
//npm install mysql var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
port : '3306',
user : 'root',
password : '123456',
database : 'test'
});
/*
mysql.createConnection 数据库连接参数说明:
host : 主机地址 (默认:localhost)
user : 用户名
password : 密码
port : 端口号 (默认:3306)
database : 数据库名
charset : 连接字符集(默认:'UTF8_GENERAL_CI',注意字符集的字母都要大写)
localAddress : 此IP用于TCP连接(可选)
socketPath : 连接到unix域路径,当使用 host 和 port 时会被忽略
timezone : 时区(默认:'local')
connectTimeout : 连接超时(默认:不限制;单位:毫秒)
stringifyObjects : 是否序列化对象
typeCast : 是否将列值转化为本地JavaScript类型值 (默认:true)
queryFormat : 自定义query语句格式化方法
supportBigNumbers : 数据库支持bigint或decimal类型列时,需要设此option为true (默认:false)
bigNumberStrings : supportBigNumbers和bigNumberStrings启用 强制bigint或decimal列以JavaScript字符串类型返回(默认:false)
dateStrings : 强制timestamp,datetime,data类型以字符串类型返回,而不是JavaScript Date类型(默认:false)
debug : 开启调试(默认:false)
multipleStatements : 是否许一个query中有多个MySQL语句 (默认:false)
flags : 用于修改连接标志
ssl : 使用ssl参数(与crypto.createCredenitals参数格式一至)或一个包含ssl配置文件名称的字符串,目前只捆绑Amazon RDS的配置文件
*/
connection.connect(); //查询数据
var sel_sql = 'SELECT * FROM tablename';
connection.query(sel_sql, function (error, results, fields) {
if(error){
console.log('[SELECT ERROR] - ',error.message);
//throw error;
return;
}
//fields为连接的数据库信息
//console.log(fields);
console.log(results[0].name);//返回数据第一行中name字段的值
}); /*
执行查询返回结果
名称1
*/ //插入数据
var add_sql = 'INSERT INTO tablename(id, name, age, type) VALUES(3,?,?,?)';
var add_params = ['名称3', 100, '测试'];
connection.query(add_sql,add_params, function (error, results, fields) {
if(error){
console.log('[INSERT ERROR] - ',error.message);
//throw error;
return;
}
console.log('--------------------------INSERT----------------------------');
//results.insertId新插入数据的id
//console.log('INSERT ID:',results.insertId);
console.log('INSERT ID:',results);
console.log('-----------------------------------------------------------------\n\n');
}); /*
执行插入返回结果
--------------------------INSERT----------------------------
INSERT ID: OkPacket {
fieldCount: 0,
affectedRows: 1,
insertId: 3,
serverStatus: 2,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0 }
----------------------------------------------------------------- */ //更新数据
var update_sql = 'UPDATE tablename SET name = ?, age = ?, type = ? WHERE Id = ?';
var update_params = ['名称22', 120, '正式', 2];
connection.query(update_sql,update_params, function (error, results, fields) {
if(error){
console.log('[UPDATE ERROR] - ',error.message);
//throw error;
return;
}
console.log('--------------------------UPDATE----------------------------');
//results.changedRows 改变表的条数,未改变返回0
console.log('UPDATE tablename',results.changedRows);
console.log('-----------------------------------------------------------------\n\n');
}); /*
执行更新返回结果
--------------------------UPDATE----------------------------
UPDATE tablename 1
-----------------------------------------------------------------
*/ //删除数据
var delete_sql = 'DELETE FROM tablename WHERE id = 3';
connection.query(delete_sql, function (error, results, fields) {
if(error){
console.log('[DELETE ERROR] - ',error.message);
//throw error;
return;
}
console.log('--------------------------DELETE----------------------------');
//results.affectedRows 影响的条数,一条未删,返回0
console.log('DELETE tablename',results.affectedRows);
console.log('-----------------------------------------------------------------\n\n');
}); /*
执行删除返回结果
--------------------------DELETE----------------------------
DELETE tablename 1
-----------------------------------------------------------------
*/ //结束连接
connection.end();

Node js MySQL简单操作的更多相关文章

  1. Node js MongoDB简单操作

    //win7环境下node要先安装MongoDB的相关组件(非安装MongoDB数据库),在cmd命令行进入node项目目录后执行以下语句 //npm install mongodb //创建连接 v ...

  2. [转]Node.JS使用Sequelize操作MySQL

    Sequelize官方文档  https://sequelize.readthedocs.io/en/latest/ 本文转自:https://www.jianshu.com/p/797e10fe23 ...

  3. Node.js + MySQL 实现数据的增删改查

    通过完成一个 todo 应用展示 Node.js + MySQL 增删改查的功能.这里后台使用 Koa 及其相应的一些中间件作为 server 提供服务. 初始化项目 $ mkdir node-cru ...

  4. 零代码第一步,做个添加数据的服务先。node.js + mysql

    node.js + mysql 实现数据添加的功能.万事基于服务! 增删改查之添加数据. 优点:只需要设置一个json文件,就可以实现基本的添加功能,可以视为是零代码. 添加数据的服务实现的功能: 1 ...

  5. node.js+mysql环境搭建

    https://www.jianshu.com/p/9b338095cbe8 node.js+mysql环境搭建 0x01 前言 随着html web技术的发展,和全栈式开发的需求,对于前端人员来讲, ...

  6. python(pymysql)之mysql简单操作

    一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...

  7. Centos7 中 Node.js安装简单方法

    最近,我一直对学习Node.js比较感兴趣.下面是小编给大家带来的Centos7 中 Node.js安装简单方法,在此记录一下,方便自己也方便大家,一起看看吧! 安装node.js 登陆Centos ...

  8. 创建node.js一个简单的应用实例

    在node.exe所在目录下,创建一个叫 server.js 的文件,并写入以下代码: //使用 require 指令来载入 http 模块 var http = require("http ...

  9. [Node.js]expressjs简单测试连接mysql

    下载好node.js和通过npm安装好express.js后,先写package.json { "name": "application-name", &quo ...

随机推荐

  1. Delphi的TValue探索(一)

    TValue是Delphi的RTTI系统的重要类型. 经过摸索,发现TValue功能强大,可以实现很多功能.本文章中所有程序采用XE3运行通过. 一.TValue结构 TValue定义在System. ...

  2. python3 安装pyhanlp方法

    直接pip install pyhanlp的时候会提示缺少Microsoft Visual c++环境, 其实没有Microsoft Visual c++环境也是可以的, 可以先安装jpype1,然后 ...

  3. django基本配置项-5

    目录 BASE_DIR 项目路径 DEBUG 模式 ROOT_URLCONF DATABASES 数据库设置 国际化 静态文件 访问静态文件示例 ALLOWED_HOSTS TEMPLATES 模板设 ...

  4. 采用文件方式安装Python第三方库

    由于Python某些第三方库仅提供源代码,通过pip下载文件后无法在Windows系统编译安装,会导致第三方库安装失败.为了解决这类第三方库的安装问题,美国加州大学尔湾分校提供了一个网页,帮助Pyth ...

  5. Grep/find查找文件

    1. 查找secret 函数所在的文件位置grep -rn secret * grep -rn "secret" * 2. find 查找当前目录下,比while2 时间新并且名字 ...

  6. AtCoder Regular Contest 098 F.Donation

    传送门 首先,对于一个点i,进入这个点前必须大于等于Ai,每个点必须捐赠Bi 那么我们可以在每个点最后一次经过的时候再捐赠,这样显然更优 现在我们假设每个点都是最后一次经过的时候捐赠.现在我们把捐赠的 ...

  7. CSS基础part1

    CSS 概述CSS 指层叠样式表 (Cascading Style Sheets),样式定义了如何显示 HTML文件中的标签元素,CSS是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标 ...

  8. python字符串的方法介绍

    博文取自鱼C论坛文章: http://bbs.fishc.com/forum.php?mod=viewthread&tid=38992&extra=page%3D1%26filter% ...

  9. nginx 路由配置

    nginx中location对url匹配: 语法:location [=|~|~*|^~] /uri/ { … } 当匹配中符合条件的location,则执行内部指令:如果使用正则表达式,必须使用~* ...

  10. JMeter常用元器件

    测试计划, 是整个工程的根节点, 可以取别名, 并添加注释, 里面的设置是全局变量: 线程组, 是一组线程的集合, 可以取别名, 并添加注释, 里面的设置只对本线程组有效: HTTP请求, 也就是取样 ...