十七、Node.js 操作MySQL数据库

         在讲Node.js中引入mysql模块之前先讲一下关于MySQL数据库,首先是关于MySQL数据库的安装和mysql服务以及对mysql命令和可视化工具的一个基本使用;那么在这里已经准备好了关于MySQL数据库的内容了:


MySQL 数据库安装详细 :  MySQL数据库安装超级详细教程

MySQL 数据库常用命令:   MySQL数据库 —— 常用语句

MySQL 数据库可视化工具安装以及使用:      1. SQLyog        2. Navicat for MySQL 


        在Node.js中,模块mysql是实现MySQL协议的JavaScript客户端,Node.js程序通过与MySQL数据之间建立连接,通过该模块可执行数据的增删改查,那么在使用之前先来引入mysql模块:

引入mysql模块

引入之前先通过 npm包管理器 下载mysql模块;

npm install mysql;

引入mysql模块;

const mysql = require('mysql');

创建数据库连接

createConnection( ) —— 创建连接对象

        通过 createConnection( ) 方法建立与指定服务器上的数据库进行连接的对象;需要设置如下的一些参数:主要还是这四个host ,user ,password ,database ;

属性

含义

host

连接数据库服务器名(默认为localhost)

user

MySql服务器连接用户名

password

MySql服务器登录密码

database

要连接的数据库

port

连接端口号(默认为3306)

charset

连接使用的字符编码(默认UTF8_GENERAL_CI)

timezone

连接使用的时区(默认local)

  connect( ) —— 连接数据库

属性 功能

connect()

连接数据库
 

query(sqlString,  [values, ] callback)

 

对数据库中数据进行操作(增删改查)

 

--sqlString-要执行的SQL语句

 

--values-{Array},可选参数,应用到查询占位符的值

 

--callback-回调函数 function  (error, result, fields) {}

end() 在确保当前正在处理的SQL语句正常完成后断开连接

destroy()

立即结束连接,不管当前是否正在执行任务

属性

含义

threadId

当前连接线程Id

数据库服务开启:

数据库用户密码以及数据库准备:

 编写代码:

const mysql = require('mysql');
const { connect } = require('./routes');
const conn = mysql.createConnection({
    host:'localhost',   
    user:'root',  
    password:'root',
    database:'syan'
})

conn.connect(function(err){
    if(err){ console.log("连接失败"); }
    console.log("连接成功","连接线程ID:"+conn.threadId);
})

end( )  —— 断开数据库连接

conn.end();

如果在后续接上断开数据库连接的话,在输出连接成功之后就会断开结束;

 数据库操作

        通过query()方法进行数据库操作,参数是sql语句,还有callback回调;callback常用有两个参数,一个是err,另外一个是result;开篇已经提供了数据库一些常用命令操作的篇目,这里对于数据库命令的内容不再过多的讲述;

下面来编写查询该数据库中的sen表:

const mysql = require('mysql');
const conn = mysql.createConnection({
    host:'localhost',   
    user:'root',  
    password:'root',
    database:'syan'
})

conn.connect(function(err){
    if(err){ console.log("连接失败"); }
    console.log("连接成功","连接线程ID:"+conn.threadId);
})

// 查询表数据sql语句 :SELECT * FROM sen;
const sql = "SELECT * FROM sen;" 
conn.query(sql,function(err,result){
    if(err){ console.log("sql语句执行异常;") }
    console.log("成功",result);
})

// 断开连接
conn.end();

query() 

 增

        使用query()方法为数据库中添加一条数据;数据内容是(sName:'YAN',sAge:'18');

1 . 编写代码

const mysql = require('mysql');
const conn = mysql.createConnection({
    host:'localhost',   
    user:'root',  
    password:'123456',
    database:'syan'
})

// 插入表数据sql语句 :INSERT INTO sen VALUES (?,?)
// ? 表示一条数据当中有几个字段(sName,sAge)
conn.connect(function(err){
    if(err){ console.log("连接失败"); }
    console.log("连接成功","连接线程ID:"+conn.threadId);
})

const sql = "INSERT INTO sen VALUES (?,?)";
const sqlParams = ['YAN','18'];

conn.query(sql,sqlParams,function(err,result){
    if(err){ console.log("sql语句执行异常;"); }
    console.log("成功",result);
})
// 断开连接
conn.end();

         可以通过查询语句进行查看,也可以通过图形化工具查看数据变化会更加方便写;

         使用query()方法为数据库中修改一条数据;修改数据内容是(sName:'LIN',sAge:'18');

1 .编写代码:

const mysql = require('mysql');
const conn = mysql.createConnection({
    host:'localhost',   
    user:'root',  
    password:'123456',
    database:'syan'
})

conn.connect(function(err){
    if(err){ console.log("连接失败"); }
    console.log("连接成功","连接线程ID:"+conn.threadId);
})

// 修改表数据sql语句 :UPDATE SET sAge = '18' WHERE sName = 'LIN'
// 将sName为'LIN'的sAge改为18;
const sql = "UPDATE sen SET sAge = ? WHERE sName = ?";
const sqlParams = ['18','LIN'];
conn.query(sql,sqlParams,function(err,result){
    if(err){ console.log("sql语句执行异常;"); }
    console.log("成功",result);
})

// 断开连接
conn.end();

 删

        使用query()方法为数据库中删除一条数据;删除数据内容是(sName:'ZHENG',sAge:'18');

1. 编写代码

const mysql = require('mysql');
const conn = mysql.createConnection({
    host:'localhost',   
    user:'root',  
    password:'123456',
    database:'syan'
})

conn.connect(function(err){
    if(err){ console.log("连接失败"); }
    console.log("连接成功","连接线程ID:"+conn.threadId);
})

// 删除表数据sql语句 DELETE FROM sen WHERE sName = 'ZHENG' AND sAge = 18;
// 删除一条数据;
const sql = "DELETE FROM sen WHERE sName = ? AND sAge = ?";
const sqlParams = ['ZHENG','18'];
conn.query(sql,sqlParams,function(err,result){
    if(err){ console.log("sql语句执行异常;"); }
    console.log("成功",result);
})

// 断开连接
conn.end();

        以上就是关于在Node中引入mysql数据库模块的一个基本使用,通过createConnection() 方法建立与数据库相连接的对象,再通过这个对象使用connect()方法进行数据库的连接,连接之后通过query()方法操作数据库,操作完用end()方法进行数据库的断开,那么以上就是本篇的全部内容,在下一篇内容当中会来讲到关于在Express框架中引入MySQL数据库模块的使用,感谢大家的支持!

猜你喜欢

转载自blog.csdn.net/weixin_52203618/article/details/128223357
今日推荐