npm包管理工具和mysql数据库

介绍

npm(node package manage)node 包 管理器。管理node包的工具。

包是什么?包就是模块。(包约等于模块,一个包可以包括一个或多个模块)

npm这个工具,在安装 node 的时候,就已经安装到你的计算机中了。

命令行中执行: npm -v ,如果看到版本号,说明安装成功了。

什么是第三方模块

非node自带的模块。也不是自定义的模块。

是别人写的模块,然后发布到npm网站,我们可以使用npm工具来下载安装别人写的模块。

第三方模块,都是在node核心模块的基础之上,封装了一下,实现了很多非常方便快速简洁的方法。

npm的作用

管理node模块的工具。

本地模块

安装本地模块,需要使用npm工具初始化。

npm init -y
# 或
npm init
# 然后一路回车

//初始化之后,会在项目目录中生成 package.json 的文件。

安装卸载第三方模块的命令

下载安装第三方模块

# 正常的下载安装
npm install 模块名

# 简写install为i
npm i 模块名

# 一次性安装多个模块
npm i 模块名 模块名 模块名

卸载模块

npm uninstall 模块名
npm un 模块名
npm un 模块名 模块名 模块名

怎样使用第三方模块

和使用内置模块一样,需要使用 require 加载模块

moment 模块

// moment是一个专门处理时间日期的模块

// 使用模块之前,必须加载
const moment = require('moment');

// 设置语言环境
moment.locale('zh-cn', {
  months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
  monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
  weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
  weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),
  weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
  longDateFormat: {
    LT: 'HH:mm',
    LTS: 'HH:mm:ss',
    L: 'YYYY-MM-DD',
    LL: 'YYYY年MM月DD日',
    LLL: 'YYYY年MM月DD日Ah点mm分',
    LLLL: 'YYYY年MM月DD日ddddAh点mm分',
    l: 'YYYY-M-D',
    ll: 'YYYY年M月D日',
    lll: 'YYYY年M月D日 HH:mm',
    llll: 'YYYY年M月D日dddd HH:mm'
  },
  meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
  meridiemHour: function (hour, meridiem) {
    if (hour === 12) {
      hour = 0;
    }
    if (meridiem === '凌晨' || meridiem === '早上' ||
      meridiem === '上午') {
      return hour;
    } else if (meridiem === '下午' || meridiem === '晚上') {
      return hour + 12;
    } else {
      // '中午'
      return hour >= 11 ? hour : hour + 12;
    }
  },
  meridiem: function (hour, minute, isLower) {
    const hm = hour * 100 + minute;
    if (hm < 600) {
      return '凌晨';
    } else if (hm < 900) {
      return '早上';
    } else if (hm < 1130) {
      return '上午';
    } else if (hm < 1230) {
      return '中午';
    } else if (hm < 1800) {
      return '下午';
    } else {
      return '晚上';
    }
  },
  calendar: {
    sameDay: '[今天]LT',
    nextDay: '[明天]LT',
    nextWeek: '[下]ddddLT',
    lastDay: '[昨天]LT',
    lastWeek: '[上]ddddLT',
    sameElse: 'L'
  },
  dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
  ordinal: function (number, period) {
    switch (period) {
      case 'd':
      case 'D':
      case 'DDD':
        return number + '日';
      case 'M':
        return number + '月';
      case 'w':
      case 'W':
        return number + '周';
      default:
        return number;
    }
  },
  relativeTime: {
    future: '%s内',
    past: '%s前',
    s: '几秒',
    ss: '%d秒',
    m: '1分钟',
    mm: '%d分钟',
    h: '1小时',
    hh: '%d小时',
    d: '1天',
    dd: '%d天',
    M: '1个月',
    MM: '%d个月',
    y: '1年',
    yy: '%d年'
  },
  week: {
    // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
    dow: 1, // Monday is the first day of the week.
    doy: 4  // The week that contains Jan 4th is the first week of the year.
  }
});

// console.log(moment().format("YYYY-MM-DD HH:mm:ss"))
// console.log(moment().format("L"))

// console.log(moment([2021, 0, 22, 09, 30, 25]).fromNow())
// console.log(moment(13432542333).fromNow())
console.log(moment('2020-11-10T15:49:05.000Z').fromNow())

jsonwentoken模块

jsonwebtoken模块的作用是生成token字符串。

// 加载模块
const jwt = require('jsonwebtoken');

// console.log(jwt.sign(必填, 必填, 可选, 可选));

// Bearer 不属于token的内容,只是表示token的格式。

// jwt.sign()
// 1. 参数1:对象,要在token保存的数据
// 2. 参数2:加密的字符串,类似于一个钥匙。随便填;后续解密token的时候,需要使用它
// 3. 参数3:对象,配置项,比如配置一下过期时间
// 4. 参数4:生成token后的回调函数

// console.log('Bearer ' + jwt.sign(
//   { id: 1, username: 'zs' },
//   'shhhhh',
//   { expiresIn: '2h' },
//   // (err, abc) => console.log(abc)
// ));


jwt.sign({ id: 1 }, 'sdfsdf', { expiresIn: '2h' }, (err, result) => {
  if (err) throw err;
  console.log('Bearer ' + result);
});

nodemon模块

安装命令

npm i nodemon -g

nodemon的作用:

代替node命令,启动服务的工具

当更改代码之后,nodemon会自动重启服务。

MySQL数据库

什么是数据库

数据库 (database) 是用来组织、存储和管理数据的仓库

常见的数据库及分类

最常见的数据库

MySQL 数据库

Oracle 数据库(收费)

SQL Server 数据库(收费)

Mongodb 数据库(Community + Enterprise)

其中,MySQL、Oracle、SQL Server 属于传统型数据库(又叫做:关系型数据库 或 SQL 数据库),这三者的 设计理念相同,用法比较类似。

安装MySQL及Navicat

 安装phpStudy,或者wampserver。二选一

安装操作MySQL的图形化工具(Navicat)

导入导出数据表

导出

在数据表名字上,比如 student 上,右键 --> 转储SQL文件 --> 结构和数据,选择保存位置保存即可。

导入

数据库名上面 --> 右键 --> 运行SQL文件 --> 选择SQL文件,运行即可完成导入

导入注意事项,表名不能重复,如果重复会发生覆盖。

SQL语句

查询数据

-- 基本的查询语法
SELECT 字段1,字段2,... FROM 表名
-- 不区分大小写
select 字段,字段,.... from 表名

-- 查询所有的字段
SELECT * FROM 表名

-- 带条件的查询
SELECT * FROM 表名 [WHERE 条件] [ORDER BY 排序字段[, 排序字段]] LIMIT [开始位置,]长度

.....-- 基本的查询语法
SELECT 字段1,字段2,... FROM 表名
-- 不区分大小写
select 字段,字段,.... from 表名

-- 查询所有的字段
SELECT * FROM 表名

-- 带条件的查询
SELECT * FROM 表名 [WHERE 条件] [ORDER BY 排序字段[, 排序字段]] LIMIT [开始位置,]长度

.....

带条件的查询

-- 查询id小于10的学生
 select * from student where 条件
 select * from student where id<10

-- 查询id小于20的女学生
 select * from student where id<20 and sex='女'

-- 查询年龄大于等于20小于等于30的学生
 select * from student where age>=20 and age<=30

对查询结果排序

升序 asc

降序 desc

-- 对查询结果进行排序
-- 查询所有的同学,并按年龄升序排序
 select * from student order by age asc
 select * from student order by age

-- 查询所有的同学,按年龄降序排序
 select * from student order by age desc

-- 查询所有的同学,按年龄降序排序,如果年龄相同,按id降序排序
 select * from student order by age desc, id desc

-- 如果SQL中既有条件、又有排序,必须先写条件
-- 查询所有的男同学,并按年龄升序排序
select * from student where sex='男' order by age asc

添加数据

语法: insert into 表名 set 字段=值, 字段=值

-- insert into 表名 set 字段=值, 字段=值, ....

insert into student set age=30, sex='男', username='李青'

修改数据

语法:update 表名 set 字段=值, 字段=值,...... where 修改条件

-- 修改id为11的数据
update student set age=20, sex='女' where id=11

-- 没有指定条件,全部的数据都会修改
update student set age=25, sex='女'

删除数据

语法:delete from 表名 where 删除条件

-- 删除一条数据
delete from student where id=11

-- 删除满足条件的数据
delete from student where id>6

-- 没有指定条件,删除全部数据
delete from student

SQL小结

查询 (select 字段, 字段,... from 表名 [where 条件] [order by 字段 排序规则]

新增(insert into 表名 set 字段=值, 字段=值, ....

修改(update 表名 set 字段=值, 字段=值, .... [where 条件]

删除(delete from 表名 [where 条件]

mysql模块是一个第三方模块,专门用来操作MySQL数据库。 可以执行增删改查操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 微信小程序可以通过调用后端 API 来链接 MySql 数据库。在小程序端使用 wx.request 或 wx.cloud.callFunction 等 API 发起请求,在后端使用 Node.js 和一个数据库连接库(如mysql2)来操作数据库。 ### 回答2: 微信小程序与MySQL数据库的连接主要是通过后端服务器进行实现。 首先,我们需要搭建一个后端服务器,可以选择Node.js、Java、PHP等后端技术来实现。在服务器上搭建好MySQL数据库,并创建相应的数据表。 然后,在小程序中通过调用后端服务器的接口来实现与MySQL数据库的交互。具体步骤如下: 1. 首先,在小程序中编写前端页面和逻辑代码,获取用户输入的数据或操作,并将数据发送给后端服务器。 2. 小程序使用wx.request()函数向后端服务器发送HTTP请求,请求后端服务器提供的接口。 3. 后端服务器接收到请求后,解析请求数据,并对数据进行验证和处理。 4. 后端服务器使用数据库连接库,例如Java中的JDBC、Node.js中的mysql模块等,与MySQL数据库建立连接。 5. 建立连接后,后端服务器将接收到的数据存储到MySQL数据库中,可以使用SQL语句将数据插入到相应的表中。 6. 后端服务器将处理结果返回给小程序,将查询结果或插入结果等数据封装成JSON格式后返回给小程序。 7. 小程序接收到后端服务器返回的数据后,根据需求进行展示或执行相应的操作。 需要注意的是,为了保证数据传输的安全性,需要在后端服务器中进行参数的验证和过滤,以防止SQL注入等安全问题的发生。此外,还需要注意数据库的设计和优化,合理使用索引、表关联等技术来提升数据查询和插入的性能。 综上所述,通过搭建后端服务器,可以实现微信小程序与MySQL数据库的连接,实现数据的存储和交互。 ### 回答3: 微信小程序是一种基于微信平台的应用程序,而MySQL是一种广泛使用的关系型数据库管理系统。如何将微信小程序连接到MySQL数据库,可以按照以下步骤进行操作。 首先,在小程序开发工具中创建一个新的小程序项目,并通过AppID进行关联。 接下来,需要在小程序的后台服务器上创建一个接口,用于与MySQL数据库进行交互。可以使用一些框架,例如Node.js或PHP来搭建服务器。这个接口的作用是提供数据的读写操作,将小程序中的请求转发到MySQL数据库。 然后,需要在服务器端安装MySQL驱动以及相应的依赖。根据具体的编程语言和框架,安装方法可能有所不同。通常,可以使用npm或composer等管理工具进行安装。 接下来,需要在服务器端建立与MySQL数据库的连接。在服务器端的代码中,使用数据库驱动连接到MySQL数据库,并且提供相关的数据库连接配置,例如主机地址、用户名、密码和数据库名称。 然后,在小程序的前端代码中发送请求,并通过接口将数据传递到服务器端。可以使用小程序的内置API,如wx.request方法,向服务器发送HTTP请求。 最后,在服务器端的接口中,接收到小程序发送的请求后,进行相应的数据读写操作。通过执行数据库操作语句,如查询、插入、更新或删除等,与MySQL数据库进行交互,并将结果返回给小程序。 需要注意的是,在连接MySQL数据库时,要确保数据库的安全性。可以使用凭证或者对接口进行权限验证,以防止恶意操作和数据泄露。 综上所述,通过在小程序中创建接口,搭建服务器,连接MySQL数据库,并进行相关的数据读写操作,可以实现微信小程序与MySQL数据库的连接。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值