nodejs 链接数据库,及对数据库操作

导出模块

有两种方式

module.exports 导出模块一个文件只能使用一次 ; 使用多次会产生覆盖, 最后的生效

 function fun(){
     console.log(100);    
 }
 导出模块 统一的导出方式
 module.exports = {
    fun
 }
exports.fun = function(){
    console.log('exports 导出模块');    
}

exports.count = function(){
    console.log('exports 导出模块 test 模块');    
}

 exports.num = 'hello world'

具体的操作
在这里插入图片描述在这里插入图片描述

exports 可以导出多个模块,当我们引入模块式,会得到一个对象集合

{ fun: [Function], test: [Function], num: ‘hello world’ }
可以使用对象解构的形式获取具体的模块

命令行是在引入的文件夹运行的
在这里插入图片描述
模块之间是独立的,可以导出,进行运算也可以引入

注意:如果导入的是自定义模块, url 地址必须用前缀 ./

在同级下引入或者导出模块 都要加 点杠 ./

const {test}=require('./01-module');

在这里插入图片描述 引入的模块都放在文件开头,这是一种规范

导入模块

导入模块就一种方式require(‘’)

const http = require('http');
const url = require('url');

通过服务器对数据库 mysql 进行增删改查

nodejs 链接数据库 需要下载 mysql 包

    1. 下载

      npm install mysql

    1. 引入

      const mysql = require(‘mysql’)

    1. 创建mysql的链接配置项

npm 下载受网络影响(镜像在国外); 一般都会使用 cnpm(镜像源在国内) 代替 npm
使用cnpm 需要全局安装
输入命令行 npm install cnpm -g
当输入这行命令时,就能在这台电脑的任何地方用cnpm代替npm

安装完成后:
cnpm -v 检查是否成功
然后可以使用cnpm 下载安装第三方包
输入命令行 cnpm i mysql

当下载成功后就会引入一个文件夹,链接数据库
在这里插入图片描述

nodejs 链接数据库执行机制

  • 引入数据库模块
const mysql = require('mysql')
  • 数据库链接的配置项
const conn = mysql.createConnection({
    host:'localhost',  // 服务器地址,
    user:'root',  // 用户名
    password:'root', // 密码
    database:'yunmeng' // 链接的数据库名字
})

在这里插入图片描述

  • 建立链接
conn.connect();
  • 执行操作: 增删改查 执行一个方法 query 方法, 当我们执行query()方法时会自动建立链接

query()方法的参数: 第一个参数 sql 是对数据库 的操作

查询语句

 let sql = 'select * from student'

插入语句

let sql = 'insert into student values ("10", "张三", "2020-2-2 10:10:10", "男")' 

修改语句

 let sql = 'update student set Sname = "王五" where Sid = "01" ';

删除语句

 let sql = 'delete from student where Sid="10"';

err 失败
result 成功

如果执行的是查询语句 select , result是一个结果集(数据)
(数组,数组中的每个值是一个对象,每个对象代表一条记录)
如果执行的 insert update delete 语句; result 是一个执行的结果(状态)

当查询语句 select成功时,

 OkPacket这是显示格式,不用理会,不会影响输出,输出时就没有了
 OkPacket {
        fieldCount: 0,
        affectedRows: 1,  // 受影响的行数  通过该字段可以判断操作是否成功
        insertId: 0,
        serverStatus: 2,
        warningCount: 0,
        message: '',
        protocol41: true,
        changedRows: 0  // 改变的函数  执行update 语句时
    }

创建数据库链接,这是具体的流程

const mysql = require('mysql')
//  创建数据库链接
const conn = mysql.createConnection({
    //  数据库链接的配置项
    host:'localhost',  // 服务器地址,
    user:'root',  // 用户名
    password:'root', // 密码
    database:'zuoye' // 链接的数据库名字
})

//  建立链接
conn.connect();

//  执行操作: 增删改查  执行一个方法 query 方法, 当我们执行query()方法时会自动建立链接
query()方法的参数: 第一个参数 sql 
 conn.query(sql, (err, result) => {
    //  err 失败
     result 成功  如果执行的是查询语句 select , result是一个结果集(数据)(数组,数组中的每个值是一个对象,每个对象代表一条记录) 
     如果执行的 insert  update  delete 语句; result 是一个执行的结果(状态) 
    if(err){
        console.log(err);
        return;        
    }
    console.log(result);    
})
 */
 查询语句
 let sql = 'select * from student'
// 插入语句
// let sql = 'insert into student values ("10", "张三", "2020-2-2 10:10:10", "男")' 
//  修改语句
// let sql = 'update student set Sname = "王五" where Sid = "01" ';
//  删除语句
// let sql = 'delete from student where Sid="10"';
//  条件语句 limit   like    order by   group by   聚合函数
 conn.query(sql, (err, result) => {
     if(err){
         console.log(err);
         return;
     }
     console.log(result);   
     /* 
     OkPacket {
        fieldCount: 0,
        affectedRows: 1,  // 受影响的行数  通过该字段可以判断操作是否成功
        insertId: 0,
        serverStatus: 2,
        warningCount: 0,
        message: '',
        protocol41: true,
        changedRows: 0  // 改变的函数  执行update 语句时
    }
     */  
 })
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值