nodejs连接数据库

自闭症网瘾萝莉.ら 提交于 2021-01-30 11:56:35

1、下载模块

使用npm下载mysql模块

npm install mysql --save    //--save代表自动把模块和版本号添加到devdependencies部分

2、引入mysql模块

//声明一个变量用来接收引入模块
var mysql = require('mysql')

3、创建一个数据库连接

//声明一个变量接收
var connection = mysql.createConnection({
   
   
    host		:'localhost',	//主机域名,默认是localhost
    port		:'3306',	    //端口号,(可以省略)
    user		:'root',       //用户名
    password	:'root',	   //密码
    database	:'sys'		   //数据库名称
})

4、进行连接(也可以省略)

//connection是创建数据库连接的变量
connection.connect()

5、执行增删改查SQL语句

首先复习一下SQL语句的增删改查

insert into 表名 values(字段1,字段二,。。。。);
delete from 表名 where 条件;(一定要加条件否则很危险)
update 表名 set 字段一 = new_字段内容,字段二 = new_字段内容,... where 条件(一定要加条件否则很危险)
select * from 表名 where 条件;

开始写node.js的增删改查,大体跟php差不太多

注释:query(sql,bind,function(){}) 执行语句的函数,里面有三个参数,第一个参数代表SQL语句,第二个参数代表,绑定sql预处理参数,(不懂sql预处理请自行百度),第三个参数代表,回调函数(callback)。

需要使用sql预处理,加第二个参数,不需要预处理则不用写第二个参数

  • 插入数据(增)

    //connection是创建数据库连接的变量
    //声明一个变量用来存储SQL语句
    var sql = 'insert into user values(NUll,?,?)'//NULL代表自增的id值,?代表SQL预处理占位符,几个参数几个?
    //声明一个变量用来存储SQL预处理绑定参数(类型为数组类型)
    var sqlbind = ['csdn','www.csdn.net']//根据数据表中的字段类型决定要不要加引号
    connection.query(sql,sqlbind,function(error,results){
         
         
        //函数中写SQL执行完之后需要执行的代码
        //error代表错误信息,如果没有错误,error为null
        //results代表返回值
    })
    
  • 删除数据(删)

    //声明一个变量用来存储SQL语句
    var sql = 'delete from user where id = ?'//NULL代表自增的id值,?代表SQL预处理占位符,几个参数几个?
    //声明一个变量用来存储SQL预处理绑定参数(类型为数组类型)
    var sqlbind = [1]//根据数据表中的字段类型决定要不要加引号
    connection.query(sql,sqlbind,function(error,results){
         
         
        //函数中写SQL执行完之后需要执行的代码
        //error代表错误信息,如果没有错误,error为null
        //results代表返回值
    })
    
  • 更新数据(改)

    //声明一个变量用来存储SQL语句
    var sql = 'update user set name = ?,url = ? where id = ?'//NULL代表自增的id值,?代表SQL预处理占位符,几个参数几个?
    //声明一个变量用来存储SQL预处理绑定参数(类型为数组类型)
    var sqlbind = ['百度','www.baidu.com']//根据数据表中的字段类型决定要不要加引号
    connection.query(sql,sqlbind,function(error,results){
         
         
        //函数中写SQL执行完之后需要执行的代码
        //error代表错误信息,如果没有错误,error为null
        //results代表返回值
    })
    
  • 查取数据(查)

    //声明一个变量用来存储SQL语句
    var sql = 'select * from user'//NULL代表自增的id值,?代表SQL预处理占位符,几个参数几个?
    connection.query(sql,function(error,results){
         
         
        //函数中写SQL执行完之后需要执行的代码
        //error代表错误信息,如果没有错误,error为null
        //results代表返回值(返回的是查取的数据)
    })
    

6、关闭数据库连接

//connection是创建数据库连接的变量
connection.end()
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!