node学习笔记--MySQL

使用 SQL 管理数据库


1. 什么是 SQL


        SQL(英文全称:Structured Query Language)是结构化查询语言,专门用来访问和处理数据库的编程语言。能够让
我们以编程的形式,操作数据库里面的数据。
三个关键点:
① SQL 是一门数据库编程语言
② 使用 SQL 语言编写出来的代码,叫做 SQL 语句
③ SQL 语言只能在关系型数据库中使用(例如 MySQL、Oracle、SQL Server)。非关系型数据库(例如 Mongodb)
不支持 SQL 语言

2. SQL 能做什么

        

① 从数据库中查询数据
② 向数据库中插入新的数据
③ 更新数据库中的数据
④ 从数据库删除数据
⑤ 可以创建新数据库
⑥ 可在数据库中创建新表
⑦ 可在数据库中创建存储过程、视图
⑧ etc...

3. SQL 的学习目标
        

重点掌握如何使用 SQL 从数据表中:
查询数据(select) 、插入数据(insert into) 、更新数据(update) 、删除数据(delete)
额外需要掌握的 4 种 SQL 语法:
where 条件、and 和 or 运算符、order by 排序、count(*) 函数

在项目中操作数据库的步骤

  ① 安装操作 MySQL 数据库的第三方模块(mysql)
② 通过 mysql 模块连接到 MySQL 数据库
③ 通过 mysql 模块执行 SQL 语句

        1.安装 mysql 模块

     

mysql 模块是托管于 npm 上的第三方模块。它提供了在 Node.js 项目中连接和操作 MySQL 数据库的能力。
想要在项目中使用它,需要先运行如下命令,将 mysql 安装为项目的依赖包:

 npm i mysql

        2.测试mysql是否能够正常工作

        

// 1、导入mysql模块
    const mysql =require('mysql')
    //2、建立与MySql数据库的连接
    const db=mysql.createPool({
        host:'127.0.0.1',      //数据库的ip地址
        user:"root",          //登录数据库的账号
        password:'123',      //登录数据库的密码
        database:"my_db"    //指定要操作那个数据库
    })
    //测试mysql能否正常工作
    db.query('SELECT 1',(err,results)=>{
       
        if(err) return console.log(err.message);
        console.log(results);
    })

    // 插入数据
    const user={username:'batman2',password:'sb123'}
    const insertUserSql='insert into users(username,password) values(?,?)'
    db.query(insertUserSql,[user.username,user.password],(err,results)=>{
        if(err) return console.log(err.message); //失败
        console.log(results);
         // 成功了
        // 注意:如果执行的是 insert into 插入语句,则 results 是一个对象
        // 可以通过 affectedRows 属性,来判断是否插入数据成功
        if(results.affectedRows===1){
            console.log("插入成功");
        }
    })


// 演示插入数据的便捷方式
 const user = { username: 'Spider-Man2', password: 'pcc4321' }
// 定义待执行的 SQL 语句
const sqlStr = 'insert into users set ?'
// 执行 SQL 语句
db.query(sqlStr, user, (err, results) => {
  if (err) return console.log(err.message)
  if (results.affectedRows === 1) {
    console.log('插入数据成功')
  }
}) 


//更新用户信息

    const user = { id: 6, username: 'aaa', password: '000' }
// 定义 SQL 语句
const sqlStr = 'update users set username=?, password=? where id=?'
// 执行 SQL 语句
db.query(sqlStr, [user.username, user.password, user.id], (err, results) => {
  if (err) return console.log(err.message)
  // 注意:执行了 update 语句之后,执行的结果,也是一个对象,可以通过 affectedRows 判断是否更新成功
  if (results.affectedRows === 1) {
    console.log('更新成功')
  }
}) 


// 演示更新数据的便捷方式
 const user = { id: 6, username: 'aaaa', password: '0000' }
// 定义 SQL 语句
const sqlStr = 'update users set ? where id=?'
// 执行 SQL 语句
db.query(sqlStr, [user, user.id], (err, results) => {
  if (err) return console.log(err.message)
  if (results.affectedRows === 1) {
    console.log('更新数据成功')
  }
}) 

// 删除 id 为 5 的用户
const sqlStr = 'delete from users where id=?'
//如果只需要传一个值的话就不用数组形式

db.query(sqlStr, 5, (err, results) => {
  if (err) return console.log(err.message)
  // 注意:执行 delete 语句之后,结果也是一个对象,也会包含 affectedRows 属性
  if (results.affectedRows === 1) {
    console.log('删除数据成功')
  }
}) 

// 标记删除
const sqlStr = 'update users set status=? where id=?'
db.query(sqlStr, [1, 6], (err, results) => {
  if (err) return console.log(err.message)
  if (results.affectedRows === 1) {
    console.log('标记删除成功')
  }
})

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值