nodejs 链接数据库,第三方mysql模块

导出模块

有两种方式

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 语句时
    }
     */  
 })

猜你喜欢

转载自blog.csdn.net/z18237613052/article/details/114988549
今日推荐