Node.js:连接 MySQL
ylbtech-Node.js:连接 MySQL |
1.返回顶部 |
Node.js 连接 MySQL
本章节我们将为大家介绍如何使用 Node.js 来连接 MySQL,并对数据库进行操作。
如果你还没有 MySQL 的基本知识,可以参考我们的教程:MySQL 教程。
本教程使用到的 Websites 表 SQL 文件:websites.sql。
安装驱动
本教程使用了淘宝定制的 cnpm 命令进行安装:
$ cnpm install mysql
连接数据库
在以下实例中根据你的实际配置修改数据库用户名、及密码及数据库名:
test.js 文件代码:
var mysql = require('mysql'); var connection = mysql.createConnection({host : 'localhost',user : 'root',password : '123456',database : 'test' });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); });
执行以下命令输出就结果为:
The solution is: 2
数据库连接参数说明:
参数 | 描述 |
---|---|
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的配置文件 |
更多说明可参见:https://github.com/mysqljs/mysql
数据库操作( CURD )
在进行数据库操作前,你需要将本站提供的 Websites 表 SQL 文件websites.sql 导入到你的 MySQL 数据库中。
本教程测试的 MySQL 用户名为 root,密码为 123456,数据库为 test,你需要根据自己配置情况修改。
查询数据
将上面我们提供的 SQL 文件导入数据库后,执行以下代码即可查询出数据:
查询数据
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '123456', port: '3306', database: 'test', }); connection.connect();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();
执行以下命令输出就结果为:
$ node test.js --------------------------SELECT---------------------------- [ RowDataPacket { id: 1, name: 'Google', url: 'https://www.google.cm/', alexa: 1, country: 'USA' }, RowDataPacket { id: 2, name: '淘宝', url: 'https://www.taobao.com/', alexa: 13, country: 'CN' }, RowDataPacket { id: 3, name: '菜鸟教程', url: 'http://www.runoob.com/', alexa: 4689, country: 'CN' }, RowDataPacket { id: 4, name: '微博', url: 'http://weibo.com/', alexa: 20, country: 'CN' }, RowDataPacket { id: 5, name: 'Facebook', url: 'https://www.facebook.com/', alexa: 3, country: 'USA' } ] ------------------------------------------------------------
插入数据
我们可以向数据表 websties 插入数据:
插入数据
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '123456', port: '3306', database: 'test', }); connection.connect();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();
执行以下命令输出就结果为:
$ node test.js --------------------------INSERT---------------------------- INSERT ID: OkPacket { fieldCount: 0, affectedRows: 1, insertId: 6, serverStatus: 2, warningCount: 0, message: '', protocol41: true, changedRows: 0 } -----------------------------------------------------------------
执行成功后,查看数据表,即可以看到添加的数据:
更新数据
我们也可以对数据库的数据进行修改:
更新数据
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '123456', port: '3306', database: 'test', }); connection.connect();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();
执行以下命令输出就结果为:
--------------------------UPDATE---------------------------- UPDATE affectedRows 1 -----------------------------------------------------------------
执行成功后,查看数据表,即可以看到更新的数据:
删除数据
我们可以使用以下代码来删除 id 为 6 的数据:
删除数据
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '123456', port: '3306', database: 'test', }); connection.connect();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();
执行以下命令输出就结果为:
--------------------------DELETE---------------------------- DELETE affectedRows 1 -----------------------------------------------------------------
执行成功后,查看数据表,即可以看到 id=6 的数据已被删除:
2.返回顶部 |
3.返回顶部 |
4.返回顶部 |
5.返回顶部 |
6.返回顶部 |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
转载于:https://www.cnblogs.com/storebook/p/8717219.html
Node.js:连接 MySQL相关推荐
- Node.js 连接 MySQL 并进行数据库操作 –node.js 开发指南
Node.js是一套用来编写高性能网络服务器的JavaScript工具包 通常在NodeJS开发中我们经常涉及到操作数据库,尤其是 MySQL ,作为应用最为广泛的开源数据库则成为我们的首选,本篇就来 ...
- node.js连接MySQL操作及注意事项
node.js作为服务端的js运行环境已经出现了有几年了,最近我有个朋友也在做这方面的开发,但是也是刚刚接触,遇到了很多坑.前几天他们在操作数据库的时候出现了点问题,后来我们一起看了看,其实都是nod ...
- Node.js笔记-node.js连接MySQL与增删改查
最近在看一个开源项目,项目用的是node.js,在此学习下他的连接mysql与增删改查. 安卓mysql包: npm install mysql 程序运行截图如下: D:\node\content\n ...
- 运用node.js连接MySQL数据库
1.首先,必须下载node.js,有node环境 2.在你所选文件夹终端中执行 npm install mysql安装MySQL模块 3.创建一个js文件(执行以下代码) // 1. 导入 mysql ...
- 二十九、Node.js连接Mysql和MongoDB数据库CURD操作
@Author:Runsen @Date:2020/6/10 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...
- Node.js 连接 MySQL 插入 TEXT 类型报错问题
由于开发需要存储大量文本(其实是一个结构化对象字符串),考虑到 char 以及 varchar 都不够大,所以打算用 TEXT 类型,顺便记一下 TEXT.MEDIUMTEXT 以及 LONGTEXT ...
- Node.js 连接 MySQL 并进行数据库操作
Node.js是一套用来编写高性能网络服务器的JavaScript工具包 代码片段(6) [代码] 安装 node-mysql view source print? 1 $ npm install m ...
- Node.js连接MySQL
将提供的 Websites 表 SQL 文件websites.sql 导入到 MySQL 数据库中. 发现问题: 在本地数据库路径中找到,有:C:\ProgramData\MySQL\MySQL Se ...
- 前端到全栈 -- js连接MYSQL数据库
前端到全栈–node.js连接MYSQL数据库 前置条件: 安装node环境 安装mysql数据库 这里建议使用webstorm来写js 1.创建一个文件夹(这里以server为文件夹名举例),在命令 ...
- 跟李宁老师做项目:小程序版网上商城(Node.js + Express + MySQL)-李宁-专题视频课程...
跟李宁老师做项目:小程序版网上商城(Node.js + Express + MySQL)-8799人已学习 课程介绍 本课程采用的技术包括小程序开发.Node.js.Express和M ...
最新文章
- uva1507(状态压缩+dfs)
- php trim用法,php trim函数怎么用?
- BZOJ 2301 - Problem b(莫比乌斯反演+容斥)
- 横岗无线充android,史上第一款“真无线充”,真正实现随时随地无线充电!
- 你有过什么令你难忘的约会经历?
- iOS 又出重大Bug!一秒搞崩 iPhone 的网络连接功能
- 视频|光学3D测量技术原理及应用
- signature=0fa666ae90cad1ed3ef6de6b7db4e5a3,A meta-analysis on correlations of
- 高仿国美在线 顶部实现
- 又一个新概念——云编程(Cloud programming)
- 软件测试黑马程序员课后答案_(完整版)软件测试技术基础课后习题答案
- 车载以太网第二弹 | 测试之实锤-IOP测试实践
- 包裹侠查快递单号_包裹侠快递查询
- 微信小程序,引入WeUI组件库 扩展组件库
- javascript高级编程教程,javascript基础入门案例
- 10种方法帮助网络管理员管理和维护网络
- oracle 与赛门铁克,赛门铁克Oracle启动Veritas数据中心认证
- Android端适老化与无障碍改造
- 微信小程序打卡活动实现PHP,微信小程序实现打卡日历功能
- FFmpeg源代码简单分析-通用-avio_open2()