azkaban零基础学习(azkaban 教程)
742
2022-05-30
一、创建项目
(1)使用WebStorm创建node-mysql项目
(2)创建完成后,项目会自动打开,如下图
二、node.js使用mysql
1、安装mysql模块
Node.js连接MySQL使用的是mysql模块,在WebStorm的Terminal中使用npm安装mysql:
npm install mysql
安装完成如下图:
2、连接数据库
mysql模块通过createConnection()方法创建MySQL连接。如下代码就和服务器172.16.2.105的MySql数据库node_test建立了连接。
测试代码:
//引入mysql模块 const mysql = require('mysql'); //创建连接 const connection = mysql.createConnection({ host: '172.16.2.105', user: 'root', password: 'root', database: 'node_test' }); //连接mysql connection.connect(function (err) { //连接出错的处理 if (err) { console.error('连接错误:' + err.stack); return; } console.log('连接成功,线程ID为:' + connection.threadId); });
测试结果:
代码说明:
createConnection()方法用于创建连接,connection.connect()方法用于判断连接是否成功。createConnection()方法用于接受一个json对象参数。json对象主要使用的字段有:
host:需要连接数据库地址,默认为localhost port:连接地址端口默认为3306 user:连接MySQL时使用的用户名 password:用户名对应的密码 database:所需要连接的数据库的名称
3、关闭数据库连接
(1)通过end()方法可以正常地终止一个连接
connection.end(function (err) { console.log(err); });
(2)使用destroy()方法也可以终止连接。该方法会立即终止底层套接字,不会触发更多的事件和回调函数。
connection.destroy();
4、保存数据
连接MySQL成功后,就需要通过Node.js来操作数据库了。mysql模块提供了一个名为query()的方法,可以用来执行SQL语句,从而对MySQL数据库进行相应的操作。
测试代码:
//引入mysql模块 const mysql = require('mysql'); //创建连接 const connection = mysql.createConnection({ host: '172.16.2.105', user: 'root', password: 'root', database: 'node_test' }); //连接mysql connection.connect(); const addSql = 'insert into users(name,age,sex) values(?,?,?)'; const addSqlParams = ['张三', 18, '男']; // 添加数据 connection.query(addSql, addSqlParams, function (err, result) { if (err) { console.log('数据保存失败:', err.message); return; } console.log('数据保存成功:', result); }); connection.end();
测试结果:
提示保存成功,查看数据库,可以看到数据已经保存到users表中:
代码说明:
query方法可以根据不同的sql执行不同的操作,除了新增数据外也支持修改、查询和删除数据。
4、查询数据
使用mongoose可以查询mongodb相应的数据。如下代码可以将users这个collection中的所有文档查询出来:
测试代码1:
//引入mysql模块 const mysql = require('mysql'); //创建连接 const connection = mysql.createConnection({ host: '172.16.2.105', user: 'root', password: 'root', database: 'node_test' }); //连接mysql connection.connect(); const selectSql = 'select name,age,sex from users'; // 添加数据 connection.query(selectSql, function (err, result) { if (err) { console.log('数据查询失败:', err.message); return; } console.log('数据查询成功,结果集为:', result); }); connection.end();
测试结果1:
代码说明1:
这段代码通过sql查询users表中所有数据,也可以给sql添加查询条件进行精确查询,代码如下:
测试代码2:
//引入mysql模块 const mysql = require('mysql'); //创建连接 const connection = mysql.createConnection({ host: '172.16.2.105', user: 'root', password: 'root', database: 'node_test' }); //连接mysql connection.connect(); const selectSql = 'select name,age,sex from users where name=?'; const selectSqlParams = ['张三']; // 添加数据 connection.query(selectSql, selectSqlParams, function (err, result) { if (err) { console.log('数据查询失败:', err.message); return; } console.log('数据查询成功,结果集为:', result); }); connection.end();
运行这段代码只查询出name是”张三“的数据:
5、修改数据
测试代码:
//引入mysql模块 const mysql = require('mysql'); //创建连接 const connection = mysql.createConnection({ host: '172.16.2.105', user: 'root', password: 'root', database: 'node_test' }); //连接mysql connection.connect(); const updateSql = 'update users set name=?,age=?,sex=? where id=?'; const updateSqlParams = ['赵六', 23, '男', 3]; // 添加数据 connection.query(updateSql, updateSqlParams, function (err, result) { if (err) { console.log('数据更新失败:', err.message); return; } console.log('数据更新成功:', result); }); connection.end();
测试结果:
通过Navicat查看数据库,数据已经更新:
6、删除数据
测试代码:
//引入mysql模块 const mysql = require('mysql'); //创建连接 const connection = mysql.createConnection({ host: '172.16.2.105', user: 'root', password: 'root', database: 'node_test' }); //连接mysql connection.connect(); const deleteSql = 'delete from users where id=?'; const deleteSqlParams = [3]; // 添加数据 connection.query(deleteSql, deleteSqlParams, function (err, result) { if (err) { console.log('数据删除失败:', err.message); return; } console.log('数据删除成功:', result); }); connection.end();
测试结果:
通过Navicat查看数据库,id为3的数据已经删除:
JavaScript MySQL SQL 数据库
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。