mysql

1. SQL 的 SELECT 语法

SELECT 语句用于从表中查询数据。执行的结果被存储在一个结果表中(称为结果集)

2. SQL INSERT INTO 语句

INSERT INTO 语句用于向数据表中插入新的数据行,语法格式如下:

3. SQL UPDATE 语句

Update 语句用于修改表中的数据

 4. SQL DELETE 语句

DELETE 语句用于删除表中的行 

5. SQL WHERE 子句

WHERE 子句用于限定选择的标准。在 SELECTUPDATEDELETE 语句中,皆可使用 WHERE 子句来限定选择的标准。

 可在 WHERE 子句中使用的运算符

 6. SQL AND OR 运算符

AND OR WHERE 子语句把两个或多个条件结合起来

AND 表示必须同时满足多个条件,相当于 JavaScript 中的 && 运算符,例如 if (a !== 10 && a !== 20)

OR 表示只要满足任意一个条件即可,相当于 JavaScript 中的 || 运算符,例如 if(a !== 10 || a !== 20)

7. SQL ORDER BY 子句

ORDER BY 语句用于根据指定的列对结果集进行排序

ORDER BY 语句默认按照升序对记录进行排序,可以使用 ASC 关键字。

如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

8. SQL COUNT(*) 函数

COUNT(*) 函数用于返回查询结果的总数据条数

9. 使用 AS 为列设置别名

如果希望给查询出来的列名称设置别名,可以使用 AS 关键字

在项目中操作Mysql

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

1. 安装 mysql 模块

mysql 模块是托管于 npm 上的第三方模块。它提供了在 Node.js 项目中连接操作 MySQL 数据库的能力。

想要在项目中使用它,需要先运行如下命令,将 mysql 安装为项目的依赖包:

 2. 配置 mysql 模块

// 1. 导入 mysql 模块
const mysql = require('mysql');
// 2. 建立与 mysql 数据库的连接关系
const db = mysql.createPool({
    host: '127.0.0.1', // 数据库的IP地址
    user: 'root', // 数据库的账号
    password: 'admin123', // 数据库的密码
    database: 'my_db_01' // 指定要操作哪个数据库
})

3. 测试 mysql 模块

// 测试 mysql 模块能否正常工作
db.query('select 1', (err, results) => {
    // mysql 模块工作期间报错
    if (err) return console.log(err.messge);
    // 返回[ RowDataPacket { '1': 1 } ] 表示工作正常
    console.log(results);
});

4. 查询数据

// 查询 users 表中所有的数据
const sqlStr = 'select * from users';
db.query(sqlStr, (err, results) => {
    // 查询失败
    if (err) return console.log(err.messge);
    // 查询成功
    // 注意:如果执行的是 select 查询语句 ,则执行的结果是数组
    console.log(results);
})

5. 插入数据

// 插入数据
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('插入成功');
    }
})

6. 更新数据

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

 7. 删除数据

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

8. 标记删除

使用 DELETE 语句,会把真正的把数据从表中删除掉。为了保险起见,推荐使用标记删除的形式,来模拟删除的动作

所谓的标记删除,就是在表中设置类似于 status 这样的状态字段,来标记当前这条数据是否被删除。

当用户执行了删除的动作时,我们并没有执行 DELETE 语句把数据删除掉,而是执行了 UPDATE 语句,将这条数据对应的 status 字段标记为删除即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值