第十一天,Node.js+MySQL数据库

473 阅读3分钟

今天正式开启第二阶段学习,先了解数据库相关知识和Node.js对数据库的操作等。

一、数据库安装

  • 数据库:专门用于存放数据地方。sqlServer,mysql,sqlite
  • 数据库分类:关系型数据库(mysql),非关系型数据库(nosql,mongodb),图谱数据库(大数据建立知识图谱)

1. Mysql下载

dev.mysql.com/downloads/

2. 选择 MySQL Community Server

3. 下载页面

dev.mysql.com/downloads/w…

4. 安装MySQL

注意:

  • 仅安装server-only
  • 选择mysql.5x密码验证

5. 测试是否安装成功

  • 打开mysql8.0 cline client
  • 输入账号密码能够进入数据库

6. 安装navicat等可视化工具

二、Node.js操作MySQL数据库

1.安装mysql库

npm install mysql

2.引入 mysql 模块

// 引入 mysql 模块
var mysql = require('mysql');

3.连接数据库

// 创建与数据库的连接
var connection = mysql.createConnection({
    host     : 'localhost',
    user     : 'root',
    password : '123456',
    // port  : '3306',  //可选可不选,默认端口3306
    database : 'wess' //库名
  });

//建立连接
connection.connect((err) => {
    if(err){
        console.log('连接失败!'+err);
    }else{
        console.log('数据库连接成功!');
    }
});

图片.png

4.创建(增)

  • 创建库
// 创建与数据库的连接

var connection = mysql.createConnection({
    host     : 'localhost',
    user     : 'root',
    password : '123456',
    // port  : '3306',  //可选可不选,默认端口3306
    // database : 'wess' //库名
  });

//建立连接
connection.connect((err) => {
    if(err){
        console.log('连接失败!'+err);
    }else{
        console.log('数据库连接成功!');
    }
});

// 创建库

let sqlGetup = 'create database testadd';//创建testadd库

connection.query(sqlGetup, (err, results) => {
    if (err) throw err; //错误信息
    console.log(results); //结果
    console.log('创建库成功!');
});

图片.png

  • 创建表
// 创建与数据库的连接
var connection = mysql.createConnection({
    host     : 'localhost',
    user     : 'root',
    password : '123456',
    // port: '3306',  //可选可不选,默认端口3306
    database : 'testadd' //库名
  });

//建立连接
connection.connect((err) => {
    if(err){
        console.log('连接失败!'+err);
    }else{
        console.log('数据库连接成功!');
    }
});


// 创建表
let sqlGetup2 = `CREATE TABLE testadd.user  (
    id int NOT NULL AUTO_INCREMENT,
    name varchar(255) NULL,
    pwd varchar(255) NULL,
    PRIMARY KEY (id)
  );`

connection.query(sqlGetup2, (err, results) => {
    if (err) throw err; //错误信息
    console.log(results); //结果
    console.log('创建表成功!');
});

图片.png

5.插入(增)

// 插入
let sqlAdd = 'insert into user (id,name,pwd) values (1,"admin","123456")';

connection.query(sqlAdd, (err, results) => {
    if (err) throw err; //错误信息
    console.log(results); //结果
    console.log('插入数据成功!');
});

图片.png

// 方法二
let sqlAdd = 'insert into user (name,pwd) values (?,?)';//id自动递增,不用写
let addTxt = ['小明','111111']

connection.query(sqlAdd,addTxt, (err, results) => {
    if (err) throw err; //错误信息
    console.log(results); //结果
    console.log('插入数据成功!');
});

图片.png

6.删除(删)

  • 删除表
// 删除表
let sqlDel = 'drop table test1';//删除test1表

connection.query(sqlDel, (err, results) => {
    if (err) throw err; //错误信息
    console.log('删除表成功!'+results); //结果
});

图片.png

  • 删除库(谨慎操作)
//删除库
//谨慎删除

let sqlDel2 = 'drop database testadd';//删除testadd库

connection.query(sqlDel2, (err, results) => {

    if (err) throw err; //错误信息
    console.log(results); //结果
    console.log('删除库成功!');

});
  • 删除指定数据
// 删除数据

let delSql = 'delete from user where id = 2 '; //删除user表id为2的数据

connection.query(delSql, (err, results) => {
    if (err) throw err; //错误信息
    console.log(results); //结果
    console.log('删除数据成功!');
});

图片.png

7.更新(改)

// 更新
let sqlUpdate = 'update user set name = ? ,pwd = ? where id = ?';
let updateTxt = ['大明','222222',1];

connection.query(sqlUpdate,updateTxt, (err, results) => {
    if (err) throw err; //错误信息
    console.log(results); //结果
    console.log('更新数据成功!');
});

图片.png

8.查询(查)

// 查询
let sqlQuery = 'select * from test'; //查询所有内容从test表中

connection.query(sqlQuery, (err, results, fields) => {

    if (err) throw err; //错误信息
    console.log(results); //查询结果
    console.log(fields); //字段信息
    
});

图片.png

数据库必须要掌握的就是:增删改查,其实也不是很难

日期:2021/11/23

学习参考视频:*www.bilibili.com/video/BV1i7…

学习参考文档参考部分相关视频文案和课件,仅供个人学习和记录